From 3dd0d847163fc83b537a8ce5f38554300e5d134f Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 1 Jul 2016 13:08:04 -0500 Subject: [PATCH] Update doors mod, add ts_doors --- mods/bucket/init.lua | 8 + mods/default/functions.lua | 30 +- mods/default/nodes.lua | 41 +- mods/doors/README.txt | 68 +- mods/doors/init.lua | 1200 ++++++++++------- mods/doors/models/door_a.obj | 40 + mods/doors/models/door_b.obj | 40 + mods/doors/models/doors_fencegate_closed.obj | 106 ++ mods/doors/models/doors_fencegate_open.obj | 112 ++ mods/doors/sounds/doors_door_close.ogg | Bin 20157 -> 6161 bytes mods/doors/sounds/doors_door_open.ogg | Bin 11915 -> 6184 bytes mods/doors/sounds/doors_fencegate_close.ogg | Bin 0 -> 10032 bytes mods/doors/sounds/doors_fencegate_open.ogg | Bin 0 -> 8942 bytes mods/doors/sounds/doors_glass_door_close.ogg | Bin 0 -> 7289 bytes mods/doors/sounds/doors_glass_door_open.ogg | Bin 0 -> 7288 bytes mods/doors/sounds/doors_steel_door_close.ogg | Bin 0 -> 8574 bytes mods/doors/sounds/doors_steel_door_open.ogg | Bin 0 -> 5510 bytes mods/doors/textures/doors_blank.png | Bin 0 -> 95 bytes mods/doors/textures/doors_door_glass.png | Bin 0 -> 3064 bytes .../textures/doors_door_obsidian_glass.png | Bin 0 -> 2988 bytes mods/doors/textures/doors_door_steel.png | Bin 0 -> 1099 bytes mods/doors/textures/doors_door_wood.png | Bin 0 -> 1662 bytes mods/doors/textures/doors_item_glass.png | Bin 0 -> 186 bytes .../textures/doors_item_obsidian_glass.png | Bin 0 -> 186 bytes mods/doors/textures/doors_item_steel.png | Bin 0 -> 132 bytes mods/doors/textures/doors_item_wood.png | Bin 0 -> 130 bytes mods/doors/textures/doors_trapdoor_side.png | Bin 173 -> 233 bytes mods/doors/textures/doors_trapdoor_steel.png | Bin 0 -> 153 bytes .../textures/doors_trapdoor_steel_side.png | Bin 0 -> 101 bytes mods/fire/init.lua | 4 +- mods/mg/biomes.lua | 55 +- mods/mg/init.lua | 2 +- mods/mg/nodes.lua | 4 +- mods/mobs/spawner.lua | 13 +- mods/ts_doors/LICENSE | 3 + mods/ts_doors/README.md | 6 + mods/ts_doors/depends.txt | 3 + mods/ts_doors/description.txt | 1 + mods/ts_doors/init.lua | 63 + mods/ts_doors/mod.conf | 1 + mods/ts_doors/screenshot.png | Bin 0 -> 105586 bytes mods/ts_doors/textures/ts_doors_base.png | Bin 0 -> 771 bytes mods/ts_doors/textures/ts_doors_base_inv.png | Bin 0 -> 566 bytes .../textures/ts_doors_base_locked.png | Bin 0 -> 793 bytes .../textures/ts_doors_base_locked_inv.png | Bin 0 -> 545 bytes 45 files changed, 1298 insertions(+), 502 deletions(-) create mode 100644 mods/doors/models/door_a.obj create mode 100644 mods/doors/models/door_b.obj create mode 100644 mods/doors/models/doors_fencegate_closed.obj create mode 100644 mods/doors/models/doors_fencegate_open.obj create mode 100644 mods/doors/sounds/doors_fencegate_close.ogg create mode 100644 mods/doors/sounds/doors_fencegate_open.ogg create mode 100644 mods/doors/sounds/doors_glass_door_close.ogg create mode 100644 mods/doors/sounds/doors_glass_door_open.ogg create mode 100644 mods/doors/sounds/doors_steel_door_close.ogg create mode 100644 mods/doors/sounds/doors_steel_door_open.ogg create mode 100644 mods/doors/textures/doors_blank.png create mode 100644 mods/doors/textures/doors_door_glass.png create mode 100644 mods/doors/textures/doors_door_obsidian_glass.png create mode 100644 mods/doors/textures/doors_door_steel.png create mode 100644 mods/doors/textures/doors_door_wood.png create mode 100644 mods/doors/textures/doors_item_glass.png create mode 100644 mods/doors/textures/doors_item_obsidian_glass.png create mode 100644 mods/doors/textures/doors_item_steel.png create mode 100644 mods/doors/textures/doors_item_wood.png create mode 100644 mods/doors/textures/doors_trapdoor_steel.png create mode 100644 mods/doors/textures/doors_trapdoor_steel_side.png create mode 100755 mods/ts_doors/LICENSE create mode 100755 mods/ts_doors/README.md create mode 100755 mods/ts_doors/depends.txt create mode 100755 mods/ts_doors/description.txt create mode 100755 mods/ts_doors/init.lua create mode 100755 mods/ts_doors/mod.conf create mode 100644 mods/ts_doors/screenshot.png create mode 100755 mods/ts_doors/textures/ts_doors_base.png create mode 100644 mods/ts_doors/textures/ts_doors_base_inv.png create mode 100755 mods/ts_doors/textures/ts_doors_base_locked.png create mode 100644 mods/ts_doors/textures/ts_doors_base_locked_inv.png diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua index eeff992..54e10b1 100644 --- a/mods/bucket/init.lua +++ b/mods/bucket/init.lua @@ -167,6 +167,14 @@ bucket.register_liquid( "Water Bucket" ) +bucket.register_liquid( + "default:mg_water_source", + "default:water_flowing", + "bucket:bucket_water", + "bucket_water.png", + "Water Bucket" +) + bucket.register_liquid( "default:lava_source", "default:lava_flowing", diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 5a86e08..caa179e 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -188,16 +188,36 @@ minetest.register_abm({ -- freeze things minetest.register_abm({ nodenames = {"group:freezes"}, - neighbors = {"group:frozen"}, + neighbors = {"group:cold"}, interval = 10, - chance = 2, + chance = 4, action = function(pos, node) - local new_node = minetest.registered_nodes[node.name].freezemelt + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "air" then + pos.y = pos.y + 1 + local new_node = minetest.registered_nodes[node.name].freezemelt + if new_node ~= nil then + minetest.set_node(pos,{name=new_node}) + else + minetest.log("error","Freezing node without freezemelt set: "..node.name) + end + end + end +}) + +-- melt things +minetest.register_abm({ + nodenames = {"group:melts"}, + neighbors = {"group:hot"}, + interval = 10, + chance = 4, + action = function(pos, node) + local new_node = minetest.registered_nodes[node.name].freezemelt if new_node ~= nil then minetest.set_node(pos,{name=new_node}) else - minetest.log("error","Freezing node without freezemelt set: "..node.name) - end + minetest.log("error","Thawing node without freezemelt set: "..node.name) + end end }) diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index 9883837..f77c70e 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -502,7 +502,7 @@ minetest.register_node("default:rail", { -- but how to specify the dimensions for curved and sideways rails? fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, }, - groups = {bendy=2,dig_immediate=2,attached_node=1}, + groups = {bendy=2,dig_immediate=2,attached_node=1,connect_to_raillike=1}, }) minetest.register_node("default:ladder", { @@ -605,7 +605,38 @@ minetest.register_node("default:water_source", { liquid_viscosity = WATER_VISC, freezemelt = "default:ice", post_effect_color = {a=64, r=100, g=100, b=200}, - groups = {water=3, liquid=3, puts_out_fire=1, freezes=1}, + groups = {water=3, liquid=3, puts_out_fire=1, freezes = 1}, +}) + +minetest.register_node("default:mg_water_source", { + description = "Mapgen Water Source", + inventory_image = minetest.inventorycube("default_water.png"), + drawtype = "liquid", + tiles = { + {name="default_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0}} + }, + special_tiles = { + -- New-style water source material (mostly unused) + { + name="default_water_source_animated.png", + animation={type="vertical_frames", aspect_w=128, aspect_h=128, length=2.0}, + backface_culling = false, + } + }, + alpha = WATER_ALPHA, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 1, + liquidtype = "source", + liquid_alternative_flowing = "default:water_flowing", + liquid_alternative_source = "default:mg_water_source", + liquid_viscosity = WATER_VISC, + post_effect_color = {a=64, r=100, g=100, b=200}, + groups = {water=3, liquid=3, puts_out_fire=1 }, }) minetest.register_node("default:lava_flowing", { @@ -1579,7 +1610,7 @@ minetest.register_node("default:ice", { is_ground_content = true, paramtype = "light", freezemelt = "default:water_source", - groups = {choppy=3,cracky=3, melts=1, frozen=1}, + groups = {choppy=3,cracky=3, melts=1, cold=1}, sounds = default.node_sound_glass_defaults(), }) @@ -1602,7 +1633,7 @@ minetest.register_node("default:snow", { {-0.5, -0.5, -0.5, 0.5, -0.5+2/16, 0.5}, }, }, - groups = {crumbly=3,falling_node=1, melts=1, float=1,puts_out_fire=1, frozen=1}, + groups = {crumbly=3,falling_node=1, melts=1, float=1,puts_out_fire=1, cold=1}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_snow_footstep", gain=0.25}, dug = {name="default_snow_footstep", gain=0.75}, @@ -1615,7 +1646,7 @@ minetest.register_node("default:snowblock", { tiles = {"default_snow.png"}, is_ground_content = true, freezemelt = "default:water_source", - groups = {crumbly=3, melts=1, puts_out_fire=1,frozen=1}, + groups = {crumbly=3, melts=1, puts_out_fire=1,cold=1}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_snow_footstep", gain=0.25}, dug = {name="default_snow_footstep", gain=0.75}, diff --git a/mods/doors/README.txt b/mods/doors/README.txt index f1d6ab2..6c03678 100644 --- a/mods/doors/README.txt +++ b/mods/doors/README.txt @@ -1,9 +1,16 @@ -Minetest 0.4 mod: doors -======================= +Minetest Game mod: doors +======================== +version: 2.0 License of source code: ----------------------- Copyright (C) 2012 PilzAdam +modified by BlockMen (added sounds, glassdoors[glass, obsidian glass], trapdoor) +Steel trapdoor added by sofar. +Copyright (C) 2016 sofar@foo-projects.org +Re-implemented most of the door algorithms, added meshes, UV wrapped texture +Added doors API to facilitate coding mods accessing and operating doors. +Added Fence Gate model, code, and sounds This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it @@ -11,13 +18,66 @@ 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 media (textures and sounds) +License of textures -------------------------------------- -Textures created by Fernando Zapata (CC BY-SA 3.0): +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_glass_a.png + door_glass_b.png + +following Textures created by PenguinDad (CC BY-SA 4.0): + door_glass.png + door_obsidian_glass.png + +following textures created by sofar (CC-BY-SA-3.0) + doors_trapdoor_steel.png + doors_trapdoor_steel_side.png + door_trapdoor_side.png + + +Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen: WTFPL + door_obsidian_glass.png + +Glass door textures by red-001 based on textures by celeron55: CC BY-SA 3.0 + door_glass.png All other textures (created by PilzAdam): WTFPL + +Door textures were converted to the new texture map by sofar, paramat and +red-001, under the same license as the originals. + +Models: +-------------------------------------- +Door 3d models by sofar (CC-BY-SA-3.0) + - door_a.obj + - door_b.obj +Fence gate models by sofar (CC-BY-SA-3.0) + - fencegate_open.obj + - fencegate_closed.obj + +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 +fencegate_open.ogg: + http://www.freesound.org/people/mhtaylor67/sounds/126041/ - CC0 +fencegate_close.ogg: + http://www.freesound.org/people/BarkersPinhead/sounds/274807/ - CC-BY-3.0 + http://www.freesound.org/people/rivernile7/sounds/249573/ - CC-BY-3.0 +Steel door sounds open & close (CC-BY-3.0) by HazMatt + - http://www.freesound.org/people/HazMattt/sounds/187283/ + doors_steel_door_open.ogg + doors_steel_door_close.ogg +doors_glass_door_open.ogg, doors_glass_door_close.ogg: + https://www.freesound.org/people/SkeetMasterFunk69/sounds/235546/ (CC0 1.0) diff --git a/mods/doors/init.lua b/mods/doors/init.lua index cea37dc..343a777 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -1,504 +1,756 @@ + +--[[ + +Copyright (C) 2012 PilzAdam + modified by BlockMen (added sounds, glassdoors[glass, obsidian glass], trapdoor) +Copyright (C) 2015 - Auke Kok + +--]] + +-- our API object doors = {} --- Registers a door -function doors.register_door(name, def) - if def.groups ~= nil then - def.groups.not_in_creative_inventory = 1 - end - - 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") - }) +-- private data +local _doors = {} +_doors.registered_doors = {} +_doors.registered_trapdoors = {} +-- returns an object to a door object or nil +function doors.get(pos) + if _doors.registered_doors[minetest.get_node(pos).name] then + -- A normal upright door + return { + pos = pos, + open = function(self, player) + if self:state() then + return false + end + return _doors.door_toggle(self.pos, player) + end, + close = function(self, player) + if not self:state() then + return false + end + return _doors.door_toggle(self.pos, player) + end, + toggle = function(self, player) + return _doors.door_toggle(self.pos, player) + end, + state = function(self) + local state = minetest.get_meta(self.pos):get_int("state") + return state %2 == 1 + end + } + elseif _doors.registered_trapdoors[minetest.get_node(pos).name] then + -- A trapdoor + return { + pos = pos, + open = function(self, player) + if self:state() then + return false + end + return _doors.trapdoor_toggle(self.pos, player) + end, + close = function(self, player) + if not self:state() then + return false + end + return _doors.trapdoor_toggle(self.pos, player) + end, + toggle = function(self, player) + return _doors.trapdoor_toggle(self.pos, player) + end, + state = function(self) + local name = minetest.get_node(pos).name + return name:sub(-5) == "_open" + end + } + else + return nil + end 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, +-- this hidden node is placed on top of the bottom, and prevents +-- nodes from being placed in the top half of the door. +minetest.register_node("doors:hidden", { + description = "Hidden Door Segment", + -- can't use airlike otherwise falling nodes will turn to entities + -- and will be forever stuck until door is removed. + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + -- has to be walkable for falling nodes to stop falling. + walkable = true, + pointable = false, + diggable = false, + buildable_to = false, + floodable = false, + drop = "", + groups = {not_in_creative_inventory = 1}, + on_blast = function() end, + tiles = {"doors_blank.png"}, + -- 1px transparent block inside door hinge near node top. + nodebox = { + type = "fixed", + fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, + }, + -- collision_box needed otherise selection box would be full node size + collision_box = { + type = "fixed", + fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, + }, }) -minetest.register_craft({ - output = "doors:door_wood", - recipe = { - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"} - } +-- table used to aid door opening/closing +local transform = { + { + { v = "_a", param2 = 3 }, + { v = "_a", param2 = 0 }, + { v = "_a", param2 = 1 }, + { v = "_a", param2 = 2 }, + }, + { + { v = "_b", param2 = 1 }, + { v = "_b", param2 = 2 }, + { v = "_b", param2 = 3 }, + { v = "_b", param2 = 0 }, + }, + { + { v = "_b", param2 = 1 }, + { v = "_b", param2 = 2 }, + { v = "_b", param2 = 3 }, + { v = "_b", param2 = 0 }, + }, + { + { v = "_a", param2 = 3 }, + { v = "_a", param2 = 0 }, + { v = "_a", param2 = 1 }, + { v = "_a", param2 = 2 }, + }, +} + +function _doors.door_toggle(pos, clicker) + local meta = minetest.get_meta(pos) + local def = minetest.registered_nodes[minetest.get_node(pos).name] + local name = def.door.name + + local state = meta:get_string("state") + if state == "" then + -- fix up lvm-placed right-hinged doors, default closed + if minetest.get_node(pos).name:sub(-2) == "_b" then + state = 2 + else + state = 0 + end + else + state = tonumber(state) + end + + if clicker and not minetest.check_player_privs(clicker, "protection_bypass") then + local owner = meta:get_string("doors_owner") + if owner ~= "" then + if clicker:get_player_name() ~= owner then + return false + end + end + end + + local old = state + -- until Lua-5.2 we have no bitwise operators :( + if state % 2 == 1 then + state = state - 1 + else + state = state + 1 + end + + local dir = minetest.get_node(pos).param2 + if state % 2 == 0 then + minetest.sound_play(def.door.sounds[1], {pos = pos, gain = 0.3, max_hear_distance = 10}) + else + minetest.sound_play(def.door.sounds[2], {pos = pos, gain = 0.3, max_hear_distance = 10}) + end + + minetest.swap_node(pos, { + name = name .. transform[state + 1][dir+1].v, + param2 = transform[state + 1][dir+1].param2 + }) + meta:set_int("state", state) + + return true +end + + +local function on_place_node(place_to, newnode, placer, oldnode, itemstack, pointed_thing) + -- Run script hook + local _, callback + for _, callback in ipairs(core.registered_on_placenodes) do + -- Deepcopy pos, node and pointed_thing because callback can modify them + local place_to_copy = {x = place_to.x, y = place_to.y, z = place_to.z} + local newnode_copy = {name = newnode.name, param1 = newnode.param1, param2 = newnode.param2} + local oldnode_copy = {name = oldnode.name, param1 = oldnode.param1, param2 = oldnode.param2} + local pointed_thing_copy = { + type = pointed_thing.type, + above = vector.new(pointed_thing.above), + under = vector.new(pointed_thing.under), + ref = pointed_thing.ref, + } + callback(place_to_copy, newnode_copy, placer, oldnode_copy, itemstack, pointed_thing_copy) + end +end + +function doors.register(name, def) + if not name:find(":") then + name = "doors:" .. name + end + + -- replace old doors of this type automatically + minetest.register_lbm({ + name = ":doors:replace_" .. name:gsub(":", "_"), + nodenames = {name.."_b_1", name.."_b_2"}, + action = function(pos, node) + local l = tonumber(node.name:sub(-1)) + local meta = minetest.get_meta(pos) + local h = meta:get_int("right") + 1 + local p2 = node.param2 + local replace = { + { { type = "a", state = 0 }, { type = "a", state = 3 } }, + { { type = "b", state = 1 }, { type = "b", state = 2 } } + } + local new = replace[l][h] + -- retain infotext and doors_owner fields + minetest.swap_node(pos, {name = name .. "_" .. new.type, param2 = p2}) + meta:set_int("state", new.state) + -- properly place doors:hidden at the right spot + local p3 = p2 + if new.state >= 2 then + p3 = (p3 + 3) % 4 + end + if new.state % 2 == 1 then + if new.state >= 2 then + p3 = (p3 + 1) % 4 + else + p3 = (p3 + 3) % 4 + end + end + -- wipe meta on top node as it's unused + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, + {name = "doors:hidden", param2 = p3}) + end + }) + + minetest.register_craftitem(":" .. name, { + description = def.description, + inventory_image = def.inventory_image, + + on_place = function(itemstack, placer, pointed_thing) + local pos = nil + + if not pointed_thing.type == "node" then + return itemstack + end + + local node = minetest.get_node(pointed_thing.under) + local pdef = minetest.registered_nodes[node.name] + if pdef and pdef.on_rightclick then + return pdef.on_rightclick(pointed_thing.under, + node, placer, itemstack, pointed_thing) + end + + if pdef and pdef.buildable_to then + pos = pointed_thing.under + else + pos = pointed_thing.above + node = minetest.get_node(pos) + pdef = minetest.registered_nodes[node.name] + if not pdef or not pdef.buildable_to then + return itemstack + end + end + + local above = { x = pos.x, y = pos.y + 1, z = pos.z } + if not minetest.registered_nodes[minetest.get_node(above).name].buildable_to then + return itemstack + end + + local pn = placer:get_player_name() + if minetest.is_protected(pos, pn) or minetest.is_protected(above, pn) then + return itemstack + end + + local dir = minetest.dir_to_facedir(placer:get_look_dir()) + + local ref = { + { x = -1, y = 0, z = 0 }, + { x = 0, y = 0, z = 1 }, + { x = 1, y = 0, z = 0 }, + { x = 0, y = 0, z = -1 }, + } + + local aside = { + x = pos.x + ref[dir + 1].x, + y = pos.y + ref[dir + 1].y, + z = pos.z + ref[dir + 1].z, + } + + local state = 0 + if minetest.get_item_group(minetest.get_node(aside).name, "door") == 1 then + state = state + 2 + minetest.set_node(pos, {name = name .. "_b", param2 = dir}) + minetest.set_node(above, {name = "doors:hidden", param2 = (dir + 3) % 4}) + else + minetest.set_node(pos, {name = name .. "_a", param2 = dir}) + minetest.set_node(above, {name = "doors:hidden", param2 = dir}) + end + + local meta = minetest.get_meta(pos) + meta:set_int("state", state) + + if def.protected then + local pn = placer:get_player_name() + 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 + + on_place_node(pos, minetest.get_node(pos), placer, node, itemstack, pointed_thing) + + return itemstack + end + }) + def.inventory_image = nil + + if def.recipe then + minetest.register_craft({ + output = name, + recipe = def.recipe, + }) + end + def.recipe = nil + + local can_dig = function(pos, digger) + if not def.protected then + return true + end + if minetest.check_player_privs(digger, "protection_bypass") then + return true + end + local meta = minetest.get_meta(pos) + local name = "" + if digger then + name = digger:get_player_name() + end + return meta:get_string("doors_owner") == name + end + + if not def.sounds then + def.sounds = default.node_sound_wood_defaults() + end + + if not def.sound_open then + def.sound_open = "doors_door_open" + end + + if not def.sound_close then + def.sound_close = "doors_door_close" + end + + def.groups.not_in_creative_inventory = 1 + def.groups.door = 1 + def.drop = name + def.door = { + name = name, + sounds = { def.sound_close, def.sound_open }, + } + + def.on_rightclick = function(pos, node, clicker) + _doors.door_toggle(pos, clicker) + end + def.after_dig_node = function(pos, node, meta, digger) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + nodeupdate({x = pos.x, y = pos.y + 1, z = pos.z}) + end + def.can_dig = function(pos, player) + return can_dig(pos, player) + end + def.on_rotate = function(pos, node, user, mode, new_param2) + return false + end + + if def.protected then + def.on_blast = function() end + else + def.on_blast = function(pos, intensity) + minetest.remove_node(pos) + -- hidden node doesn't get blasted away. + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + return {name} + end + end + + def.on_destruct = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + end + + def.drawtype = "mesh" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.sunlight_propagates = true + def.walkable = true + def.is_ground_content = false + def.buildable_to = false + def.selection_box = { type = "fixed", fixed = { -1/2,-1/2,-1/2,1/2,3/2,-6/16} } + def.collision_box = { type = "fixed", fixed = { -1/2,-1/2,-1/2,1/2,3/2,-6/16} } + + def.mesh = "door_a.obj" + minetest.register_node(":" .. name .. "_a", def) + + def.mesh = "door_b.obj" + minetest.register_node(":" .. name .. "_b", def) + + _doors.registered_doors[name .. "_a"] = true + _doors.registered_doors[name .. "_b"] = true +end + +doors.register("door_wood", { + tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, + description = "Wooden Door", + inventory_image = "doors_item_wood.png", + groups = { snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + 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, +doors.register("door_steel", { + tiles = {{ name = "doors_door_steel.png", backface_culling = true }}, + description = "Steel Door", + inventory_image = "doors_item_steel.png", + protected = true, + groups = { snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2 }, + sounds = default.node_sound_stone_defaults(), + sound_open = "doors_steel_door_open", + sound_close = "doors_steel_door_close", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"}, + } }) -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_glass", { + tiles = { "doors_door_glass.png"}, + description = "Glass Door", + inventory_image = "doors_item_glass.png", + groups = { snappy=1, cracky=1, oddly_breakable_by_hand=3 }, + sounds = default.node_sound_glass_defaults(), + sound_open = "doors_glass_door_open", + sound_close = "doors_glass_door_close", + recipe = { + {"default:glass", "default:glass"}, + {"default:glass", "default:glass"}, + {"default:glass", "default:glass"}, + } }) -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, +doors.register("door_obsidian_glass", { + tiles = { "doors_door_obsidian_glass.png" }, + description = "Obsidian Glass Door", + inventory_image = "doors_item_obsidian_glass.png", + groups = { snappy=1, cracky=1, oddly_breakable_by_hand=3 }, + sounds = default.node_sound_glass_defaults(), + sound_open = "doors_glass_door_open", + sound_close = "doors_glass_door_close", + recipe = { + {"default:obsidian_glass", "default:obsidian_glass"}, + {"default:obsidian_glass", "default:obsidian_glass"}, + {"default:obsidian_glass", "default:obsidian_glass"}, + }, }) -minetest.register_craft({ - output = "doors:door_glass", - recipe = { - {"default:glass", "default:glass"}, - {"default:glass", "default:glass"}, - {"default:glass", "default:glass"} - } -}) +-- Capture mods using the old API as best as possible. +function doors.register_door(name, def) + if def.only_placer_can_open then + def.protected = true + end + def.only_placer_can_open = nil -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"} - } -}) + local i = name:find(":") + local modname = name:sub(1, i - 1) + if not def.tiles then + if def.protected then + def.tiles = {{name = "doors_door_steel.png", backface_culling = true}} + else + def.tiles = {{name = "doors_door_wood.png", backface_culling = true}} + end + minetest.log("warning", modname .. " registered door \"" .. name .. "\" " .. + "using deprecated API method \"doors.register_door()\" but " .. + "did not provide the \"tiles\" parameter. A fallback tiledef " .. + "will be used instead.") + end + doors.register(name, def) +end ----trapdoor---- -function doors.register_trapdoor(name, def) - local name_closed = name - local name_opened = name.."_open" +function _doors.trapdoor_toggle(pos, clicker) + if clicker and not minetest.check_player_privs(clicker, "protection_bypass") then + local meta = minetest.get_meta(pos) + local owner = meta:get_string("doors_owner") + if owner ~= "" then + if clicker:get_player_name() ~= owner then + return false + end + end + end - 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 + local node = minetest.get_node(pos) + local def = minetest.registered_nodes[node.name] - 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) + if string.sub(node.name, -5) == "_open" then + minetest.sound_play(def.sound_close, {pos = pos, gain = 0.3, max_hear_distance = 10}) + minetest.swap_node(pos, {name = string.sub(node.name, 1, string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) + else + minetest.sound_play(def.sound_open, {pos = pos, gain = 0.3, max_hear_distance = 10}) + minetest.swap_node(pos, {name = node.name .. "_open", param1 = node.param1, param2 = node.param2}) + end end +function doors.register_trapdoor(name, def) + local name_closed = name + local name_opened = name.."_open" + local function check_player_priv(pos, player) + if not def.protected or minetest.check_player_privs(player, "protection_bypass") then + return true + end + local meta = minetest.get_meta(pos) + local pn = player:get_player_name() + return meta:get_string("doors_owner") == pn + end + + def.on_rightclick = function(pos, node, clicker) + _doors.trapdoor_toggle(pos, clicker) + end + + -- Common trapdoor configuration + def.drawtype = "nodebox" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.is_ground_content = false + def.can_dig = check_player_priv + + if def.protected then + def.after_place_node = function(pos, placer, itemstack, pointed_thing) + local pn = placer:get_player_name() + local meta = minetest.get_meta(pos) + meta:set_string("doors_owner", pn) + meta:set_string("infotext", "Owned by "..pn) + + return minetest.setting_getbool("creative_mode") + end + + def.on_blast = function() end + else + def.on_blast = function(pos, intensity) + minetest.remove_node(pos) + minetest.remove_node({ x = pos.x, y = pos.y + 1, z = pos.z}) + return { name } + end + end + + if not def.sounds then + def.sounds = default.node_sound_wood_defaults() + end + + if not def.sound_open then + def.sound_open = "doors_door_open" + end + + if not def.sound_close then + def.sound_close = "doors_door_close" + end + + 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, -6/16, 0.5} + } + def_closed.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 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, 6/16, 0.5, 0.5, 0.5} + } + def_opened.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} + } + def_opened.tiles = { def.tile_side, def.tile_side, + def.tile_side .. '^[transform3', + def.tile_side .. '^[transform1', + 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) + + _doors.registered_trapdoors[name_opened] = true + _doors.registered_trapdoors[name_closed] = true +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" + 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}, +}) + +doors.register_trapdoor("doors:trapdoor_steel", { + description = "Steel Trapdoor", + inventory_image = "doors_trapdoor_steel.png", + wield_image = "doors_trapdoor_steel.png", + tile_front = "doors_trapdoor_steel.png", + tile_side = "doors_trapdoor_steel_side.png", + protected = true, + sounds = default.node_sound_stone_defaults(), + sound_open = "doors_steel_door_open", + sound_close = "doors_steel_door_close", + groups = {snappy=1, bendy=2, cracky=1, melty=2, level=2, door=1}, }) minetest.register_craft({ - output = 'doors:trapdoor 2', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - {'', '', ''}, - } -}) \ No newline at end of file + output = 'doors:trapdoor 2', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', '', ''}, + } +}) + +minetest.register_craft({ + output = 'doors:trapdoor_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot'}, + } +}) + + +----fence gate---- + +function doors.register_fencegate(name, def) + local fence = { + description = def.description, + drawtype = "mesh", + tiles = { def.texture }, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = false, + drop = name .. "_closed", + connect_sides = { "left", "right" }, + groups = def.groups, + sounds = def.sounds, + on_rightclick = function(pos, clicker) + local node = minetest.get_node(pos) + local node_def = minetest.registered_nodes[node.name] + minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) + minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, + max_hear_distance = 8}) + end, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + }, + } + + if not fence.sounds then + fence.sounds = default.node_sound_wood_defaults() + end + + fence.groups.fence = 1 + + local fence_closed = table.copy(fence) + fence_closed.mesh = "doors_fencegate_closed.obj" + fence_closed.gate = name .. "_open" + fence_closed.sound = "doors_fencegate_open" + fence_closed.collision_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + } + + local fence_open = table.copy(fence) + fence_open.mesh = "doors_fencegate_open.obj" + fence_open.gate = name .. "_closed" + fence_open.sound = "doors_fencegate_close" + fence_open.groups.not_in_creative_inventory = 1 + fence_open.collision_box = { + type = "fixed", + fixed = {{-1/2, -1/2, -1/4, -3/8, 1/2, 1/4}, + {-5/8, -3/8, -14/16, -3/8, 3/8, 0}}, + } + + minetest.register_node(":" .. name .. "_closed", fence_closed) + minetest.register_node(":" .. name .. "_open", fence_open) + + minetest.register_craft({ + output = name .. "_closed", + recipe = { + {"default:stick", def.material, "default:stick"}, + {"default:stick", def.material, "default:stick"} + } + }) +end + +doors.register_fencegate("doors:gate_wood", { + description = "Wooden Fence Gate", + texture = "default_wood.png", + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_acacia_wood", { + description = "Acacia Fence Gate", + texture = "default_acacia_wood.png", + material = "default:acacia_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_junglewood", { + description = "Junglewood Fence Gate", + texture = "default_junglewood.png", + material = "default:junglewood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_pine_wood", { + description = "Pine Fence Gate", + texture = "default_pine_wood.png", + material = "default:pine_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_aspen_wood", { + description = "Aspen Fence Gate", + texture = "default_aspen_wood.png", + material = "default:aspen_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) diff --git a/mods/doors/models/door_a.obj b/mods/doors/models/door_a.obj new file mode 100644 index 0000000..bd5127b --- /dev/null +++ b/mods/doors/models/door_a.obj @@ -0,0 +1,40 @@ +# Blender v2.76 (sub 0) OBJ File: 'door_a.blend' +# www.blender.org +mtllib door_a.mtl +o Cube_Cube.001 +v 0.499000 -0.499000 -0.499000 +v 0.499000 1.499000 -0.499000 +v 0.499000 -0.499000 -0.375000 +v 0.499000 1.499000 -0.375000 +v -0.499000 -0.499000 -0.499000 +v -0.499000 1.499000 -0.499000 +v -0.499000 -0.499000 -0.375000 +v -0.499000 1.499000 -0.375000 +vt 0.842105 1.000000 +vt 0.894737 1.000000 +vt 0.894737 0.000000 +vt 0.842105 0.000000 +vt 0.421053 1.000000 +vt 0.421053 0.000000 +vt 0.947368 1.000000 +vt 0.947368 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.500000 +vt 0.947368 0.500000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +usemtl None +s off +f 2/1/1 4/2/1 3/3/1 1/4/1 +f 4/5/2 8/1/2 7/4/2 3/6/2 +f 8/2/3 6/7/3 5/8/3 7/3/3 +f 6/9/4 2/5/4 1/6/4 5/10/4 +f 1/11/5 3/12/5 7/7/5 5/13/5 +f 6/14/6 8/8/6 4/12/6 2/11/6 diff --git a/mods/doors/models/door_b.obj b/mods/doors/models/door_b.obj new file mode 100644 index 0000000..c5607b8 --- /dev/null +++ b/mods/doors/models/door_b.obj @@ -0,0 +1,40 @@ +# Blender v2.76 (sub 0) OBJ File: 'door_b.blend' +# www.blender.org +mtllib door_b.mtl +o Cube_Cube.001 +v -0.499000 -0.499000 -0.499000 +v -0.499000 1.499000 -0.499000 +v -0.499000 -0.499000 -0.375000 +v -0.499000 1.499000 -0.375000 +v 0.499000 -0.499000 -0.499000 +v 0.499000 1.499000 -0.499000 +v 0.499000 -0.499000 -0.375000 +v 0.499000 1.499000 -0.375000 +vt 0.842105 1.000000 +vt 0.842105 0.000000 +vt 0.894737 0.000000 +vt 0.894737 1.000000 +vt 0.421053 1.000000 +vt 0.421053 0.000000 +vt 0.947368 0.000000 +vt 0.947368 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.947368 0.500000 +vt 1.000000 1.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +usemtl None +s off +f 2/1/1 1/2/1 3/3/1 4/4/1 +f 4/5/2 3/6/2 7/2/2 8/1/2 +f 8/4/3 7/3/3 5/7/3 6/8/3 +f 6/9/4 5/10/4 1/6/4 2/5/4 +f 1/11/5 5/12/5 7/13/5 3/7/5 +f 6/8/6 2/13/6 4/12/6 8/14/6 diff --git a/mods/doors/models/doors_fencegate_closed.obj b/mods/doors/models/doors_fencegate_closed.obj new file mode 100644 index 0000000..0050f70 --- /dev/null +++ b/mods/doors/models/doors_fencegate_closed.obj @@ -0,0 +1,106 @@ +# Blender v2.76 (sub 0) OBJ File: 'gate_closed.blend' +# www.blender.org +mtllib gate_closed.mtl +o Cube_Cube.001 +v -0.625000 -0.500000 0.125000 +v -0.625000 0.500100 0.125000 +v -0.625000 -0.500000 -0.125000 +v -0.625000 0.500100 -0.125000 +v -0.375000 -0.500000 0.125000 +v -0.375000 0.500100 0.125000 +v -0.375000 -0.500000 -0.125000 +v -0.375000 0.500100 -0.125000 +v 0.375000 -0.500000 0.125000 +v 0.375000 0.500100 0.125000 +v 0.375000 -0.500000 -0.125000 +v 0.375000 0.500100 -0.125000 +v 0.625000 -0.500000 0.125000 +v 0.625000 0.500100 0.125000 +v 0.625000 -0.500000 -0.125000 +v 0.625000 0.500100 -0.125000 +v -0.375000 0.187500 0.062500 +v -0.375000 0.312500 0.062500 +v -0.375000 0.187500 -0.062500 +v -0.375000 0.312500 -0.062500 +v 0.375000 0.187500 0.062500 +v 0.375000 0.312500 0.062500 +v 0.375000 0.187500 -0.062500 +v 0.375000 0.312500 -0.062500 +v -0.374831 0.187348 0.062500 +v -0.156342 0.187363 0.062500 +v -0.374831 0.187348 -0.062500 +v -0.156342 0.187363 -0.062500 +v 0.374981 -0.343683 0.062500 +v 0.375065 -0.187304 0.062500 +v 0.374981 -0.343683 -0.062500 +v 0.375065 -0.187304 -0.062500 +vt 0.000000 0.750000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.750000 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 1.000000 -0.000000 +vt 1.000000 0.250000 +vt 0.000000 0.250000 +vt -0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.500000 -0.000000 +vt 0.500000 0.250000 +vt 0.500000 0.750000 +vt 0.500000 1.000000 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 1.000000 0.875000 +vt 0.000000 0.875000 +vt -0.000000 0.687500 +vt 0.000000 0.562500 +vt 1.000000 0.562500 +vt 1.000000 0.687500 +vt 0.813740 0.249033 +vt 0.201557 0.249293 +vt 0.120995 0.125498 +vt 0.987404 0.125469 +vt 0.125000 0.375000 +vt 0.812500 0.375000 +vt 0.937500 0.500000 +vt 0.062500 0.500000 +vt 0.000000 0.125000 +vt 1.000000 0.125000 +vt 0.312500 0.437500 +vt 0.312500 0.312500 +vt 1.000000 0.312500 +vt 1.000000 0.437500 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.578000 -0.816100 0.000000 +vn 0.576200 0.817300 0.000000 +usemtl None +s off +f 2/1/1 4/2/1 3/3/1 1/4/1 +f 4/4/2 8/5/2 7/6/2 3/1/2 +f 8/7/3 6/8/3 5/9/3 7/10/3 +f 6/2/4 2/9/4 1/8/4 5/3/4 +f 1/9/5 3/10/5 7/11/5 5/12/5 +f 6/6/6 8/1/6 4/13/6 2/14/6 +f 10/1/1 12/2/1 11/3/1 9/4/1 +f 12/2/2 16/9/2 15/8/2 11/3/2 +f 16/7/3 14/8/3 13/9/3 15/10/3 +f 14/4/4 10/5/4 9/6/4 13/1/4 +f 9/12/5 11/11/5 15/15/5 13/16/5 +f 14/14/6 16/13/6 12/17/6 10/18/6 +f 20/2/2 24/3/2 23/19/2 19/20/2 +f 22/1/4 18/4/4 17/21/4 21/22/4 +f 17/23/5 19/24/5 23/25/5 21/26/5 +f 22/21/6 24/5/6 20/6/6 18/22/6 +f 28/27/2 32/28/2 31/29/2 27/30/2 +f 30/31/4 26/32/4 25/33/4 29/34/4 +f 25/35/7 27/10/7 31/7/7 29/36/7 +f 30/37/8 32/38/8 28/39/8 26/40/8 diff --git a/mods/doors/models/doors_fencegate_open.obj b/mods/doors/models/doors_fencegate_open.obj new file mode 100644 index 0000000..3fb727f --- /dev/null +++ b/mods/doors/models/doors_fencegate_open.obj @@ -0,0 +1,112 @@ +# Blender v2.76 (sub 0) OBJ File: 'gate_open.blend' +# www.blender.org +mtllib gate_open.mtl +o Cube_Cube.001 +v -0.625000 -0.500000 0.125000 +v -0.625000 0.500100 0.125000 +v -0.625000 -0.500000 -0.125000 +v -0.625000 0.500100 -0.125000 +v -0.375000 -0.500000 0.125000 +v -0.375000 0.500100 0.125000 +v -0.375000 -0.500000 -0.125000 +v -0.375000 0.500100 -0.125000 +v 0.375000 -0.500000 0.125000 +v 0.375000 0.500100 0.125000 +v 0.375000 -0.500000 -0.125000 +v 0.375000 0.500100 -0.125000 +v 0.625000 -0.500000 0.125000 +v 0.625000 0.500100 0.125000 +v 0.625000 -0.500000 -0.125000 +v 0.625000 0.500100 -0.125000 +v 0.434859 0.187500 -0.872359 +v 0.434859 0.312500 -0.872359 +v 0.559859 0.187500 -0.872359 +v 0.559859 0.312500 -0.872359 +v 0.434859 0.187500 -0.122359 +v 0.434859 0.312500 -0.122359 +v 0.559859 0.187500 -0.122359 +v 0.559859 0.312500 -0.122359 +v 0.434859 0.187348 -0.872190 +v 0.434859 0.187363 -0.653701 +v 0.559859 0.187348 -0.872190 +v 0.559859 0.187363 -0.653701 +v 0.434859 -0.343683 -0.122379 +v 0.434859 -0.187304 -0.122294 +v 0.559859 -0.343683 -0.122379 +v 0.559859 -0.187304 -0.122294 +v 0.499560 -0.442900 0.005495 +vt 0.000000 0.750000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.750000 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 1.000000 -0.000000 +vt 1.000000 0.250000 +vt 0.000000 0.250000 +vt -0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.500000 -0.000000 +vt 0.500000 0.250000 +vt 0.500000 0.750000 +vt 0.500000 1.000000 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 1.000000 0.875000 +vt 0.000000 0.875000 +vt -0.000000 0.687500 +vt 0.000000 0.562500 +vt 1.000000 0.562500 +vt 1.000000 0.687500 +vt 0.813740 0.249033 +vt 0.201557 0.249293 +vt 0.120995 0.125498 +vt 0.987404 0.125469 +vt 0.125000 0.375000 +vt 0.812500 0.375000 +vt 0.937500 0.500000 +vt 0.062500 0.500000 +vt 0.000000 0.125000 +vt 1.000000 0.125000 +vt 0.312500 0.437500 +vt 0.312500 0.312500 +vt 1.000000 0.312500 +vt 1.000000 0.437500 +vt 0.312500 0.625000 +vt 0.312500 0.500000 +vt 0.187500 0.500000 +vt 0.187500 0.625000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 -0.816100 -0.578000 +vn 0.000000 0.817300 0.576200 +usemtl None +s off +f 2/1/1 4/2/1 3/3/1 1/4/1 +f 4/4/2 8/5/2 7/6/2 3/1/2 +f 8/7/3 6/8/3 5/9/3 7/10/3 +f 6/2/4 2/9/4 1/8/4 5/3/4 +f 1/9/5 3/10/5 7/11/5 5/12/5 +f 6/6/6 8/1/6 4/13/6 2/14/6 +f 10/1/1 12/2/1 11/3/1 9/4/1 +f 12/2/2 16/9/2 15/8/2 11/3/2 +f 16/7/3 14/8/3 13/9/3 15/10/3 +f 14/4/4 10/5/4 9/6/4 13/1/4 +f 9/12/5 11/11/5 15/15/5 13/16/5 +f 14/14/6 16/13/6 12/17/6 10/18/6 +f 20/2/3 24/3/3 23/19/3 19/20/3 +f 22/1/1 18/4/1 17/21/1 21/22/1 +f 17/23/5 19/24/5 23/25/5 21/26/5 +f 22/21/6 24/5/6 20/6/6 18/22/6 +f 28/27/3 32/28/3 31/29/3 27/30/3 +f 30/31/1 26/32/1 25/33/1 29/34/1 +f 25/35/7 27/10/7 31/7/7 29/36/7 +f 30/37/8 32/38/8 28/39/8 26/40/8 +f 17/41/2 18/42/2 20/43/2 19/44/2 diff --git a/mods/doors/sounds/doors_door_close.ogg b/mods/doors/sounds/doors_door_close.ogg index a39452ba1ed1faad5e07082cb7eb8f7d3b1a6ab3..fede4af323d1b4322180c4a2a0734a60077b4121 100644 GIT binary patch literal 6161 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 yR;a%#AieB0m(KYwO5@hbFMkp`mM6}95~<( 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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 index 7ec7f48093f64422e4af9cf2806888fd8d72b707..9a4c4f1114ed0ef70a6f91646dff16e1c5d9722e 100644 GIT binary patch literal 6184 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 O0Eh=DnBoC8$o~L@cublA literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_fencegate_open.ogg b/mods/doors/sounds/doors_fencegate_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f6dfd1d9778240796820c052213903889e7e2896 GIT binary patch literal 8942 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 literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_glass_door_close.ogg b/mods/doors/sounds/doors_glass_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b3c135598e8a7c7a56d54e05c3ed7ceb006004ca GIT binary patch literal 7289 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 N#BKh$-tEoM{{YSn#=8Ij literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_glass_door_open.ogg b/mods/doors/sounds/doors_glass_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..66e6812d1877340c2f12ddeae02eae1f7c0e1cb1 GIT binary patch literal 7288 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 JtvWFX`X7uryYB!1 literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_steel_door_close.ogg b/mods/doors/sounds/doors_steel_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aea7be670b0763259c269521e035966fa1a8d4e6 GIT binary patch literal 8574 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 H?j`ykI$Eli literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_steel_door_open.ogg b/mods/doors/sounds/doors_steel_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..de87477018cc1186834fa91ef930e45e5018f54c GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_door_glass.png b/mods/doors/textures/doors_door_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..f597299bdfaa2389d40c5179069ccd5685b937f9 GIT binary patch literal 3064 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 R{`>#{002ovPDHLkV1fb(6QckC literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_door_wood.png b/mods/doors/textures/doors_door_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..7b18203eb37b72e44275281e4510e1e33b6290be GIT binary patch literal 1662 zcmV-^27&pBP)000I>NklgA6DB0fqwyP6Rvl z0|Fd6rO4eKfza;qVRB}=yIu~ur>A?TXJr>KsP3M+Rkv=Pd+sUq*~cFw+GaFlR?u3} zZ!tDQoR6dw36areG$^I9q5($dshuC#Utd0Fv8tI(vOzD-1?uHB0GTMfF{6w65C-qH zPh7n&0l0goAQOda|62ia%RIGjHkwV}<3EdvA~RdPSZhEOm#?a3*G8k2BBsP`?cRQY zHBDrux$y0)^2P`^cw5gI+Hf82=U8hfGK2GRs~0gEZ4Jg~zWnN&LF~Wy^usitU-0L@ zUktwg=GPykxO%}={2l;5D3-kc=sv&w!#@V&e)ZGibaZsg@BaAD!S`Q2ewcD=&_b0Q30;CnqNZ+5m8iOXgQA0FLfXu(QJr&|8`~KR@T_=y>qm z8qIuu&Vz#~UiNwN_0!Q!N$otYc2q9%@KRX*;;OVoo zZk!c^F^$u!%8`=a8Eq-60JW#AJb(Sy^8t!K|KxF+&o8#J_47|2C%3r5^_cSL=$POC z>8q{m8~gtApFBvb%0LSEkPxG`dMR>4N(L+2gqUZB+{)JXy@{m?mUpIE!()XdpV(0> z<(V15o*}mel^dpo9cTW`3Pg()KML*LPL5G(xWluv zGfq!WyW+hLK>6m9Z?2oHeE8mk;+?~epVq~EZF`ec&(ANKk~BNy?CcCH8t3Dn7o$O2 z!|DAQ)Gx6jy`6cE52sLFqW~G;$8^V(TZ5`!HpkiNAL|x77T=bnF&tgRI{^G}vKmnl+jf8XcVsqu7l5CAe?`nJ&PU#z z(8Fuv{*iNqa=Pu4k3ISqCGFMQlq_=s0hqCRzuh-m0(D>6B&ZFe;1! zf3d2OviA7O^P_{8Z~&P#l$Gi^mIkcvdmw)}dDD{Rq?e&Xk*L&W{6~)xwF^MSssb^7 zw;o#?UA}Jhn7+OKZJ0ktM0d`7+v>URY9Y3I>`o4_TaOi);Jje8#@-DAjCvWvBO798?4-PuJ3qE zpxMS?2(g{FH9iu%gL&q`T(2elJz+sj3?1BenN9 zA3L3{wL+=w)vOJKn7RxLG2wl{jnvhYQb#pbG^s5+i?W8>^qBJjUo{Subr`7B?`qyh z{-5T2B*f-|vZ_2{ZqZ{_3?>t-1Tt&7<5D;H%=X?@VKKq7*XprJVaWGrH+NZs>bk=D_R)m;D{>1tpHkheGS%^ZdpHb+|I zLeOe=R*D#W-QcQpe(Msg{RY4xG?GN?hOL^;=Mf!KFWdF;F)=_Hfc%c*|^m~V!C*X4CuG>*MqxGkH$-OWqzx}6+kJN4Lq0R|)a2UrsT+W-In07*qo IM6N<$f(<`F?*IS* literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_glass.png b/mods/doors/textures/doors_item_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..791a58ab1c11dbf866fda5e5f94d6a4d81771e30 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|YHDf+4m^JN@MA;G zd7v-@V@Z%-FoVOh8)+a;lDE4HLkFv@2av;A;1OBOz`!jG!i)^F=12eq*-JcqUD+Qn z^YO@u?8;lm4ir-Nba4#fxSpI4v9+tQabY8;he>lso3p|p4v#Mjx_lE4E$7o=G~r_S XH<4%7CZ`0DV;DSL{an^LB{Ts5LH{yb literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_obsidian_glass.png b/mods/doors/textures/doors_item_obsidian_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..1026d43722be449b6b9068ccfd11896448b7cbef GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|0s;c^YKHsv?NfAD z^#Y1BmIV0)GdMiEkp|)W#5_CPos1n9JJ;PzD!wT=-6rk2V WwrH^(7I%PJ7(8A5T-G@yGywo68Z1cw literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_steel.png b/mods/doors/textures/doors_item_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..dd99e1361acd2121343c0be743638e54c554ca8e GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|U0q#^7A-n@^yt*; z-C96##*!evUa01s>&fZOswwi7XK(SBJ86 cUI<`kNP8-Mb^dev*+3l(p00i_>zopr0H_KpvH$=8 literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_wood.png b/mods/doors/textures/doors_item_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a62ab156db2d81442bcef039fed5148d09e9bd GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YyCl{4Hyt~5}p(1ZCf zkk42W_>ysgWIYoD1H*)g8D>C=Ey>&6h2cL4F4((#GEjuGz$3Dlfq`2Xgc%uT&5-~K zvX^-Jy0SlD6cAT8+B0dUEKsP-)5S4F--Ihms;=LinS=rj{+got_qJ^j_Y>kdbA#-jvB;wP>%} z^B(m*A12g)&~B9c{q5P$8EZ0hI{xN$+JFVdQ&MBb@0IC{L+5i9m delta 156 zcmV;N0Av5@0j&X$8Gi!+001a04^sdD01{A4R7G1yDPT)1h-o*Gb40R>Qvd(|BfmNs z00011Nkl9bcewLUQ0nunapyfBq}Ig&Y&Au+5!S`~gw%L0M$`QR=90000< KMNUMnLSTY~!ac$O diff --git a/mods/doors/textures/doors_trapdoor_steel.png b/mods/doors/textures/doors_trapdoor_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba507d61f4008580f5e9ec2fee3b276b36256d7 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|+qZ8&ckbN1d-wjt z`Yr&9GnNGT1v5B2yO9RuSbMrShHzX@{=v_}vp#HX)X5JfCMJ^}a^7e0RC)As|4(zt zd26Fgg`I48XLE%dVw=<|oRFKqysoXSjfsILO+{5}-;qN=V;DSL{an^LB{Ts5zsE8* literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_trapdoor_steel_side.png b/mods/doors/textures/doors_trapdoor_steel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..44c4344b2b4f4ba16d9ea1427d94ad5abcff8ef3 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uG_b7KX>ljy?ggsL_^Ji xg5sVojv*Y^lM@&k0~8V>SXl&^&Zzn`G3?nZ{*uYv`T|f1gQu&X%Q~loCIHdY8#e#| literal 0 HcmV?d00001 diff --git a/mods/fire/init.lua b/mods/fire/init.lua index b38d059..fa86204 100644 --- a/mods/fire/init.lua +++ b/mods/fire/init.lua @@ -28,7 +28,7 @@ minetest.register_node("fire:basic_flame", { buildable_to = true, sunlight_propagates = true, damage_per_second = 4, - groups = {igniter = 2, dig_immediate = 3}, + groups = {igniter = 2, dig_immediate = 3, hot = 3}, drop = "", on_construct = function(pos) @@ -64,7 +64,7 @@ minetest.register_node("fire:permanent_flame", { buildable_to = true, sunlight_propagates = true, damage_per_second = 4, - groups = {igniter = 2, dig_immediate = 3}, + groups = {igniter = 2, dig_immediate = 3, hot = 3}, drop = "", on_blast = function() diff --git a/mods/mg/biomes.lua b/mods/mg/biomes.lua index ac7c437..3e50fef 100644 --- a/mods/mg/biomes.lua +++ b/mods/mg/biomes.lua @@ -13,6 +13,10 @@ minetest.register_biome({ node_shore_filler = "default:sand", heat_point = 65, humidity_point = 60, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -28,6 +32,10 @@ minetest.register_biome({ node_shore_filler = "default:sand", heat_point = 80, humidity_point = 65, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -43,6 +51,10 @@ minetest.register_biome({ node_shore_filler = "default:sand", heat_point = 80, humidity_point = 65, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -58,6 +70,10 @@ minetest.register_biome({ --node_shore_filler = "default:gravel", heat_point = 65, humidity_point = 60, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) @@ -74,6 +90,10 @@ minetest.register_biome({ node_shore_filler = "default:sand", heat_point = 65, humidity_point = 70, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -89,6 +109,10 @@ minetest.register_biome({ node_shore_filler = "default:gravel", heat_point = 65, humidity_point = 70, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -100,6 +124,10 @@ minetest.register_biome({ node_dust = "default:snow", y_min = 230, y_max = 32000, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -113,10 +141,15 @@ minetest.register_biome({ --node_water_top = "", --depth_water_top = , --node_water = "", - y_min = 1, + y_min = -10, y_max = 230, heat_point = 90, humidity_point = 10, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -130,10 +163,14 @@ minetest.register_biome({ --node_water_top = "", --depth_water_top = , --node_water = "", - y_min = 1, + y_min = -10, y_max = 230, heat_point = 90, humidity_point = 35, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) minetest.register_biome({ @@ -151,6 +188,8 @@ minetest.register_biome({ y_max = 245, heat_point = 20, humidity_point = 70, + node_water = "default:mg_water_source", + node_river_water = "default:ice", }) minetest.register_biome({ @@ -167,6 +206,8 @@ minetest.register_biome({ y_max = 230, heat_point = 10, humidity_point = 40, + node_water = "default:mg_water_source", + node_river_water = "default:ice", }) minetest.register_biome({ @@ -183,7 +224,9 @@ minetest.register_biome({ y_min = 1, y_max = 230, heat_point = -10, - humidity_point = 20, + humidity_point = 20, + node_water = "default:mg_water_source", + node_river_water = "default:ice", }) minetest.register_biome({ @@ -215,10 +258,14 @@ minetest.register_biome({ --node_water_top = "default:ice", --depth_water_top = 2, --node_water = "", - y_min = 1, + y_min = -10, y_max = 230, heat_point = 90, humidity_point = 90, + node_water_top = "default:mg_water_source", + depth_water_top = 2, + node_water = "default:mg_water_source", + node_river_water = "default:mg_water_source", }) diff --git a/mods/mg/init.lua b/mods/mg/init.lua index cf7240b..2db1d47 100644 --- a/mods/mg/init.lua +++ b/mods/mg/init.lua @@ -23,7 +23,7 @@ c_pinetree = minetest.get_content_id("mg:pinetree") c_pineleaves = minetest.get_content_id("mg:pineleaves") c_dirt = minetest.get_content_id("default:dirt") c_stone = minetest.get_content_id("default:stone") -c_water = minetest.get_content_id("default:water_source") +c_water = minetest.get_content_id("default:mg_water_source") c_ice = minetest.get_content_id("default:ice") c_sand = minetest.get_content_id("default:sand") c_sandstone = minetest.get_content_id("default:sandstone") diff --git a/mods/mg/nodes.lua b/mods/mg/nodes.lua index c9312a1..f932aa6 100644 --- a/mods/mg/nodes.lua +++ b/mods/mg/nodes.lua @@ -2,8 +2,8 @@ minetest.register_alias("mapgen_stone", "default:stone") minetest.register_alias("mapgen_dirt", "default:dirt") minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") minetest.register_alias("mapgen_sand", "default:sand") -minetest.register_alias("mapgen_water_source", "default:water_source") -minetest.register_alias("mapgen_river_water_source", "default:water_source") +minetest.register_alias("mapgen_water_source", "default:mg_water_source") +minetest.register_alias("mapgen_river_water_source", "default:mg_water_source") minetest.register_alias("mapgen_lava_source", "default:lava_source") minetest.register_alias("mapgen_gravel", "default:gravel") minetest.register_alias("mapgen_desert_stone", "default:desert_stone") diff --git a/mods/mobs/spawner.lua b/mods/mobs/spawner.lua index 6b498c3..b998828 100644 --- a/mods/mobs/spawner.lua +++ b/mods/mobs/spawner.lua @@ -53,12 +53,15 @@ end, end, }) -minetest.register_abm({ +minetest.register_lbm({ + name = "mobs:spawner_lbm", nodenames = {"mobs:spawner"}, - interval = 60, - chance = 5, - action = function(pos, node, active_object_count, active_object_count_wider) - if abm_limiter() then return end + run_at_every_load = true, + action = function(pos, node) + + local active_object_count = minetest.get_objects_inside_radius(pos,5) + local active_object_count_wider = minetest.get_objects_inside_radius(pos,15) + local meta = minetest.get_meta(pos) local entity = meta:get_string("entity") local active_objects = meta:get_int("active_objects") diff --git a/mods/ts_doors/LICENSE b/mods/ts_doors/LICENSE new file mode 100755 index 0000000..7585f72 --- /dev/null +++ b/mods/ts_doors/LICENSE @@ -0,0 +1,3 @@ +CC0 Public Domain + +See https://creativecommons.org/publicdomain/zero/1.0/ for details. diff --git a/mods/ts_doors/README.md b/mods/ts_doors/README.md new file mode 100755 index 0000000..53ce2ba --- /dev/null +++ b/mods/ts_doors/README.md @@ -0,0 +1,6 @@ +ts_doors +======== + +This mod adds more doors. +It was made by Thomas-S. +It is published under the CC0 license. diff --git a/mods/ts_doors/depends.txt b/mods/ts_doors/depends.txt new file mode 100755 index 0000000..969b4ad --- /dev/null +++ b/mods/ts_doors/depends.txt @@ -0,0 +1,3 @@ +default +doors +moretrees? diff --git a/mods/ts_doors/description.txt b/mods/ts_doors/description.txt new file mode 100755 index 0000000..22ffc8c --- /dev/null +++ b/mods/ts_doors/description.txt @@ -0,0 +1 @@ +This mod adds doors for all kinds of wood. diff --git a/mods/ts_doors/init.lua b/mods/ts_doors/init.lua new file mode 100755 index 0000000..481dc2a --- /dev/null +++ b/mods/ts_doors/init.lua @@ -0,0 +1,63 @@ +ts_doors = {} + +function ts_doors.register_door(recipe, description, texture) + local node = minetest.registered_nodes[recipe] + if node ~= nil then + local groups = node.groups + local door_groups = {} + for k,v in pairs(groups) do + if k ~= "wood" then + door_groups[k] = v + end + end + doors.register("ts_door_" .. recipe:gsub(":", "_"), { + tiles = {{ name = "[combine:32x38:0,0=" .. texture .. ":0,16=" .. texture .. ":0,32=" .. texture .. ":16,0=" .. texture .. ":16,16=" .. texture .. ":16,32=" .. texture .. "^[transformR270^[colorize:#fff:30^ts_doors_base.png^[noalpha^[makealpha:0,255,0", backface_culling = true }}, + description = description .. " Door", + inventory_image = "[combine:32x38:0,0=" .. texture .. ":0,16=" .. texture .. ":16,0=" .. texture .. ":16,16=" .. texture .. "^[transformR270^[colorize:#fff:30^ts_doors_base_inv.png^[noalpha^[makealpha:0,255,0", + groups = groups, + recipe = { + {recipe, recipe}, + {recipe, recipe}, + {recipe, recipe}, + } + }) + + + groups.level = 2 + + doors.register("ts_door_locked_" .. recipe:gsub(":", "_"), { + tiles = {{ name = "[combine:32x38:0,0=" .. texture .. ":0,16=" .. texture .. ":0,32=" .. texture .. ":16,0=" .. texture .. ":16,16=" .. texture .. ":16,32=" .. texture .. "^[transformR270^[colorize:#fff:30^ts_doors_base_locked.png^[noalpha^[makealpha:0,255,0", backface_culling = true }}, + description = description .. " Locked Door", + inventory_image = "[combine:32x38:0,0=" .. texture .. ":0,16=" .. texture .. ":16,0=" .. texture .. ":16,16=" .. texture .. "^[transformR270^[colorize:#fff:30^ts_doors_base_locked_inv.png^[noalpha^[makealpha:0,255,0", + protected = true, + groups = groups, + sound_open = "doors_steel_door_open", + sound_close = "doors_steel_door_close", + recipe = { + {recipe, recipe}, + {recipe, "default:steel_ingot"}, + {recipe, recipe}, + } + }) + end +end + +ts_doors.register_door("default:aspen_wood" , "Aspen" , "default_aspen_wood.png" ) +ts_doors.register_door("default:pine_wood" , "Pine" , "default_pine_wood.png" ) +ts_doors.register_door("default:acacia_wood", "Acacia" , "default_acacia_wood.png") +ts_doors.register_door("default:wood" , "Wooden" , "default_wood.png" ) +ts_doors.register_door("default:junglewood" , "Jungle Wood", "default_junglewood.png" ) + + +if(minetest.get_modpath("moretrees")) then + ts_furniture.register_furniture("moretrees:apple_tree_planks", "Apple Tree", "moretrees_apple_tree_wood.png") + ts_furniture.register_furniture("moretrees:beech_planks", "Beech", "moretrees_beech_wood.png") + ts_furniture.register_furniture("moretrees:birch_planks", "Birch", "moretrees_birch_wood.png") + ts_furniture.register_furniture("moretrees:fir_planks", "Fir", "moretrees_fir_wood.png") + ts_furniture.register_furniture("moretrees:oak_planks", "Oak", "moretrees_oak_wood.png") + ts_furniture.register_furniture("moretrees:palm_planks", "Palm", "moretrees_palm_wood.png") + ts_furniture.register_furniture("moretrees:rubber_tree_planks", "Rubber Tree", "moretrees_rubber_tree_wood.png") + ts_furniture.register_furniture("moretrees:sequoia_planks", "Sequoia", "moretrees_sequoia_wood.png") + ts_furniture.register_furniture("moretrees:spruce_planks", "Spruce", "moretrees_spruce_wood.png") + ts_furniture.register_furniture("moretrees:willow_planks", "Willow", "moretrees_willow_wood.png") +end diff --git a/mods/ts_doors/mod.conf b/mods/ts_doors/mod.conf new file mode 100755 index 0000000..24a1318 --- /dev/null +++ b/mods/ts_doors/mod.conf @@ -0,0 +1 @@ +name = ts_doors diff --git a/mods/ts_doors/screenshot.png b/mods/ts_doors/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..65cc5b37af07eb482677a9bcd8b5202cd65b9c8e GIT binary patch literal 105586 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ω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 literal 0 HcmV?d00001 diff --git a/mods/ts_doors/textures/ts_doors_base.png b/mods/ts_doors/textures/ts_doors_base.png new file mode 100755 index 0000000000000000000000000000000000000000..0c89c71c11176dc343fd3fa136406d512f22fe7a GIT binary patch literal 771 zcmV+e1N{7nP)00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru-~$~E4mxiXBi{f30+2~W zK~z}7&6vN7)Ib!+KbuP!PMhnDe}f>h%~cjwULjV(b^Zx*oSsmSZrlM9mpR;uCC$Vfz_B+k z^%kC8fK%r?6SA4hKB+6oRX{cGTc#)61E$oxQ}_TUZhQfJr{;?%_cXwNBH&PpMK2eh zin{Lv(!Ef4CX%-Z*lc`hxU@}R)c_6>h1Zn-jlvt!^}(-}G7$z7{v9Pfi^0cOgB>GN zs_;Wuu9)yZ%voR>usanP3zkxL)>P@JhM#!`&b{|L-n*t-20FKc)wCs4w=e?}4uD%q zR~{$^FR1yfbmdQlf5Hf06S1l^l9!DIVXEyRD^NMouk`8fV>TvZ=>|G59jj!QX}`iw z>H+b(>$YL)%IyQj<5!|lY+qn|?)hy%=3^xO&XoDHfL_zldwpkRv+vZcwa1Y>D`Uv_ zQT1VL&i|wNATaa1o28-{H2gZod!BbIF=TtW^A|;PpEBY`VEeju=G`ccLxM%2+MEeY z8PROU+sDiT>}j6cn5^AZc;A4pdbX@*&m1{k*|+m&T6UU%L>VMq6YXw2UZ;fJ#Vvhh z!bat<#mCR?s^a!K+<4 z0UiOjJ!iIOOR$QJ)H6MMov-%;cnthB)9fWJ|}vL=IU5|sb|002ovPDHLkV1fxE BVWe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Ev!L_t(o!_}9uPQx$|hQF3n zQJEO?7*!Wmm{^!tcnTy`B*a`6Cd6ZOWT`}FMizv`JM;~zC~3{mGq{%HIKe66k0RG+ z-{t(D@9g$aD17K~4y3@)Gphs&$D9(y%xfQ2^T3q$xU93E1Q;1eJE@Qtzy?@L|3KO& zAi#b-13E+}jg@L$(3v`9n~J%bg<+l15C zP-7h<1oxp|%d*|fUoPWp!nEQ(U{2Zmd@$FnKE|$uZ@{a2C@0Izm8aK|08#3IPNhQ+ z^%mvdEDU0Xpb}=Rt+?-{5{A@}C?RNrC=8^3%|NI47Y^KpUa`B{1D&GjS#W0j9*Vxc zC9m52FKAMTo*OJ|5gN86untVck=&7%x#g_c|EM$m1p`RK*uV!wU;qFB07*qoM6N<$ Ef~C^x2mk;8 literal 0 HcmV?d00001 diff --git a/mods/ts_doors/textures/ts_doors_base_locked.png b/mods/ts_doors/textures/ts_doors_base_locked.png new file mode 100755 index 0000000000000000000000000000000000000000..f56524dfb10e612ea3892126f03cd4640dbb36b3 GIT binary patch literal 793 zcmV+!1LpjRP)00006VoOIv0RI5Y z0066!6W0I$010qNS#tmY3ljhU3ljkVnw%H_000McNliru-~$~EH!BMuj+X!c0;Wks zK~z}7&6mH66G0TmKbzZSi8j|6{{}%M%~cjwUU66n*ZC*Nkpqp5#o1`#aoG6>q!Y0@ z@G1*?IRyU(*Io$2u33xB#J4Xqo5?0f9xOBS=KY#C-#0Ux0LMT|lcqrC;cFRV`#I2W zk*$EzBU1st74HDyctSTiv+c`{`p3W{;FlfWa{W{UcVgQ=w%r4IHgnh&OF9>G03$Uo z^=8U0z=idl3E9kMpVV&2JfNC)4buq^fFU(+J$!(%ZC?Q2sQIGgP6Pa>0uH5E^kVU; z*!R6ax@R6<9?6>pY&u^)TpAZxwE_n{56^A?YY%Ugt_Ht%D|^CVkN-!#mc^hk=CG5? zlzRA~ELS8Pi8%ud19pc3W5KPIl{NHKl;da0z?B-`Q)8cQ8K~SPtfmd2x`7!;I0Wu^ zs`Aid@S2*>o~r!e;g9J6Y$8^bM)I<*AWVH{$Qo33^ecVpbIinKEZsr{rd^fHBJFeR zqzZ^PZMChYWw`?&SNuv8ifIdM-}c`GWIjgX@6t1W8PIbTz2A1gR+Gu32ILn@V{u=` z(87oHSt*=3j2Wx|D!6qWttGE~zPHb(Gudwdb1)#0PQb1+~1mg|AH5Xnd(Yy`_-|jOA^U5w^y(32G>GmW?_ zwZ61J4g6OI1M7>sZT2tw3WEI^ud1L(Cx9x+GhiV3PkaE#^E@@Y zn^xG&gdh7n3tTAI*Kr(cm(#El05Umo9BUuP@ssQ9QM9gn9Yy{&p{lqK6jhc0^Ep7$ z2bfG^?HV*&3SLC>)Ux{ZAJmol?`Y;G*yxihX`dUbOixXwrz@8!T+*nzq2P4~zv! jVkpa`1hzQ-vN`_+f>aA6WIgMu00000NkvXXu0mjfsSxU8 literal 0 HcmV?d00001