From ee1599de5dd4fd0ea0f39f0df343facdaa20c34c Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 28 Nov 2015 02:10:26 +0000 Subject: [PATCH] Remove saplings, doors, stairs, tnt, cactus growing --- mods/default/aliases.lua | 1 - mods/default/crafting.lua | 18 - mods/default/functions.lua | 22 - mods/default/mapgen.lua | 22 +- mods/default/nodes.lua | 69 --- mods/default/trees.lua | 48 -- mods/doors/README.txt | 46 -- mods/doors/depends.txt | 2 - mods/doors/init.lua | 502 ------------------ mods/doors/sounds/doors_door_close.ogg | Bin 20157 -> 0 bytes mods/doors/sounds/doors_door_open.ogg | Bin 11915 -> 0 bytes mods/doors/textures/doors_brown.png | Bin 109 -> 0 bytes mods/doors/textures/doors_glass.png | Bin 128 -> 0 bytes mods/doors/textures/doors_glass_a.png | Bin 158 -> 0 bytes mods/doors/textures/doors_glass_b.png | Bin 158 -> 0 bytes mods/doors/textures/doors_glass_side.png | Bin 82 -> 0 bytes mods/doors/textures/doors_grey.png | Bin 105 -> 0 bytes mods/doors/textures/doors_obsidian_glass.png | Bin 130 -> 0 bytes .../doors/textures/doors_obsidian_glass_a.png | Bin 128 -> 0 bytes .../doors/textures/doors_obsidian_glass_b.png | Bin 128 -> 0 bytes .../textures/doors_obsidian_glass_side.png | Bin 82 -> 0 bytes mods/doors/textures/doors_steel.png | Bin 132 -> 0 bytes mods/doors/textures/doors_steel_a.png | Bin 273 -> 0 bytes mods/doors/textures/doors_steel_b.png | Bin 260 -> 0 bytes mods/doors/textures/doors_trapdoor.png | Bin 257 -> 0 bytes mods/doors/textures/doors_trapdoor_side.png | Bin 173 -> 0 bytes mods/doors/textures/doors_wood.png | Bin 130 -> 0 bytes mods/doors/textures/doors_wood_a.png | Bin 294 -> 0 bytes mods/doors/textures/doors_wood_b.png | Bin 291 -> 0 bytes mods/stairs/README.txt | 26 - mods/stairs/depends.txt | 1 - mods/stairs/init.lua | 319 ----------- mods/stairs/models/stairs_stair.obj | 43 -- mods/tnt/README.txt | 36 -- mods/tnt/depends.txt | 3 - mods/tnt/init.lua | 390 -------------- mods/tnt/sounds/tnt_explode.ogg | Bin 12808 -> 0 bytes mods/tnt/sounds/tnt_gunpowder_burning.ogg | Bin 34335 -> 0 bytes mods/tnt/sounds/tnt_ignite.ogg | Bin 29271 -> 0 bytes mods/tnt/textures/tnt_boom.png | Bin 178 -> 0 bytes mods/tnt/textures/tnt_bottom.png | Bin 99 -> 0 bytes ...nt_gunpowder_burning_crossing_animated.png | Bin 612 -> 0 bytes .../tnt_gunpowder_burning_curved_animated.png | Bin 432 -> 0 bytes ...nt_gunpowder_burning_straight_animated.png | Bin 461 -> 0 bytes ..._gunpowder_burning_t_junction_animated.png | Bin 672 -> 0 bytes mods/tnt/textures/tnt_gunpowder_crossing.png | Bin 245 -> 0 bytes mods/tnt/textures/tnt_gunpowder_curved.png | Bin 268 -> 0 bytes mods/tnt/textures/tnt_gunpowder_inventory.png | Bin 301 -> 0 bytes mods/tnt/textures/tnt_gunpowder_straight.png | Bin 225 -> 0 bytes .../tnt/textures/tnt_gunpowder_t_junction.png | Bin 328 -> 0 bytes mods/tnt/textures/tnt_side.png | Bin 128 -> 0 bytes mods/tnt/textures/tnt_smoke.png | Bin 202 -> 0 bytes mods/tnt/textures/tnt_top.png | Bin 148 -> 0 bytes mods/tnt/textures/tnt_top_burning.png | Bin 159 -> 0 bytes .../tnt/textures/tnt_top_burning_animated.png | Bin 238 -> 0 bytes 55 files changed, 11 insertions(+), 1537 deletions(-) delete mode 100644 mods/doors/README.txt delete mode 100644 mods/doors/depends.txt delete mode 100644 mods/doors/init.lua delete mode 100644 mods/doors/sounds/doors_door_close.ogg delete mode 100644 mods/doors/sounds/doors_door_open.ogg delete mode 100644 mods/doors/textures/doors_brown.png delete mode 100644 mods/doors/textures/doors_glass.png delete mode 100644 mods/doors/textures/doors_glass_a.png delete mode 100644 mods/doors/textures/doors_glass_b.png delete mode 100644 mods/doors/textures/doors_glass_side.png delete mode 100644 mods/doors/textures/doors_grey.png delete mode 100644 mods/doors/textures/doors_obsidian_glass.png delete mode 100644 mods/doors/textures/doors_obsidian_glass_a.png delete mode 100644 mods/doors/textures/doors_obsidian_glass_b.png delete mode 100644 mods/doors/textures/doors_obsidian_glass_side.png delete mode 100644 mods/doors/textures/doors_steel.png delete mode 100644 mods/doors/textures/doors_steel_a.png delete mode 100644 mods/doors/textures/doors_steel_b.png delete mode 100644 mods/doors/textures/doors_trapdoor.png delete mode 100644 mods/doors/textures/doors_trapdoor_side.png delete mode 100644 mods/doors/textures/doors_wood.png delete mode 100644 mods/doors/textures/doors_wood_a.png delete mode 100644 mods/doors/textures/doors_wood_b.png delete mode 100644 mods/stairs/README.txt delete mode 100644 mods/stairs/depends.txt delete mode 100644 mods/stairs/init.lua delete mode 100644 mods/stairs/models/stairs_stair.obj delete mode 100644 mods/tnt/README.txt delete mode 100644 mods/tnt/depends.txt delete mode 100644 mods/tnt/init.lua delete mode 100644 mods/tnt/sounds/tnt_explode.ogg delete mode 100644 mods/tnt/sounds/tnt_gunpowder_burning.ogg delete mode 100644 mods/tnt/sounds/tnt_ignite.ogg delete mode 100644 mods/tnt/textures/tnt_boom.png delete mode 100644 mods/tnt/textures/tnt_bottom.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_crossing.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_curved.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_inventory.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_straight.png delete mode 100644 mods/tnt/textures/tnt_gunpowder_t_junction.png delete mode 100644 mods/tnt/textures/tnt_side.png delete mode 100644 mods/tnt/textures/tnt_smoke.png delete mode 100644 mods/tnt/textures/tnt_top.png delete mode 100644 mods/tnt/textures/tnt_top_burning.png delete mode 100644 mods/tnt/textures/tnt_top_burning_animated.png diff --git a/mods/default/aliases.lua b/mods/default/aliases.lua index 7247751..1f67336 100644 --- a/mods/default/aliases.lua +++ b/mods/default/aliases.lua @@ -41,7 +41,6 @@ minetest.register_alias("mossycobble", "default:mossycobble") minetest.register_alias("steelblock", "default:steelblock") minetest.register_alias("nyancat", "default:nyancat") minetest.register_alias("nyancat_rainbow", "default:nyancat_rainbow") -minetest.register_alias("sapling", "default:sapling") minetest.register_alias("apple", "default:apple") minetest.register_alias("WPick", "default:pick_wood") diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua index 6ea13bb..5dbdee8 100644 --- a/mods/default/crafting.lua +++ b/mods/default/crafting.lua @@ -776,12 +776,6 @@ minetest.register_craft({ burntime = 1, }) -minetest.register_craft({ - type = "fuel", - recipe = "default:sapling", - burntime = 10, -}) - minetest.register_craft({ type = "fuel", recipe = "default:apple", @@ -800,20 +794,8 @@ minetest.register_craft({ burntime = 370, }) -minetest.register_craft({ - type = "fuel", - recipe = "default:junglesapling", - burntime = 10, -}) - minetest.register_craft({ type = "fuel", recipe = "default:grass_1", burntime = 2, }) - -minetest.register_craft({ - type = "fuel", - recipe = "default:pine_sapling", - burntime = 10, -}) diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 426e27c..f075558 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -170,27 +170,6 @@ function default.grow_papyrus(pos, node) return true end -minetest.register_abm({ - nodenames = {"default:cactus"}, - neighbors = {"group:sand"}, - interval = 50, - chance = 20, - action = function(...) - default.grow_cactus(...) - end -}) - -minetest.register_abm({ - nodenames = {"default:papyrus"}, - neighbors = {"default:dirt", "default:dirt_with_grass"}, - interval = 50, - chance = 20, - action = function(...) - default.grow_papyrus(...) - end -}) - - -- -- dig upwards -- @@ -342,4 +321,3 @@ minetest.register_abm({ end end }) - diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 4865341..f813c99 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -43,7 +43,7 @@ minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstonebr -- Blob ore first to avoid other ores inside blobs function default.register_ores() - minetest.register_ore({ + minetest.register_ore({ ore_type = "blob", ore = "default:clay", wherein = {"default:sand"}, @@ -62,7 +62,7 @@ function default.register_ores() }, }) - minetest.register_ore({ + minetest.register_ore({ ore_type = "blob", ore = "default:sand", wherein = {"default:stone"}, @@ -449,7 +449,7 @@ function default.register_decorations() y_max = 31000, decoration = "flowers:rose", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -467,7 +467,7 @@ function default.register_decorations() y_max = 31000, decoration = "flowers:tulip", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -485,7 +485,7 @@ function default.register_decorations() y_max = 31000, decoration = "flowers:dandelion_yellow", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -503,7 +503,7 @@ function default.register_decorations() y_max = 31000, decoration = "flowers:geranium", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -521,7 +521,7 @@ function default.register_decorations() y_max = 31000, decoration = "flowers:viola", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -559,7 +559,7 @@ function default.register_decorations() y_max = 31000, decoration = "default:grass_1", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -577,7 +577,7 @@ function default.register_decorations() y_max = 31000, decoration = "default:grass_2", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -595,7 +595,7 @@ function default.register_decorations() y_max = 31000, decoration = "default:grass_3", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -613,7 +613,7 @@ function default.register_decorations() y_max = 31000, decoration = "default:grass_4", }) - + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index 74c8642..292f8bc 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -388,24 +388,6 @@ minetest.register_node("default:wood", { sounds = default.node_sound_wood_defaults(), }) -minetest.register_node("default:sapling", { - description = "Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_sapling.png"}, - inventory_image = "default_sapling.png", - wield_image = "default_sapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1}, - sounds = default.node_sound_leaves_defaults(), -}) - minetest.register_node("default:leaves", { description = "Leaves", drawtype = "allfaces_optional", @@ -418,11 +400,6 @@ minetest.register_node("default:leaves", { drop = { max_items = 1, items = { - { - -- player will get sapling with 1/20 chance - items = {'default:sapling'}, - rarity = 20, - }, { -- player will get leaves only if he get no saplings, -- this is because max_items is 1 @@ -493,11 +470,6 @@ minetest.register_node("default:jungleleaves", { drop = { max_items = 1, items = { - { - -- player will get sapling with 1/20 chance - items = {'default:junglesapling'}, - rarity = 20, - }, { -- player will get leaves only if he get no saplings, -- this is because max_items is 1 @@ -510,25 +482,6 @@ minetest.register_node("default:jungleleaves", { after_place_node = default.after_place_leaves, }) -minetest.register_node("default:junglesapling", { - description = "Jungle Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_junglesapling.png"}, - inventory_image = "default_junglesapling.png", - wield_image = "default_junglesapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1}, - sounds = default.node_sound_leaves_defaults(), -}) - - minetest.register_node("default:pinetree", { description = "Pine Tree", @@ -561,11 +514,6 @@ minetest.register_node("default:pine_needles",{ drop = { max_items = 1, items = { - { - -- player will get sapling with 1/20 chance - items = {"default:pine_sapling"}, - rarity = 20, - }, { -- player will get leaves only if he get no saplings, -- this is because max_items is 1 @@ -578,23 +526,6 @@ minetest.register_node("default:pine_needles",{ after_place_node = default.after_place_leaves, }) -minetest.register_node("default:pine_sapling", { - description = "Pine Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_pine_sapling.png"}, - inventory_image = "default_pine_sapling.png", - wield_image = "default_pine_sapling.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1}, - sounds = default.node_sound_leaves_defaults(), -}) - -- -- Ores -- diff --git a/mods/default/trees.lua b/mods/default/trees.lua index 8e50355..9c2fa90 100644 --- a/mods/default/trees.lua +++ b/mods/default/trees.lua @@ -17,53 +17,6 @@ local function can_grow(pos) return true end --- Sapling ABMs - -minetest.register_abm({ - nodenames = {"default:sapling"}, - interval = 10, - chance = 50, - action = function(pos, node) - if not can_grow(pos) then - return - end - - minetest.log("action", "A sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_tree(pos, random(1, 4) == 1) - end -}) - -minetest.register_abm({ - nodenames = {"default:junglesapling"}, - interval = 11, - chance = 50, - action = function(pos, node) - if not can_grow(pos) then - return - end - - minetest.log("action", "A jungle sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_jungle_tree(pos) - end -}) - -minetest.register_abm({ - nodenames = {"default:pine_sapling"}, - interval = 12, - chance = 50, - action = function(pos, node) - if not can_grow(pos) then - return - end - - minetest.log("action", "A pine sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_pine_tree(pos) - end -}) - -- Appletree, jungletree function local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid, @@ -345,4 +298,3 @@ function default.grow_pine_tree(pos) vm:write_to_map() vm:update_map() end - diff --git a/mods/doors/README.txt b/mods/doors/README.txt deleted file mode 100644 index 146af8e..0000000 --- a/mods/doors/README.txt +++ /dev/null @@ -1,46 +0,0 @@ -Minetest 0.4 mod: doors -======================= -version: 1.3 - -License of source code: ------------------------ -Copyright (C) 2012 PilzAdam -modified by BlockMen (added sounds, glassdoors[glass, obsidian glass], trapdoor) - -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. - -License of textures --------------------------------------- -following Textures created by Fernando Zapata (CC BY-SA 3.0): - door_wood.png - door_wood_a.png - door_wood_a_r.png - door_wood_b.png - door_wood_b_r.png - -following Textures created by BlockMen (WTFPL): - door_trapdoor.png - door_obsidian_glass_side.png - -following textures created by celeron55 (CC BY-SA 3.0): - door_trapdoor_side.png - door_glass_a.png - door_glass_b.png - -following Textures created by PenguinDad (CC BY-SA 4.0): - door_glass.png - door_obsidian_glass.png - -All other textures (created by PilzAdam): WTFPL - - -License of sounds --------------------------------------- -Opening-Sound created by CGEffex (CC BY 3.0), modified by BlockMen - door_open.ogg -Closing-Sound created by bennstir (CC BY 3.0) - door_close.ogg diff --git a/mods/doors/depends.txt b/mods/doors/depends.txt deleted file mode 100644 index 5e28bee..0000000 --- a/mods/doors/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -screwdriver? diff --git a/mods/doors/init.lua b/mods/doors/init.lua deleted file mode 100644 index a553565..0000000 --- a/mods/doors/init.lua +++ /dev/null @@ -1,502 +0,0 @@ -doors = {} - --- Registers a door -function doors.register_door(name, def) - def.groups.not_in_creative_inventory = 1 - - local box = {{-0.5, -0.5, -0.5, 0.5, 0.5, -0.5+1.5/16}} - - if not def.node_box_bottom then - def.node_box_bottom = box - end - if not def.node_box_top then - def.node_box_top = box - end - if not def.selection_box_bottom then - def.selection_box_bottom= box - end - if not def.selection_box_top then - def.selection_box_top = box - end - - if not def.sound_close_door then - def.sound_close_door = "doors_door_close" - end - if not def.sound_open_door then - def.sound_open_door = "doors_door_open" - end - - - minetest.register_craftitem(name, { - description = def.description, - inventory_image = def.inventory_image, - - on_place = function(itemstack, placer, pointed_thing) - if not pointed_thing.type == "node" then - return itemstack - end - - local ptu = pointed_thing.under - local nu = minetest.get_node(ptu) - if minetest.registered_nodes[nu.name].on_rightclick then - return minetest.registered_nodes[nu.name].on_rightclick(ptu, nu, placer, itemstack) - end - - local pt = pointed_thing.above - local pt2 = {x=pt.x, y=pt.y, z=pt.z} - pt2.y = pt2.y+1 - if - not minetest.registered_nodes[minetest.get_node(pt).name].buildable_to or - not minetest.registered_nodes[minetest.get_node(pt2).name].buildable_to or - not placer or - not placer:is_player() - then - return itemstack - end - - if minetest.is_protected(pt, placer:get_player_name()) or - minetest.is_protected(pt2, placer:get_player_name()) then - minetest.record_protection_violation(pt, placer:get_player_name()) - return itemstack - end - - local p2 = minetest.dir_to_facedir(placer:get_look_dir()) - local pt3 = {x=pt.x, y=pt.y, z=pt.z} - if p2 == 0 then - pt3.x = pt3.x-1 - elseif p2 == 1 then - pt3.z = pt3.z+1 - elseif p2 == 2 then - pt3.x = pt3.x+1 - elseif p2 == 3 then - pt3.z = pt3.z-1 - end - if minetest.get_item_group(minetest.get_node(pt3).name, "door") == 0 then - minetest.set_node(pt, {name=name.."_b_1", param2=p2}) - minetest.set_node(pt2, {name=name.."_t_1", param2=p2}) - else - minetest.set_node(pt, {name=name.."_b_2", param2=p2}) - minetest.set_node(pt2, {name=name.."_t_2", param2=p2}) - minetest.get_meta(pt):set_int("right", 1) - minetest.get_meta(pt2):set_int("right", 1) - end - - if def.only_placer_can_open then - local pn = placer:get_player_name() - local meta = minetest.get_meta(pt) - meta:set_string("doors_owner", pn) - meta:set_string("infotext", "Owned by "..pn) - meta = minetest.get_meta(pt2) - meta:set_string("doors_owner", pn) - meta:set_string("infotext", "Owned by "..pn) - end - - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack - end, - }) - - local tt = def.tiles_top - local tb = def.tiles_bottom - - local function after_dig_node(pos, name, digger) - local node = minetest.get_node(pos) - if node.name == name then - minetest.node_dig(pos, node, digger) - end - end - - local function check_and_blast(pos, name) - local node = minetest.get_node(pos) - if node.name == name then - minetest.remove_node(pos) - end - end - - local function make_on_blast(base_name, dir, door_type, other_door_type) - if def.only_placer_can_open then - return function() end - else - return function(pos, intensity) - check_and_blast(pos, base_name .. door_type) - pos.y = pos.y + dir - check_and_blast(pos, base_name .. other_door_type) - end - end - end - - local function on_rightclick(pos, dir, check_name, replace, replace_dir, params) - pos.y = pos.y+dir - if not minetest.get_node(pos).name == check_name then - return - end - local p2 = minetest.get_node(pos).param2 - p2 = params[p2+1] - - minetest.swap_node(pos, {name=replace_dir, param2=p2}) - - pos.y = pos.y-dir - minetest.swap_node(pos, {name=replace, param2=p2}) - - local snd_1 = def.sound_close_door - local snd_2 = def.sound_open_door - if params[1] == 3 then - snd_1 = def.sound_open_door - snd_2 = def.sound_close_door - end - - if minetest.get_meta(pos):get_int("right") ~= 0 then - minetest.sound_play(snd_1, {pos = pos, gain = 0.3, max_hear_distance = 10}) - else - minetest.sound_play(snd_2, {pos = pos, gain = 0.3, max_hear_distance = 10}) - end - end - - local function check_player_priv(pos, player) - if not def.only_placer_can_open then - return true - end - local meta = minetest.get_meta(pos) - local pn = player:get_player_name() - return meta:get_string("doors_owner") == pn - end - - local function on_rotate(pos, node, dir, user, check_name, mode, new_param2) - if not check_player_priv(pos, user) then - return false - end - if mode ~= screwdriver.ROTATE_FACE then - return false - end - - pos.y = pos.y + dir - if not minetest.get_node(pos).name == check_name then - return false - end - if minetest.is_protected(pos, user:get_player_name()) then - minetest.record_protection_violation(pos, user:get_player_name()) - return false - end - - local node2 = minetest.get_node(pos) - node2.param2 = (node2.param2 + 1) % 4 - minetest.swap_node(pos, node2) - - pos.y = pos.y - dir - node.param2 = (node.param2 + 1) % 4 - minetest.swap_node(pos, node) - return true - end - - minetest.register_node(name.."_b_1", { - tiles = {tb[2], tb[2], tb[2], tb[2], tb[1], tb[1].."^[transformfx"}, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - drop = name, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_bottom - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_bottom - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y+1 - after_dig_node(pos, name.."_t_1", digger) - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0}) - end - end, - - on_rotate = function(pos, node, user, mode, new_param2) - return on_rotate(pos, node, 1, user, name.."_t_1", mode) - end, - - can_dig = check_player_priv, - sounds = def.sounds, - sunlight_propagates = def.sunlight, - on_blast = make_on_blast(name, 1, "_b_1", "_t_1") - }) - - minetest.register_node(name.."_t_1", { - tiles = {tt[2], tt[2], tt[2], tt[2], tt[1], tt[1].."^[transformfx"}, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - drop = "", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_top - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_top - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y-1 - after_dig_node(pos, name.."_b_1", digger) - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, -1, name.."_b_1", name.."_t_2", name.."_b_2", {1,2,3,0}) - end - end, - - on_rotate = function(pos, node, user, mode, new_param2) - return on_rotate(pos, node, -1, user, name.."_b_1", mode) - end, - - can_dig = check_player_priv, - sounds = def.sounds, - sunlight_propagates = def.sunlight, - on_blast = make_on_blast(name, -1, "_t_1", "_b_1") - }) - - minetest.register_node(name.."_b_2", { - tiles = {tb[2], tb[2], tb[2], tb[2], tb[1].."^[transformfx", tb[1]}, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - drop = name, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_bottom - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_bottom - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y+1 - after_dig_node(pos, name.."_t_2", digger) - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2}) - end - end, - - on_rotate = function(pos, node, user, mode, new_param2) - return on_rotate(pos, node, 1, user, name.."_t_2", mode) - end, - - can_dig = check_player_priv, - sounds = def.sounds, - sunlight_propagates = def.sunlight, - on_blast = make_on_blast(name, 1, "_b_2", "_t_2") - }) - - minetest.register_node(name.."_t_2", { - tiles = {tt[2], tt[2], tt[2], tt[2], tt[1].."^[transformfx", tt[1]}, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - drop = "", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_top - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_top - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y-1 - after_dig_node(pos, name.."_b_2", digger) - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, -1, name.."_b_2", name.."_t_1", name.."_b_1", {3,0,1,2}) - end - end, - - on_rotate = function(pos, node, user, mode, new_param2) - return on_rotate(pos, node, -1, user, name.."_b_2", mode) - end, - - can_dig = check_player_priv, - sounds = def.sounds, - sunlight_propagates = def.sunlight, - on_blast = make_on_blast(name, -1, "_t_2", "_b_2") - }) - -end - -doors.register_door("doors:door_wood", { - description = "Wooden Door", - inventory_image = "doors_wood.png", - groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2,door=1}, - tiles_bottom = {"doors_wood_b.png", "doors_brown.png"}, - tiles_top = {"doors_wood_a.png", "doors_brown.png"}, - sounds = default.node_sound_wood_defaults(), - sunlight = false, -}) - -minetest.register_craft({ - output = "doors:door_wood", - recipe = { - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"} - } -}) - -doors.register_door("doors:door_steel", { - description = "Steel Door", - inventory_image = "doors_steel.png", - groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2,door=1}, - tiles_bottom = {"doors_steel_b.png", "doors_grey.png"}, - tiles_top = {"doors_steel_a.png", "doors_grey.png"}, - only_placer_can_open = true, - sounds = default.node_sound_wood_defaults(), - sunlight = false, -}) - -minetest.register_craft({ - output = "doors:door_steel", - recipe = { - {"default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot"} - } -}) - -doors.register_door("doors:door_glass", { - description = "Glass Door", - inventory_image = "doors_glass.png", - groups = {snappy=1,cracky=1,oddly_breakable_by_hand=3,door=1}, - tiles_bottom = {"doors_glass_b.png", "doors_glass_side.png"}, - tiles_top = {"doors_glass_a.png", "doors_glass_side.png"}, - sounds = default.node_sound_glass_defaults(), - sunlight = true, -}) - -minetest.register_craft({ - output = "doors:door_glass", - recipe = { - {"default:glass", "default:glass"}, - {"default:glass", "default:glass"}, - {"default:glass", "default:glass"} - } -}) - -doors.register_door("doors:door_obsidian_glass", { - description = "Obsidian Glass Door", - inventory_image = "doors_obsidian_glass.png", - groups = {snappy=1,cracky=1,oddly_breakable_by_hand=3,door=1}, - tiles_bottom = {"doors_obsidian_glass_b.png", "doors_obsidian_glass_side.png"}, - tiles_top = {"doors_obsidian_glass_a.png", "doors_obsidian_glass_side.png"}, - sounds = default.node_sound_glass_defaults(), - sunlight = true, -}) - -minetest.register_craft({ - output = "doors:door_obsidian_glass", - recipe = { - {"default:obsidian_glass", "default:obsidian_glass"}, - {"default:obsidian_glass", "default:obsidian_glass"}, - {"default:obsidian_glass", "default:obsidian_glass"} - } -}) - - -----trapdoor---- - -function doors.register_trapdoor(name, def) - local name_closed = name - local name_opened = name.."_open" - - def.on_rightclick = function (pos, node) - local newname = node.name == name_closed and name_opened or name_closed - local sound = false - if node.name == name_closed then sound = def.sound_open end - if node.name == name_opened then sound = def.sound_close end - if sound then - minetest.sound_play(sound, {pos = pos, gain = 0.3, max_hear_distance = 10}) - end - minetest.set_node(pos, {name = newname, param1 = node.param1, param2 = node.param2}) - end - - def.on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple - - -- Common trapdoor configuration - def.drawtype = "nodebox" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.is_ground_content = false - - local def_opened = table.copy(def) - local def_closed = table.copy(def) - - def_closed.node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5} - } - def_closed.selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5} - } - def_closed.tiles = { def.tile_front, def.tile_front, def.tile_side, def.tile_side, - def.tile_side, def.tile_side } - - def_opened.node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0.4, 0.5, 0.5, 0.5} - } - def_opened.selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0.4, 0.5, 0.5, 0.5} - } - def_opened.tiles = { def.tile_side, def.tile_side, def.tile_side, def.tile_side, - def.tile_front, def.tile_front } - def_opened.drop = name_closed - def_opened.groups.not_in_creative_inventory = 1 - - minetest.register_node(name_opened, def_opened) - minetest.register_node(name_closed, def_closed) -end - - - -doors.register_trapdoor("doors:trapdoor", { - description = "Trapdoor", - inventory_image = "doors_trapdoor.png", - wield_image = "doors_trapdoor.png", - tile_front = "doors_trapdoor.png", - tile_side = "doors_trapdoor_side.png", - groups = {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=2, door=1}, - sounds = default.node_sound_wood_defaults(), - sound_open = "doors_door_open", - sound_close = "doors_door_close" -}) - -minetest.register_craft({ - output = 'doors:trapdoor 2', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - {'', '', ''}, - } -}) diff --git a/mods/doors/sounds/doors_door_close.ogg b/mods/doors/sounds/doors_door_close.ogg deleted file mode 100644 index a39452ba1ed1faad5e07082cb7eb8f7d3b1a6ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20157 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 MxXFH#S>7n00Lo=D*8l(j diff --git a/mods/doors/sounds/doors_door_open.ogg b/mods/doors/sounds/doors_door_open.ogg deleted file mode 100644 index 7ec7f48093f64422e4af9cf2806888fd8d72b707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11915 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 diff --git a/mods/doors/textures/doors_glass.png b/mods/doors/textures/doors_glass.png deleted file mode 100644 index 49ec245c1672b6c51664c1f4d7327e501d71fa59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l4KXBmj!-pT!XL5%C z1sO|%{DK)Ap4~_Ta#THC978ywlM{G&Qxg(coY>sd1P)%{P!SPnWMOyWad{BV9?Zlr X=`r&rp9bSVpaup{S3j3^P6+a`z~Q2i#HX`09BJ%(M diff --git a/mods/doors/textures/doors_obsidian_glass_a.png b/mods/doors/textures/doors_obsidian_glass_a.png deleted file mode 100644 index d5ac83d09d4f978330381944e2ca09138254aebb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t{_1H0eLk;Q!^h?AcwIe z$S;_|;n|HeAV<~H#W95AdNN1vEU8lu4jeeZp*}-G%0Y*vaYC*`*rAqHy@EL+3|_lA VShk1sB>^=sc)I$ztaD0e0sw#{AIty% diff --git a/mods/doors/textures/doors_obsidian_glass_b.png b/mods/doors/textures/doors_obsidian_glass_b.png deleted file mode 100644 index d5ac83d09d4f978330381944e2ca09138254aebb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t{_1H0eLk;Q!^h?AcwIe z$S;_|;n|HeAV<~H#W95AdNN1vEU8lu4jeeZp*}-G%0Y*vaYC*`*rAqHy@EL+3|_lA VShk1sB>^=sc)I$ztaD0e0sw#{AIty% diff --git a/mods/doors/textures/doors_obsidian_glass_side.png b/mods/doors/textures/doors_obsidian_glass_side.png deleted file mode 100644 index aa4c63aac9cb88b6361fa5964c4892504eac3841..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)ga%mF?jt^xuAZ#3u32XeVQT^vI= bt|un|*-Q+Kj}-S916d57u6{1-oD!MTNsI(6#ay?gui?Yn&W@|iPdwr}5l?%cV92M<1Y@L=c8orZ>nhYlT5Q&SV#Yf%W) z%vciS7tG-B>_!@p)8^^o7$R}mw?C5aumOjQVfRMa^*jG3a);y^$@{;^G!eS6X{q(& zgp3udf?ZhzMa7?39aX!1wl%`F41=Ba2;`Kd#IboMVb`|GFUf&SyiIZ1% zwwc9s9e(8Gb!KUT$v&kMBGUOA>ze*IZ4F6#*R89!$`2*S5B{<>lns+S<9fxy{YZ&(F`x%ge#R!X_prGcz+TE-pL5 zYnA{20EtONK~xyiHI0D|10e`QOGR#|)9wF%b~LwZVzl*9F!4R7!OT$Nso*8i*h(CD z(|zylx9q~?ZbDiOw8%?DD|;tBM-fgm31p8V%<)gm6ifvK3NX`%2v7`-U8U*zrGTg7 z#>?~RfC6d7M{8v>BQsYVEPC&Kt+{lCwpiA8xhSb)jB)9d^!NdQa0LjPaAQvZ0000< KMNUMnLSTZ7zjes~ diff --git a/mods/doors/textures/doors_trapdoor.png b/mods/doors/textures/doors_trapdoor.png deleted file mode 100644 index e92c8b2e1a8aa8593be3e37a933ce4ea1ab58b75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAhE0AtWGniT7I5EdO(OW&( zNxd_}Xj+xSAdr&KH*Mz;w$(pxq3fu6{1-oD!MlW%6% zF`3{Ov%K9CWo=F;|9=s)N0t3&(96x?##`+SZqI6;b8?Tt)N0E~mXj0>*VsqZ`J85I U{P6RE9?%8`Pgg&ebxsLQ0G<9l@&Et; diff --git a/mods/doors/textures/doors_wood.png b/mods/doors/textures/doors_wood.png deleted file mode 100644 index d3a62ab156db2d81442bcef039fed5148d09e9bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YyCl{4Hyt~5}p(1ZCf zkk42WA7~I`NswPKgTu2MX+TcDr;B5V#O2Wb+d_vGI9vqv8!}9mo%~;)Wmu+mwlX3$ zJ%XX=T+=-Vo+Q>ed#9HK_tZJ)omsb2zEd%Wk7rHrUcL#bE!%pyi=vKQDw*-KGO8(6 z;p<(uq_4q?nLD?dJxf0o`D3o)?Nj?Fm#uBsweN43k@B|vN7rn)sw$DQymQJ-!NsfG ms(X45UX~CSTzM&_hEePlo8kxMzq5c&WAJqKb6Mw<&;$UzR%Vz0 diff --git a/mods/doors/textures/doors_wood_b.png b/mods/doors/textures/doors_wood_b.png deleted file mode 100644 index 966509827e65cdfec58d15fb9f8182220b762dbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Q-Dv1YpRcGy02=2hjNmqa)!UU zyQx&XyHZksX{@WFkEKkYtz2%PW@?aGq?3GRm}P#5R;-Vai?M{7nwo>YSYDL1fq}tX zD?>4$X>&YX977~7yY`3k9X8-`&OA9O{gTDwf8n~V3~!t5d9o%Py7Jtn_?%|ri_YZR zX5xb1qkitySd(i1>X1mVOSM{cmPV4^szn@(yzR4#-8(J>>2K)f)1Pr?W51oz2d&*w zUE7vy-NkZQJooJD_#H1USxh)7@%S9C@pnTzdAp*1_C(nW&X@V_1%+!Cixo{d5vU}% l+Q;ok!S{R8hS|11m@1dE?X~Q -Copyright (C) 2011-2012 celeron55, Perttu Ahola - -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 of the License, or -(at your option) any later version. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -Authors of media files ------------------------ -Everything not listed in here: -Copyright (C) 2010-2012 celeron55, Perttu Ahola - - diff --git a/mods/stairs/depends.txt b/mods/stairs/depends.txt deleted file mode 100644 index 4ad96d5..0000000 --- a/mods/stairs/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua deleted file mode 100644 index 7f84b4c..0000000 --- a/mods/stairs/init.lua +++ /dev/null @@ -1,319 +0,0 @@ --- Minetest 0.4 mod: stairs --- See README.txt for licensing and other information. - -stairs = {} - --- Node will be called stairs:stair_ -function stairs.register_stair(subname, recipeitem, groups, images, description, sounds) - minetest.register_node(":stairs:stair_" .. subname, { - description = description, - drawtype = "mesh", - mesh = "stairs_stair.obj", - tiles = images, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - groups = groups, - sounds = sounds, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - collision_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - - local p0 = pointed_thing.under - local p1 = pointed_thing.above - local param2 = 0 - - local placer_pos = placer:getpos() - if placer_pos then - local dir = { - x = p1.x - placer_pos.x, - y = p1.y - placer_pos.y, - z = p1.z - placer_pos.z - } - param2 = minetest.dir_to_facedir(dir) - end - - if p0.y-1 == p1.y then - param2 = param2 + 20 - if param2 == 21 then - param2 = 23 - elseif param2 == 23 then - param2 = 21 - end - end - - return minetest.item_place(itemstack, placer, pointed_thing, param2) - end, - }) - - -- for replace ABM - minetest.register_node(":stairs:stair_" .. subname.."upside_down", { - replace_name = "stairs:stair_" .. subname, - groups = {slabs_replace=1}, - }) - - minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 6', - recipe = { - {recipeitem, "", ""}, - {recipeitem, recipeitem, ""}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - -- Flipped recipe for the silly minecrafters - minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 6', - recipe = { - {"", "", recipeitem}, - {"", recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) -end - --- Node will be called stairs:slab_ -function stairs.register_slab(subname, recipeitem, groups, images, description, sounds) - minetest.register_node(":stairs:slab_" .. subname, { - description = description, - drawtype = "nodebox", - tiles = images, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - groups = groups, - sounds = sounds, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - }, - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - - -- If it's being placed on an another similar one, replace it with - -- a full block - local slabpos = nil - local slabnode = nil - local p0 = pointed_thing.under - local p1 = pointed_thing.above - local n0 = minetest.get_node(p0) - local n1 = minetest.get_node(p1) - local param2 = 0 - - local n0_is_upside_down = (n0.name == "stairs:slab_" .. subname and - n0.param2 >= 20) - - if n0.name == "stairs:slab_" .. subname and not n0_is_upside_down and p0.y+1 == p1.y then - slabpos = p0 - slabnode = n0 - elseif n1.name == "stairs:slab_" .. subname then - slabpos = p1 - slabnode = n1 - end - if slabpos then - -- Remove the slab at slabpos - minetest.remove_node(slabpos) - -- Make a fake stack of a single item and try to place it - local fakestack = ItemStack(recipeitem) - fakestack:set_count(itemstack:get_count()) - - pointed_thing.above = slabpos - local success - fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) - -- If the item was taken from the fake stack, decrement original - if success then - itemstack:set_count(fakestack:get_count()) - -- Else put old node back - else - minetest.set_node(slabpos, slabnode) - end - return itemstack - end - - -- Upside down slabs - if p0.y-1 == p1.y then - -- Turn into full block if pointing at a existing slab - if n0_is_upside_down then - -- Remove the slab at the position of the slab - minetest.remove_node(p0) - -- Make a fake stack of a single item and try to place it - local fakestack = ItemStack(recipeitem) - fakestack:set_count(itemstack:get_count()) - - pointed_thing.above = p0 - local success - fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) - -- If the item was taken from the fake stack, decrement original - if success then - itemstack:set_count(fakestack:get_count()) - -- Else put old node back - else - minetest.set_node(p0, n0) - end - return itemstack - end - - -- Place upside down slab - param2 = 20 - end - - -- If pointing at the side of a upside down slab - if n0_is_upside_down and p0.y+1 ~= p1.y then - param2 = 20 - end - - return minetest.item_place(itemstack, placer, pointed_thing, param2) - end, - }) - - -- for replace ABM - minetest.register_node(":stairs:slab_" .. subname.."upside_down", { - replace_name = "stairs:slab_"..subname, - groups = {slabs_replace=1}, - }) - - minetest.register_craft({ - output = 'stairs:slab_' .. subname .. ' 6', - recipe = { - {recipeitem, recipeitem, recipeitem}, - }, - }) -end - --- Replace old "upside_down" nodes with new param2 versions -minetest.register_abm({ - nodenames = {"group:slabs_replace"}, - interval = 1, - chance = 1, - action = function(pos, node) - node.name = minetest.registered_nodes[node.name].replace_name - node.param2 = node.param2 + 20 - if node.param2 == 21 then - node.param2 = 23 - elseif node.param2 == 23 then - node.param2 = 21 - end - minetest.set_node(pos, node) - end, -}) - --- Nodes will be called stairs:{stair,slab}_ -function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds) - stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds) - stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds) -end - -stairs.register_stair_and_slab("wood", "default:wood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_wood.png"}, - "Wooden Stair", - "Wooden Slab", - default.node_sound_wood_defaults()) - -stairs.register_stair_and_slab("stone", "default:stone", - {cracky=3}, - {"default_stone.png"}, - "Stone Stair", - "Stone Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("cobble", "default:cobble", - {cracky=3}, - {"default_cobble.png"}, - "Cobblestone Stair", - "Cobblestone Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("desert_stone", "default:desert_stone", - {cracky=3}, - {"default_desert_stone.png"}, - "Desertstone Stair", - "Desertstone Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("desert_cobble", "default:desert_cobble", - {cracky=3}, - {"default_desert_cobble.png"}, - "Desert Cobblestone Stair", - "Desert Cobblestone Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("desert_stonebrick", "default:desert_stonebrick", - {cracky=3}, - {"default_desert_stone_brick.png"}, - "Desert Stone Brick Stair", - "Desert Stone Brick Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("brick", "default:brick", - {cracky=3}, - {"default_brick.png"}, - "Brick Stair", - "Brick Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("sandstone", "default:sandstone", - {crumbly=2,cracky=2}, - {"default_sandstone.png"}, - "Sandstone Stair", - "Sandstone Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("sandstonebrick", "default:sandstonebrick", - {crumbly=2,cracky=2}, - {"default_sandstone_brick.png"}, - "Sandstone Brick Stair", - "Sandstone Brick Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("junglewood", "default:junglewood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_junglewood.png"}, - "Junglewood Stair", - "Junglewood Slab", - default.node_sound_wood_defaults()) - -stairs.register_stair_and_slab("stonebrick", "default:stonebrick", - {cracky=3}, - {"default_stone_brick.png"}, - "Stone Brick Stair", - "Stone Brick Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("pinewood", "default:pinewood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_pinewood.png"}, - "Pinewood Stair", - "Pinewood Slab", - default.node_sound_wood_defaults()) - -stairs.register_stair_and_slab("obsidian", "default:obsidian", - {cracky=1,level=2}, - {"default_obsidian.png"}, - "Obsidian Stair", - "Obsidian Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("obsidianbrick", "default:obsidianbrick", - {cracky=1,level=2}, - {"default_obsidian_brick.png"}, - "Obsidian Brick Stair", - "Obsidian Brick Slab", - default.node_sound_stone_defaults()) diff --git a/mods/stairs/models/stairs_stair.obj b/mods/stairs/models/stairs_stair.obj deleted file mode 100644 index 929c733..0000000 --- a/mods/stairs/models/stairs_stair.obj +++ /dev/null @@ -1,43 +0,0 @@ -v -.5 0 -.5 -v -.5 -.5 -.5 -v -.5 0 0 -v .5 0 0 -v .5 -.5 -.5 -v .5 0 -.5 -v -.5 -.5 .5 -v .5 -.5 .5 -v -.5 .5 0 -v .5 .5 0 -v -.5 .5 .5 -v .5 .5 .5 -vt 0 .5 -vt 0 0 -vt .5 .5 -vt 1 0 -vt 1 .5 -vt 1 1 -vt 0 1 -vt .5 1 -vt 1 0 -vt 1 1 -vt 0 1 -vt 0 0 -vn -1 0 0 -vn 1 0 0 -vn 0 0 -1 -vn 0 -1 0 -vn 0 1 0 -vn 0 0 1 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/3/2 5/4/2 6/5/2 -f 2/4/3 1/5/3 6/1/3 5/2/3 -f 7/4/4 2/6/4 5/7/4 8/2/4 -f 6/2/5 1/4/5 3/5/5 4/1/5 -f 3/5/3 9/6/3 10/7/3 4/1/3 -f 11/6/5 12/7/5 10/1/5 9/5/5 -f 4/3/2 10/8/2 12/7/2 -f 8/9/6 12/10/6 11/11/6 7/12/6 -f 3/3/1 11/6/1 9/8/1 -f 2/2/1 7/4/1 11/6/1 -f 5/4/2 12/7/2 8/2/2 diff --git a/mods/tnt/README.txt b/mods/tnt/README.txt deleted file mode 100644 index 90a3467..0000000 --- a/mods/tnt/README.txt +++ /dev/null @@ -1,36 +0,0 @@ -=== TNT mod for Minetest === -by PilzAdam and ShadowNinja - -Introduction: -This mod adds TNT to Minetest. TNT is a tool to help the player -in mining. - -How to use the mod: -Craft gunpowder by placing coal and gravel in the crafting area. The -gunpowder can be used to craft TNT or as fuze for TNT. To craft TNT -surround gunpowder with 4 wood in a + shape. -There are different ways to blow up TNT: - 1. Hit it with a torch. - 2. Hit a gunpowder fuze that leads to a TNT block with a torch. - 3. Activate it with mesecons (fastest way) -Be aware of the damage radius of 7 blocks! - -License: -WTFPL (see below) - -See also: -http://minetest.net/ - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/mods/tnt/depends.txt b/mods/tnt/depends.txt deleted file mode 100644 index 5ff216f..0000000 --- a/mods/tnt/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -fire - diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua deleted file mode 100644 index 8ce018b..0000000 --- a/mods/tnt/init.lua +++ /dev/null @@ -1,390 +0,0 @@ - --- Default to enabled in singleplayer and disabled in multiplayer -local singleplayer = minetest.is_singleplayer() -local setting = minetest.setting_getbool("enable_tnt") -if (not singleplayer and setting ~= true) or - (singleplayer and setting == false) then - return -end - --- loss probabilities array (one in X will be lost) -local loss_prob = {} - -loss_prob["default:cobble"] = 3 -loss_prob["default:dirt"] = 4 - -local radius = tonumber(minetest.setting_get("tnt_radius") or 3) - --- Fill a list with data for content IDs, after all nodes are registered -local cid_data = {} -minetest.after(0, function() - for name, def in pairs(minetest.registered_nodes) do - cid_data[minetest.get_content_id(name)] = { - name = name, - drops = def.drops, - flammable = def.groups.flammable, - on_blast = def.on_blast, - } - end -end) - -local function rand_pos(center, pos, radius) - pos.x = center.x + math.random(-radius, radius) - pos.z = center.z + math.random(-radius, radius) -end - -local function eject_drops(drops, pos, radius) - local drop_pos = vector.new(pos) - for _, item in pairs(drops) do - local count = item:get_count() - local max = item:get_stack_max() - if count > max then - item:set_count(max) - end - while count > 0 do - if count < max then - item:set_count(count) - end - rand_pos(pos, drop_pos, radius) - local obj = minetest.add_item(drop_pos, item) - if obj then - obj:get_luaentity().collect = true - obj:setacceleration({x=0, y=-10, z=0}) - obj:setvelocity({x=math.random(-3, 3), y=10, - z=math.random(-3, 3)}) - end - count = count - max - end - end -end - -local function add_drop(drops, item) - item = ItemStack(item) - local name = item:get_name() - if loss_prob[name] ~= nil and math.random(1, loss_prob[name]) == 1 then - return - end - - local drop = drops[name] - if drop == nil then - drops[name] = item - else - drop:set_count(drop:get_count() + item:get_count()) - end -end - -local fire_node = {name="fire:basic_flame"} - -local function destroy(drops, pos, cid) - if minetest.is_protected(pos, "") then - return - end - local def = cid_data[cid] - if def and def.on_blast then - def.on_blast(vector.new(pos), 1) - return - end - if def and def.flammable then - minetest.set_node(pos, fire_node) - else - minetest.remove_node(pos) - if def then - local node_drops = minetest.get_node_drops(def.name, "") - for _, item in ipairs(node_drops) do - add_drop(drops, item) - end - end - end -end - - -local function calc_velocity(pos1, pos2, old_vel, power) - local vel = vector.direction(pos1, pos2) - vel = vector.normalize(vel) - vel = vector.multiply(vel, power) - - -- Divide by distance - local dist = vector.distance(pos1, pos2) - dist = math.max(dist, 1) - vel = vector.divide(vel, dist) - - -- Add old velocity - vel = vector.add(vel, old_vel) - return vel -end - -local function entity_physics(pos, radius) - -- Make the damage radius larger than the destruction radius - radius = radius * 2 - local objs = minetest.get_objects_inside_radius(pos, radius) - for _, obj in pairs(objs) do - local obj_pos = obj:getpos() - local obj_vel = obj:getvelocity() - local dist = math.max(1, vector.distance(pos, obj_pos)) - - if obj_vel ~= nil then - obj:setvelocity(calc_velocity(pos, obj_pos, - obj_vel, radius * 10)) - end - - local damage = (4 / dist) * radius - obj:set_hp(obj:get_hp() - damage) - end -end - -local function add_effects(pos, radius) - minetest.add_particlespawner({ - amount = 128, - time = 1, - minpos = vector.subtract(pos, radius / 2), - maxpos = vector.add(pos, radius / 2), - minvel = {x=-20, y=-20, z=-20}, - maxvel = {x=20, y=20, z=20}, - minacc = vector.new(), - maxacc = vector.new(), - minexptime = 1, - maxexptime = 3, - minsize = 8, - maxsize = 16, - texture = "tnt_smoke.png", - }) -end - -local function burn(pos) - local name = minetest.get_node(pos).name - if name == "tnt:tnt" then - minetest.sound_play("tnt_ignite", {pos=pos}) - minetest.set_node(pos, {name="tnt:tnt_burning"}) - minetest.get_node_timer(pos):start(1) - elseif name == "tnt:gunpowder" then - minetest.sound_play("tnt_gunpowder_burning", {pos=pos, gain=2}) - minetest.set_node(pos, {name="tnt:gunpowder_burning"}) - minetest.get_node_timer(pos):start(1) - end -end - -local function explode(pos, radius) - local pos = vector.round(pos) - local vm = VoxelManip() - local pr = PseudoRandom(os.time()) - local p1 = vector.subtract(pos, radius) - local p2 = vector.add(pos, radius) - local minp, maxp = vm:read_from_map(p1, p2) - local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) - local data = vm:get_data() - - local drops = {} - local p = {} - - local c_air = minetest.get_content_id("air") - - for z = -radius, radius do - for y = -radius, radius do - local vi = a:index(pos.x + (-radius), pos.y + y, pos.z + z) - for x = -radius, radius do - if (x * x) + (y * y) + (z * z) <= - (radius * radius) + pr:next(-radius, radius) then - local cid = data[vi] - p.x = pos.x + x - p.y = pos.y + y - p.z = pos.z + z - if cid ~= c_air then - destroy(drops, p, cid) - end - end - vi = vi + 1 - end - end - end - - return drops -end - - -local function boom(pos) - minetest.sound_play("tnt_explode", {pos=pos, gain=1.5, max_hear_distance=2*64}) - minetest.set_node(pos, {name="tnt:boom"}) - minetest.get_node_timer(pos):start(0.5) - - local drops = explode(pos, radius) - entity_physics(pos, radius) - eject_drops(drops, pos, radius) - add_effects(pos, radius) -end - -minetest.register_node("tnt:tnt", { - description = "TNT", - tiles = {"tnt_top.png", "tnt_bottom.png", "tnt_side.png"}, - is_ground_content = false, - groups = {dig_immediate=2, mesecon=2}, - sounds = default.node_sound_wood_defaults(), - on_punch = function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "default:torch" then - minetest.sound_play("tnt_ignite", {pos=pos}) - minetest.set_node(pos, {name="tnt:tnt_burning"}) - minetest.get_node_timer(pos):start(4) - end - end, - on_blast = function(pos, intensity) - burn(pos) - end, - mesecons = {effector = {action_on = boom}}, -}) - -minetest.register_node("tnt:tnt_burning", { - tiles = { - { - name = "tnt_top_burning_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - "tnt_bottom.png", "tnt_side.png"}, - light_source = 5, - drop = "", - sounds = default.node_sound_wood_defaults(), - on_timer = boom, - -- unaffected by explosions - on_blast = function() end, -}) - -minetest.register_node("tnt:boom", { - drawtype = "plantlike", - tiles = {"tnt_boom.png"}, - light_source = default.LIGHT_MAX, - walkable = false, - drop = "", - groups = {dig_immediate=3}, - on_timer = function(pos, elapsed) - minetest.remove_node(pos) - end, - -- unaffected by explosions - on_blast = function() end, -}) - -minetest.register_node("tnt:gunpowder", { - description = "Gun Powder", - drawtype = "raillike", - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - walkable = false, - tiles = {"tnt_gunpowder_straight.png", "tnt_gunpowder_curved.png", "tnt_gunpowder_t_junction.png", "tnt_gunpowder_crossing.png"}, - inventory_image = "tnt_gunpowder_inventory.png", - wield_image = "tnt_gunpowder_inventory.png", - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - groups = {dig_immediate=2,attached_node=1,connect_to_raillike=minetest.raillike_group("gunpowder")}, - sounds = default.node_sound_leaves_defaults(), - - on_punch = function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "default:torch" then - burn(pos) - end - end, - on_blast = function(pos, intensity) - burn(pos) - end, -}) - -minetest.register_node("tnt:gunpowder_burning", { - drawtype = "raillike", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - light_source = 5, - tiles = {{ - name = "tnt_gunpowder_burning_straight_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_curved_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_t_junction_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_crossing_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }}, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - drop = "", - groups = {dig_immediate=2,attached_node=1,connect_to_raillike=minetest.raillike_group("gunpowder")}, - sounds = default.node_sound_leaves_defaults(), - on_timer = function(pos, elapsed) - for dx = -1, 1 do - for dz = -1, 1 do - for dy = -1, 1 do - if not (dx == 0 and dz == 0) then - burn({ - x = pos.x + dx, - y = pos.y + dy, - z = pos.z + dz, - }) - end - end - end - end - minetest.remove_node(pos) - end, - -- unaffected by explosions - on_blast = function() end, -}) - -minetest.register_abm({ - nodenames = {"tnt:tnt", "tnt:gunpowder"}, - neighbors = {"fire:basic_flame", "default:lava_source", "default:lava_flowing"}, - interval = 1, - chance = 1, - action = burn, -}) - -minetest.register_craft({ - output = "tnt:gunpowder", - type = "shapeless", - recipe = {"default:coal_lump", "default:gravel"} -}) - -minetest.register_craft({ - output = "tnt:tnt", - recipe = { - {"", "group:wood", ""}, - {"group:wood", "tnt:gunpowder", "group:wood"}, - {"", "group:wood", ""} - } -}) - -if minetest.setting_get("log_mods") then - minetest.debug("[TNT] Loaded!") -end - diff --git a/mods/tnt/sounds/tnt_explode.ogg b/mods/tnt/sounds/tnt_explode.ogg deleted file mode 100644 index a414ea046bf76298f6f1406d574f15741c515248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12808 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 U+X>QYKtmZkUHx3vIVCg!0PsFO;Q#;t diff --git a/mods/tnt/textures/tnt_bottom.png b/mods/tnt/textures/tnt_bottom.png deleted file mode 100644 index 95f66cb90fa1a27b8a6417fe621b7938194c3a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uDci*E-)~>VqkcY^lBDR vP}I}KF@!@lIp*Yn0|#z!s5?38a2;WYxX&Rd&U~pDsDQ!K)z4*}Q$iB}9RL{A diff --git a/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png deleted file mode 100644 index a901f7bdc200ac079018060d4267d2c12dcd398b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-ODbP)AI z5d?s8T8>pFTW!Da>12)bUc@n5uNExh*x0M0qynWPImXH`N7;N;HQ*uxy*GYaOH50(eT4ZNIz z8W(&pv6=XgAlNUn7;#?a|>qPN1CcPuTiHA-%`+rA)s z@__b6s~&YF7epKwrqMJ4=gZ@}`T*l-tfG+w=riy4^FZc-b1t!FafK(gZJW(H{*D!Q zUH1s_rfF!NXG|mT@oDk>^@HnN2jzs2x7LEUj2a*ZZM3&VlUR-TW2tg%sH4n4`yQ@FY zs&WzwT;AKZrNiNnEb!h_-}lLXv1`)^O3HX#3o|W_w1gl{)-qB{X}%4Ux&IfCh;Q?p zXR7*xKjFdd{y^r!W*%tayom=<8@NyY>K_cFVmN3U7rx4>T9#Q>dyQ#4w2y ytExYc4=k~0od=SUn|bh7e-OW&-r~VpfA9;n;PF(;jD(y30000J!^tCfh^ z`rlh?+3WS%IT(+}&2#VUQFu^3>rfsnb0}jBCzA<)4`{9V`TliTvE6R}@IYGnE<6aX zQ2DsbgJ5x)2Uo+bx>@qJ))D}cBx&v>j^p+nDfzeNfp_3wFz9&jJQhV!<$mxIS`UZA zLCK&!olZrksyfj!hx*}xsw(H#w=}Gjy#u2tDtIuP&BFV`7*mY*|F|E-aZHKiCZKd} z^z{2dqxXXFAW4$z6Z*XVWlqYd%k%ttk)7`cz%L&j;JqNB-h~G@wKGt^AG`!O!SQ&! ai2rZc8DC!3*65S~0000P{(@P~opePCsLL^z=i4(nHq{rv- z;wg8w&5zgbupSuOxvDA_BjAe0b@^aSN6ZJJKG5-j#8DU@%qLOgKodIqIN&n}jFGU7 zKdz?_L>=g(4~#V!h5^CLMITsU?7GgmAGG=)gq5B3fhh$7fUox-r%OoN1FP|Y7zHBY z&$n(FzWXpSGns1RHO}>M1wIfB*7B|3Wjxmhw|_5$sP*voLXbuRfH;o1ZNOQU$%=S; zJ~*9D7x^HvU8;TG(_HSrWx90DbRH=3<^zrK`ugA(1j$ky!mGjH00000NkvXXu0mjf D@G;Vr diff --git a/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png deleted file mode 100644 index a556072c01baa3ad0c0dce4719974cbac8fc7063..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmV;R0$=@!P)DbJt>;JPk}2=WZ%IF1@no`I4ip*(|r z6vEjw%@SZd9ybFMp>xg!k)+IlAn{lVwYMW2Ju2IikVHInjhl7r1=W9%Z?vqL>#HTjo~BYrQJOGBv+<_lid!?6R}GUwz)3qL;>h_BdQ zL~q`u0Dd5jW4RvOTo=`f+~Z@u;HZAr)&rx40urYlav-c-cLUE~yXg1($g^Lx10m_b zRXq^XNemgSat_1ryvYOrzVGXSG?|MGXIc|U(*tl_mnz-(czPhUPN#F3{XnLTCplp3 z!6)Nb#hwKC^8WXIv$XHq#j>n2nlw%6=DI)}$0SX`aU9As&}cNOD)V7#&GkT3rt*HE ze2psm0Xybg6ooNgaD4ytSJVS~y)eh>tK)bT%^-`Qouqhc5U0000eyp|f0$G^M#AJ-Xhs78PfcVE!N`?GdKstPm;I+{% z=6NOnarXzgU_Q;=d6|D$g9H5QqV^K61`{CwU$~g{;Ai7vbC5*0tErzOrEm00000NkvXXu0mjfvjA$o diff --git a/mods/tnt/textures/tnt_gunpowder_curved.png b/mods/tnt/textures/tnt_gunpowder_curved.png deleted file mode 100644 index cb8b4eacff8135621086125e0034f0f01de77f86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmV+n0rUQeP)cU|G%*jJ0%Df7Vnzdt##MgCUU01|$jA@!smL=#_t(20T za|pu_%d)_Gk2FmYMG>TwnCF>(yxkbXT5BH1k=wRq04R!r-+H`h8dgfN)|%_O=8sml z)-nN7~!b)01xe-HUk;uT=ucLYIzBuVfq01@FlPaMbbbnP!1b3Q(f Sv?!tg0000_8x5 z%nsx%3S%q^<1LS3Xi8$}$zqt8%Q7)n?*IS)Dc7&40j*&y3GxeOaCmkj4ah0=ba4!+ zxK(=QqF9rHfNNmD^QgpS9+_^B{@16TwqEEzZ+YVSM4sZF#db@#Y@6aU;nXIt1>6lH zx7i+u$eC}r_E)j)_shHf>wnx)TxPmVm6?xWA)81;)czlWXYPNOuKV|+(!%!DF`l_i lnN3a^J!P&5J7&m89G6#lz%4UF?XNV**PgC^F6*2UngEQ!VbA~o diff --git a/mods/tnt/textures/tnt_gunpowder_straight.png b/mods/tnt/textures/tnt_gunpowder_straight.png deleted file mode 100644 index 8ab0e3c8b118ab5a2bd1eae47b1a6a070e601b7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmV<703QE|P)ZBLLe6pzW?KSQTTe%Qf!UJ4umWuVJDjnMCiIsfMR=GY_TlMJ=9@- zW0CW}GTSYKq9_EI_x^6OZ@l-4m|U}2e2!#P*R=pm)AY-v9WZ&ekM&kuA^2G&|a z2){?BMF7`DkaOnweBzwrd_GfEm3r^VIkQ@=*zI<#*K4(XHma&ZL`W&oGz~dtZnqnk z%Y~E@`~AK@hxvT2fG(FyO)05}=yto+qA0Z0R|~W&gWlmMpvU7ujFA{4MNx1(9?hH7 zbY4M3^m@G-fEXjzTD2xyp`<>ZrHoVR$C0#5Q ay^Ak!rCtr@ct0-y0000L^B%H{MZ=` X4>LJVxOGq&sE@(Z)z4*}Q$iB}^57uD diff --git a/mods/tnt/textures/tnt_smoke.png b/mods/tnt/textures/tnt_smoke.png deleted file mode 100644 index 488b50fe958d33fa4cd50fa383a4685db045def5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^Fw4`$F~s6@a>4>ti^@+=>QiQE7$hEQ`G3RY@DXvHh=$u6+S=Ge zd|6pp|9|XU+`ubsmaui^1PiVPOaAGbFCN{bP0l+XkK@H9k* diff --git a/mods/tnt/textures/tnt_top.png b/mods/tnt/textures/tnt_top.png deleted file mode 100644 index 31b807cb6a8af7552054e756c51c2b9fa6f00ece..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0VPh1H%OdhF1&>aW72H z0Qt_IE{-7_vaAOUc^e!USPtr*xbCsQjpb1succ^+MnkBx-kA&ARxEO!l)K!PuY_mM tddFuxe>L`X|5!80cwug!>r|DWjAtI|q_o$YOaU6l;OXk;vd$@?2>`HcEsX#G diff --git a/mods/tnt/textures/tnt_top_burning.png b/mods/tnt/textures/tnt_top_burning.png deleted file mode 100644 index fc0d4905f628b501963c2c6fc3e0df6b159639cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE0EsBz;JgTe~DWM4f D`zSFl diff --git a/mods/tnt/textures/tnt_top_burning_animated.png b/mods/tnt/textures/tnt_top_burning_animated.png deleted file mode 100644 index 18a270fb9a453bb62cd9d087169ddd71f6db30ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!3-o-7PBt_Qv3lvA+A7r7X!lu28MfQ7+x_j zq?TA60t(IYba4!+U_3kdBG(}U0hZ@^pZ?#^X)%lGvss}KCBfCGcRTU0gtB%|$C@?F zJNZ6Ud8F(MZxha9^VwrOqoW|*Lv8Y;#)P+m0$1dOBC4j?>HqUito`lCwvA^uf1lk7 zJAvu^XSV!gxKS%{O->-7`UkiC^V$>Ezdvvu_*8grxzopr0NK%5q5uE@