diff --git a/beds/README.txt b/beds/README.txt new file mode 100644 index 0000000..631554e --- /dev/null +++ b/beds/README.txt @@ -0,0 +1,31 @@ +This is a fork of the official beds mod from minetest_game. +It comes from a disapproved PR from hkzorman on GitHub. +-> https://github.com/minetest/minetest_game/issues/1923 + + +Minetest Game mod: beds +======================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by BlockMen (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +BlockMen (CC BY-SA 3.0) + +This mod adds a bed to Minetest which allows to skip the night. +To sleep, rightclick the bed. If playing in singleplayer mode the night gets skipped +immediately. If playing multiplayer you get shown how many other players are in bed too, +if all players are sleeping the night gets skipped. The night skip can be forced if more +than 50% of the players are lying in bed and use this option. + +Another feature is a controlled respawning. If you have slept in bed (not just lying in +it) your respawn point is set to the beds location and you will respawn there after +death. +You can disable the respawn at beds by setting "enable_bed_respawn = false" in +minetest.conf. +You can disable the night skip feature by setting "enable_bed_night_skip = false" in +minetest.conf or by using the /set command in-game. diff --git a/beds/api.lua b/beds/api.lua new file mode 100644 index 0000000..3632dc0 --- /dev/null +++ b/beds/api.lua @@ -0,0 +1,167 @@ + +local reverse = true + +local function destruct_bed(pos, n) + local node = minetest.get_node(pos) + local other + + if n == 2 then + local dir = minetest.facedir_to_dir(node.param2) + other = vector.subtract(pos, dir) + elseif n == 1 then + local dir = minetest.facedir_to_dir(node.param2) + other = vector.add(pos, dir) + end + + if reverse then + reverse = not reverse + minetest.remove_node(other) + minetest.check_for_falling(other) + else + reverse = not reverse + end +end + +function beds.register_bed(name, def) + minetest.register_node(name .. "_bottom", { + description = def.description, + inventory_image = def.inventory_image, + wield_image = def.wield_image, + drawtype = "nodebox", + tiles = def.tiles.bottom, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + stack_max = 1, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 1}, + sounds = def.sounds or default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = def.nodebox.bottom, + }, + selection_box = { + type = "fixed", + fixed = def.selectionbox, + }, + + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local udef = minetest.registered_nodes[node.name] + if udef and udef.on_rightclick and + not (placer and placer:get_player_control().sneak) then + return udef.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + local pos + if udef and udef.buildable_to then + pos = under + else + pos = pointed_thing.above + end + + if minetest.is_protected(pos, placer:get_player_name()) and + not minetest.check_player_privs(placer, "protection_bypass") then + minetest.record_protection_violation(pos, placer:get_player_name()) + return itemstack + end + + local node_def = minetest.registered_nodes[minetest.get_node(pos).name] + if not node_def or not node_def.buildable_to then + return itemstack + end + + local dir = minetest.dir_to_facedir(placer:get_look_dir()) + local botpos = vector.add(pos, minetest.facedir_to_dir(dir)) + + if minetest.is_protected(botpos, placer:get_player_name()) and + not minetest.check_player_privs(placer, "protection_bypass") then + minetest.record_protection_violation(botpos, placer:get_player_name()) + return itemstack + end + + local botdef = minetest.registered_nodes[minetest.get_node(botpos).name] + if not botdef or not botdef.buildable_to then + return itemstack + end + + minetest.set_node(pos, {name = name .. "_bottom", param2 = dir}) + minetest.set_node(botpos, {name = name .. "_top", param2 = dir}) + + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(placer:get_player_name())) then + itemstack:take_item() + end + return itemstack + end, + + on_destruct = function(pos) + destruct_bed(pos, 1) + end, + + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + beds.on_rightclick(pos, clicker) + return itemstack + end, + + on_rotate = function(pos, node, user, mode, new_param2) + local dir = minetest.facedir_to_dir(node.param2) + local p = vector.add(pos, dir) + local node2 = minetest.get_node_or_nil(p) + if not node2 or not minetest.get_item_group(node2.name, "bed") == 2 or + not node.param2 == node2.param2 then + return false + end + if minetest.is_protected(p, user:get_player_name()) then + minetest.record_protection_violation(p, user:get_player_name()) + return false + end + if mode ~= screwdriver.ROTATE_FACE then + return false + end + local newp = vector.add(pos, minetest.facedir_to_dir(new_param2)) + local node3 = minetest.get_node_or_nil(newp) + local node_def = node3 and minetest.registered_nodes[node3.name] + if not node_def or not node_def.buildable_to then + return false + end + if minetest.is_protected(newp, user:get_player_name()) then + minetest.record_protection_violation(newp, user:get_player_name()) + return false + end + node.param2 = new_param2 + -- do not remove_node here - it will trigger destroy_bed() + minetest.set_node(p, {name = "air"}) + minetest.set_node(pos, node) + minetest.set_node(newp, {name = name .. "_top", param2 = new_param2}) + return true + end, + }) + + minetest.register_node(name .. "_top", { + drawtype = "nodebox", + tiles = def.tiles.top, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + pointable = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2}, + sounds = def.sounds or default.node_sound_wood_defaults(), + drop = name .. "_bottom", + node_box = { + type = "fixed", + fixed = def.nodebox.top, + }, + on_destruct = function(pos) + destruct_bed(pos, 2) + end, + }) + + minetest.register_alias(name, name .. "_bottom") + + minetest.register_craft({ + output = name, + recipe = def.recipe + }) +end diff --git a/beds/beds.lua b/beds/beds.lua new file mode 100644 index 0000000..43418bb --- /dev/null +++ b/beds/beds.lua @@ -0,0 +1,174 @@ +-- Bed colors lookup +beds.node_registration_data = { + { + color = "black", + desc_prefix = "Black " + }, + { + color = "blue", + desc_prefix = "Blue " + }, + { + color = "brown", + desc_prefix = "Brown " + }, + { + color = "cyan", + desc_prefix = "Cyan " + }, + { + color = "dark_green", + desc_prefix = "Dark Green " + }, + { + color = "dark_grey", + desc_prefix = "Dark Grey " + }, + { + color = "green", + desc_prefix = "Green " + }, + { + color = "grey", + desc_prefix = "Grey " + }, + { + color = "magenta", + desc_prefix = "Magenta " + }, + { + color = "orange", + desc_prefix = "Orange " + }, + { + color = "pink", + desc_prefix = "Pink " + }, + { + color = "red", + desc_prefix = "Red " + }, + { + color = "violet", + desc_prefix = "Violet " + }, + { + color = "white", + desc_prefix = "White " + }, + { + color = "yellow", + desc_prefix = "Yellow " + } +} + +-- Fancy shaped bed +for _,item in pairs(beds.node_registration_data) do + beds.register_bed("beds:fancy_bed_"..item.color, { + description = item.desc_prefix.."Fancy Bed", + inventory_image = "beds_bed_fancy_"..item.color..".png", + wield_image = "beds_bed_fancy_"..item.color..".png", + tiles = { + bottom = { + "beds_bed_top1_"..item.color..".png", + "default_wood.png", + "beds_bed_side1_"..item.color..".png", + "beds_bed_side1_"..item.color..".png^[transformFX", + "default_wood.png", + "beds_bed_foot_"..item.color..".png", + }, + top = { + "beds_bed_top2_"..item.color..".png", + "default_wood.png", + "beds_bed_side2_"..item.color..".png", + "beds_bed_side2_"..item.color..".png^[transformFX", + "beds_bed_head.png", + "default_wood.png", + } + }, + nodebox = { + bottom = { + {-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375}, + {0.375, -0.5, -0.5, 0.5, -0.065, -0.4375}, + {-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375}, + {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, + {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, + {-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5}, + }, + top = { + {-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5}, + {0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5}, + {-0.5, 0, 0.4375, 0.5, 0.125, 0.5}, + {-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5}, + {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, + {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, + {-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375}, + } + }, + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + recipe = { + {"", "", "group:stick"}, + {"wool:"..item.color, "wool:"..item.color, "wool:white"}, + {"group:wood", "group:wood", "group:wood"}, + }, + }) + + -- Fuel + minetest.register_craft({ + type = "fuel", + recipe = "beds:fancy_bed_"..item.color.."_bottom", + burntime = 13, + }) + + + -- Simple shaped bed + beds.register_bed("beds:bed_"..item.color, { + description = item.desc_prefix.."Simple Bed", + inventory_image = "beds_bed_"..item.color..".png", + wield_image = "beds_bed_"..item.color..".png", + tiles = { + bottom = { + "beds_bed_top_bottom_"..item.color..".png^[transformR90", + "default_wood.png", + "beds_bed_side_bottom_r_"..item.color..".png", + "beds_bed_side_bottom_r_"..item.color..".png^[transformfx", + "beds_transparent.png", + "beds_bed_side_bottom_"..item.color..".png" + }, + top = { + "beds_bed_top_top_"..item.color..".png^[transformR90", + "default_wood.png", + "beds_bed_side_top_r_"..item.color..".png", + "beds_bed_side_top_r_"..item.color..".png^[transformfx", + "beds_bed_side_top.png", + "beds_transparent.png", + } + }, + nodebox = { + bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, + top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, + }, + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + recipe = { + {"wool:"..item.color, "wool:"..item.color, "wool:white"}, + {"group:wood", "group:wood", "group:wood"} + }, + }) + + -- Fuel + minetest.register_craft({ + type = "fuel", + recipe = "beds:bed_"..item.color.."_bottom", + burntime = 12, + }) +end + +-- Aliases for PilzAdam's beds mod +minetest.register_alias("beds:bed_bottom_red", "beds:bed_bottom") +minetest.register_alias("beds:bed_top_red", "beds:bed_top") + +-- Aliases for old beds to new red bed +minetest.register_alias("beds:bed_bottom", "beds:bed_red_bottom") +minetest.register_alias("beds:bed_top", "beds:bed_red_top") +minetest.register_alias("beds:fancy_bed_bottom", "beds:fancy_bed_red_bottom") +minetest.register_alias("beds:fancy_bed_top", "beds:fancy_bed_red_top") \ No newline at end of file diff --git a/beds/depends.txt b/beds/depends.txt new file mode 100644 index 0000000..470ec30 --- /dev/null +++ b/beds/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/beds/functions.lua b/beds/functions.lua new file mode 100644 index 0000000..099f41f --- /dev/null +++ b/beds/functions.lua @@ -0,0 +1,223 @@ +local pi = math.pi +local player_in_bed = 0 +local is_sp = minetest.is_singleplayer() +local enable_respawn = minetest.settings:get_bool("enable_bed_respawn") +if enable_respawn == nil then + enable_respawn = true +end + +-- Helper functions + +local function get_look_yaw(pos) + local rotation = minetest.get_node(pos).param2 + if rotation > 3 then + rotation = rotation % 4 -- Mask colorfacedir values + end + if rotation == 1 then + return pi / 2, rotation + elseif rotation == 3 then + return -pi / 2, rotation + elseif rotation == 0 then + return pi, rotation + else + return 0, rotation + end +end + +local function is_night_skip_enabled() + local enable_night_skip = minetest.settings:get_bool("enable_bed_night_skip") + if enable_night_skip == nil then + enable_night_skip = true + end + return enable_night_skip +end + +local function check_in_beds(players) + local in_bed = beds.player + if not players then + players = minetest.get_connected_players() + end + + for n, player in ipairs(players) do + local name = player:get_player_name() + if not in_bed[name] then + return false + end + end + + return #players > 0 +end + +local function lay_down(player, pos, bed_pos, state, skip) + local name = player:get_player_name() + local hud_flags = player:hud_get_flags() + + if not player or not name then + return + end + + -- stand up + if state ~= nil and not state then + local p = beds.pos[name] or nil + if beds.player[name] ~= nil then + beds.player[name] = nil + player_in_bed = player_in_bed - 1 + end + -- skip here to prevent sending player specific changes (used for leaving players) + if skip then + return + end + if p then + player:setpos(p) + end + + -- physics, eye_offset, etc + player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}) + player:set_look_horizontal(math.random(1, 180) / 100) + default.player_attached[name] = false + player:set_physics_override(1, 1, 1) + hud_flags.wielditem = true + default.player_set_animation(player, "stand" , 30) + + -- lay down + else + beds.player[name] = 1 + beds.pos[name] = pos + player_in_bed = player_in_bed + 1 + + -- physics, eye_offset, etc + player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0}) + local yaw, param2 = get_look_yaw(bed_pos) + player:set_look_horizontal(yaw) + local dir = minetest.facedir_to_dir(param2) + local p = {x = bed_pos.x + dir.x / 2, y = bed_pos.y, z = bed_pos.z + dir.z / 2} + player:set_physics_override(0, 0, 0) + player:setpos(p) + default.player_attached[name] = true + hud_flags.wielditem = false + default.player_set_animation(player, "lay" , 0) + end + + player:hud_set_flags(hud_flags) +end + +local function update_formspecs(finished) + local ges = #minetest.get_connected_players() + local form_n + local is_majority = (ges / 2) < player_in_bed + + if finished then + form_n = beds.formspec .. "label[2.7,11; Good morning.]" + else + form_n = beds.formspec .. "label[2.2,11;" .. tostring(player_in_bed) .. + " of " .. tostring(ges) .. " players are in bed]" + if is_majority and is_night_skip_enabled() then + form_n = form_n .. "button_exit[2,8;4,0.75;force;Force night skip]" + end + end + + for name,_ in pairs(beds.player) do + minetest.show_formspec(name, "beds_form", form_n) + end +end + + +-- Public functions + +function beds.kick_players() + for name, _ in pairs(beds.player) do + local player = minetest.get_player_by_name(name) + lay_down(player, nil, nil, false) + end +end + +function beds.skip_night() + minetest.set_timeofday(0.23) +end + +function beds.on_rightclick(pos, player) + local name = player:get_player_name() + local ppos = player:getpos() + local tod = minetest.get_timeofday() + + if tod > 0.2 and tod < 0.805 then + if beds.player[name] then + lay_down(player, nil, nil, false) + end + minetest.chat_send_player(name, "You can only sleep at night.") + return + end + + -- move to bed + if not beds.player[name] then + lay_down(player, ppos, pos) + beds.set_spawns() -- save respawn positions when entering bed + else + lay_down(player, nil, nil, false) + end + + if not is_sp then + update_formspecs(false) + end + + -- skip the night and let all players stand up + if check_in_beds() then + minetest.after(2, function() + if not is_sp then + update_formspecs(is_night_skip_enabled()) + end + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end) + end +end + + +-- Callbacks +-- Only register respawn callback if respawn enabled +if enable_respawn then + -- respawn player at bed if enabled and valid position is found + minetest.register_on_respawnplayer(function(player) + local name = player:get_player_name() + local pos = beds.spawn[name] + if pos then + player:setpos(pos) + return true + end + end) +end + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + lay_down(player, nil, nil, false, true) + beds.player[name] = nil + if check_in_beds() then + minetest.after(2, function() + update_formspecs(is_night_skip_enabled()) + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end) + end +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "beds_form" then + return + end + if fields.quit or fields.leave then + lay_down(player, nil, nil, false) + update_formspecs(false) + end + + if fields.force then + update_formspecs(is_night_skip_enabled()) + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end +end) diff --git a/beds/init.lua b/beds/init.lua new file mode 100644 index 0000000..4d605be --- /dev/null +++ b/beds/init.lua @@ -0,0 +1,24 @@ +beds = {} +beds.player = {} +beds.pos = {} +beds.spawn = {} + +beds.formspec = "size[8,15;true]" .. + "bgcolor[#080808BB; true]" .. + "button_exit[2,12;4,0.75;leave;Leave Bed]" + +local modpath = minetest.get_modpath("beds") + +-- Load files + +dofile(modpath .. "/functions.lua") +dofile(modpath .. "/api.lua") +dofile(modpath .. "/beds.lua") +dofile(modpath .. "/spawns.lua") + + +-- Modifications +-- Saturation: 150 +-- Lightness: -25 +-- Contrast: -100 +-- Brightness: -85 \ No newline at end of file diff --git a/beds/license.txt b/beds/license.txt new file mode 100644 index 0000000..0494b36 --- /dev/null +++ b/beds/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2014-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 BlockMen + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/beds/spawns.lua b/beds/spawns.lua new file mode 100644 index 0000000..6b1f404 --- /dev/null +++ b/beds/spawns.lua @@ -0,0 +1,63 @@ +local world_path = minetest.get_worldpath() +local org_file = world_path .. "/beds_spawns" +local file = world_path .. "/beds_spawns" +local bkwd = false + +-- check for PA's beds mod spawns +local cf = io.open(world_path .. "/beds_player_spawns", "r") +if cf ~= nil then + io.close(cf) + file = world_path .. "/beds_player_spawns" + bkwd = true +end + +function beds.read_spawns() + local spawns = beds.spawn + local input = io.open(file, "r") + if input and not bkwd then + repeat + local x = input:read("*n") + if x == nil then + break + end + local y = input:read("*n") + local z = input:read("*n") + local name = input:read("*l") + spawns[name:sub(2)] = {x = x, y = y, z = z} + until input:read(0) == nil + io.close(input) + elseif input and bkwd then + beds.spawn = minetest.deserialize(input:read("*all")) + input:close() + beds.save_spawns() + os.rename(file, file .. ".backup") + file = org_file + end +end + +beds.read_spawns() + +function beds.save_spawns() + if not beds.spawn then + return + end + local data = {} + local output = io.open(org_file, "w") + for k, v in pairs(beds.spawn) do + table.insert(data, string.format("%.1f %.1f %.1f %s\n", v.x, v.y, v.z, k)) + end + output:write(table.concat(data)) + io.close(output) +end + +function beds.set_spawns() + for name,_ in pairs(beds.player) do + local player = minetest.get_player_by_name(name) + local p = player:getpos() + -- but don't change spawn location if borrowing a bed + if not minetest.is_protected(p, name) then + beds.spawn[name] = p + end + end + beds.save_spawns() +end diff --git a/beds/textures/beds_bed_black.png b/beds/textures/beds_bed_black.png new file mode 100644 index 0000000..15d6d05 Binary files /dev/null and b/beds/textures/beds_bed_black.png differ diff --git a/beds/textures/beds_bed_blue.png b/beds/textures/beds_bed_blue.png new file mode 100644 index 0000000..3346a6c Binary files /dev/null and b/beds/textures/beds_bed_blue.png differ diff --git a/beds/textures/beds_bed_brown.png b/beds/textures/beds_bed_brown.png new file mode 100644 index 0000000..b6ddf07 Binary files /dev/null and b/beds/textures/beds_bed_brown.png differ diff --git a/beds/textures/beds_bed_cyan.png b/beds/textures/beds_bed_cyan.png new file mode 100644 index 0000000..fcaca66 Binary files /dev/null and b/beds/textures/beds_bed_cyan.png differ diff --git a/beds/textures/beds_bed_dark_green.png b/beds/textures/beds_bed_dark_green.png new file mode 100644 index 0000000..c8176b7 Binary files /dev/null and b/beds/textures/beds_bed_dark_green.png differ diff --git a/beds/textures/beds_bed_dark_grey.png b/beds/textures/beds_bed_dark_grey.png new file mode 100644 index 0000000..7843f56 Binary files /dev/null and b/beds/textures/beds_bed_dark_grey.png differ diff --git a/beds/textures/beds_bed_fancy_black.png b/beds/textures/beds_bed_fancy_black.png new file mode 100644 index 0000000..5025f71 Binary files /dev/null and b/beds/textures/beds_bed_fancy_black.png differ diff --git a/beds/textures/beds_bed_fancy_blue.png b/beds/textures/beds_bed_fancy_blue.png new file mode 100644 index 0000000..c97f67c Binary files /dev/null and b/beds/textures/beds_bed_fancy_blue.png differ diff --git a/beds/textures/beds_bed_fancy_brown.png b/beds/textures/beds_bed_fancy_brown.png new file mode 100644 index 0000000..79b9c74 Binary files /dev/null and b/beds/textures/beds_bed_fancy_brown.png differ diff --git a/beds/textures/beds_bed_fancy_cyan.png b/beds/textures/beds_bed_fancy_cyan.png new file mode 100644 index 0000000..da29892 Binary files /dev/null and b/beds/textures/beds_bed_fancy_cyan.png differ diff --git a/beds/textures/beds_bed_fancy_dark_green.png b/beds/textures/beds_bed_fancy_dark_green.png new file mode 100644 index 0000000..79d46cd Binary files /dev/null and b/beds/textures/beds_bed_fancy_dark_green.png differ diff --git a/beds/textures/beds_bed_fancy_dark_grey.png b/beds/textures/beds_bed_fancy_dark_grey.png new file mode 100644 index 0000000..4e03845 Binary files /dev/null and b/beds/textures/beds_bed_fancy_dark_grey.png differ diff --git a/beds/textures/beds_bed_fancy_green.png b/beds/textures/beds_bed_fancy_green.png new file mode 100644 index 0000000..8ab23eb Binary files /dev/null and b/beds/textures/beds_bed_fancy_green.png differ diff --git a/beds/textures/beds_bed_fancy_grey.png b/beds/textures/beds_bed_fancy_grey.png new file mode 100644 index 0000000..11c8182 Binary files /dev/null and b/beds/textures/beds_bed_fancy_grey.png differ diff --git a/beds/textures/beds_bed_fancy_magenta.png b/beds/textures/beds_bed_fancy_magenta.png new file mode 100644 index 0000000..8d22cd0 Binary files /dev/null and b/beds/textures/beds_bed_fancy_magenta.png differ diff --git a/beds/textures/beds_bed_fancy_orange.png b/beds/textures/beds_bed_fancy_orange.png new file mode 100644 index 0000000..4539d08 Binary files /dev/null and b/beds/textures/beds_bed_fancy_orange.png differ diff --git a/beds/textures/beds_bed_fancy_pink.png b/beds/textures/beds_bed_fancy_pink.png new file mode 100644 index 0000000..d09bfa4 Binary files /dev/null and b/beds/textures/beds_bed_fancy_pink.png differ diff --git a/beds/textures/beds_bed_fancy_red.png b/beds/textures/beds_bed_fancy_red.png new file mode 100644 index 0000000..c8b64c2 Binary files /dev/null and b/beds/textures/beds_bed_fancy_red.png differ diff --git a/beds/textures/beds_bed_fancy_violet.png b/beds/textures/beds_bed_fancy_violet.png new file mode 100644 index 0000000..e6d5d38 Binary files /dev/null and b/beds/textures/beds_bed_fancy_violet.png differ diff --git a/beds/textures/beds_bed_fancy_white.png b/beds/textures/beds_bed_fancy_white.png new file mode 100644 index 0000000..3707da3 Binary files /dev/null and b/beds/textures/beds_bed_fancy_white.png differ diff --git a/beds/textures/beds_bed_fancy_yellow.png b/beds/textures/beds_bed_fancy_yellow.png new file mode 100644 index 0000000..d50278c Binary files /dev/null and b/beds/textures/beds_bed_fancy_yellow.png differ diff --git a/beds/textures/beds_bed_foot_black.png b/beds/textures/beds_bed_foot_black.png new file mode 100644 index 0000000..be31987 Binary files /dev/null and b/beds/textures/beds_bed_foot_black.png differ diff --git a/beds/textures/beds_bed_foot_blue.png b/beds/textures/beds_bed_foot_blue.png new file mode 100644 index 0000000..629fef9 Binary files /dev/null and b/beds/textures/beds_bed_foot_blue.png differ diff --git a/beds/textures/beds_bed_foot_brown.png b/beds/textures/beds_bed_foot_brown.png new file mode 100644 index 0000000..265d32e Binary files /dev/null and b/beds/textures/beds_bed_foot_brown.png differ diff --git a/beds/textures/beds_bed_foot_cyan.png b/beds/textures/beds_bed_foot_cyan.png new file mode 100644 index 0000000..357dfab Binary files /dev/null and b/beds/textures/beds_bed_foot_cyan.png differ diff --git a/beds/textures/beds_bed_foot_dark_green.png b/beds/textures/beds_bed_foot_dark_green.png new file mode 100644 index 0000000..a9f9dac Binary files /dev/null and b/beds/textures/beds_bed_foot_dark_green.png differ diff --git a/beds/textures/beds_bed_foot_dark_grey.png b/beds/textures/beds_bed_foot_dark_grey.png new file mode 100644 index 0000000..940f44c Binary files /dev/null and b/beds/textures/beds_bed_foot_dark_grey.png differ diff --git a/beds/textures/beds_bed_foot_green.png b/beds/textures/beds_bed_foot_green.png new file mode 100644 index 0000000..5915079 Binary files /dev/null and b/beds/textures/beds_bed_foot_green.png differ diff --git a/beds/textures/beds_bed_foot_grey.png b/beds/textures/beds_bed_foot_grey.png new file mode 100644 index 0000000..5be9de1 Binary files /dev/null and b/beds/textures/beds_bed_foot_grey.png differ diff --git a/beds/textures/beds_bed_foot_magenta.png b/beds/textures/beds_bed_foot_magenta.png new file mode 100644 index 0000000..e5cb963 Binary files /dev/null and b/beds/textures/beds_bed_foot_magenta.png differ diff --git a/beds/textures/beds_bed_foot_orange.png b/beds/textures/beds_bed_foot_orange.png new file mode 100644 index 0000000..1b56502 Binary files /dev/null and b/beds/textures/beds_bed_foot_orange.png differ diff --git a/beds/textures/beds_bed_foot_pink.png b/beds/textures/beds_bed_foot_pink.png new file mode 100644 index 0000000..0639c43 Binary files /dev/null and b/beds/textures/beds_bed_foot_pink.png differ diff --git a/beds/textures/beds_bed_foot_red.png b/beds/textures/beds_bed_foot_red.png new file mode 100644 index 0000000..52045ac Binary files /dev/null and b/beds/textures/beds_bed_foot_red.png differ diff --git a/beds/textures/beds_bed_foot_violet.png b/beds/textures/beds_bed_foot_violet.png new file mode 100644 index 0000000..f50bebf Binary files /dev/null and b/beds/textures/beds_bed_foot_violet.png differ diff --git a/beds/textures/beds_bed_foot_white.png b/beds/textures/beds_bed_foot_white.png new file mode 100644 index 0000000..ede0bcb Binary files /dev/null and b/beds/textures/beds_bed_foot_white.png differ diff --git a/beds/textures/beds_bed_foot_yellow.png b/beds/textures/beds_bed_foot_yellow.png new file mode 100644 index 0000000..61a0252 Binary files /dev/null and b/beds/textures/beds_bed_foot_yellow.png differ diff --git a/beds/textures/beds_bed_green.png b/beds/textures/beds_bed_green.png new file mode 100644 index 0000000..e7b820b Binary files /dev/null and b/beds/textures/beds_bed_green.png differ diff --git a/beds/textures/beds_bed_grey.png b/beds/textures/beds_bed_grey.png new file mode 100644 index 0000000..6f78889 Binary files /dev/null and b/beds/textures/beds_bed_grey.png differ diff --git a/beds/textures/beds_bed_head.png b/beds/textures/beds_bed_head.png new file mode 100644 index 0000000..763f5e1 Binary files /dev/null and b/beds/textures/beds_bed_head.png differ diff --git a/beds/textures/beds_bed_magenta.png b/beds/textures/beds_bed_magenta.png new file mode 100644 index 0000000..1570c59 Binary files /dev/null and b/beds/textures/beds_bed_magenta.png differ diff --git a/beds/textures/beds_bed_orange.png b/beds/textures/beds_bed_orange.png new file mode 100644 index 0000000..d103838 Binary files /dev/null and b/beds/textures/beds_bed_orange.png differ diff --git a/beds/textures/beds_bed_pink.png b/beds/textures/beds_bed_pink.png new file mode 100644 index 0000000..a8522ce Binary files /dev/null and b/beds/textures/beds_bed_pink.png differ diff --git a/beds/textures/beds_bed_red.png b/beds/textures/beds_bed_red.png new file mode 100644 index 0000000..1760cc3 Binary files /dev/null and b/beds/textures/beds_bed_red.png differ diff --git a/beds/textures/beds_bed_side1_black.png b/beds/textures/beds_bed_side1_black.png new file mode 100644 index 0000000..efd9230 Binary files /dev/null and b/beds/textures/beds_bed_side1_black.png differ diff --git a/beds/textures/beds_bed_side1_blue.png b/beds/textures/beds_bed_side1_blue.png new file mode 100644 index 0000000..9bd8dc6 Binary files /dev/null and b/beds/textures/beds_bed_side1_blue.png differ diff --git a/beds/textures/beds_bed_side1_brown.png b/beds/textures/beds_bed_side1_brown.png new file mode 100644 index 0000000..e79b56d Binary files /dev/null and b/beds/textures/beds_bed_side1_brown.png differ diff --git a/beds/textures/beds_bed_side1_cyan.png b/beds/textures/beds_bed_side1_cyan.png new file mode 100644 index 0000000..1447720 Binary files /dev/null and b/beds/textures/beds_bed_side1_cyan.png differ diff --git a/beds/textures/beds_bed_side1_dark_green.png b/beds/textures/beds_bed_side1_dark_green.png new file mode 100644 index 0000000..62777e9 Binary files /dev/null and b/beds/textures/beds_bed_side1_dark_green.png differ diff --git a/beds/textures/beds_bed_side1_dark_grey.png b/beds/textures/beds_bed_side1_dark_grey.png new file mode 100644 index 0000000..a8e9bdc Binary files /dev/null and b/beds/textures/beds_bed_side1_dark_grey.png differ diff --git a/beds/textures/beds_bed_side1_green.png b/beds/textures/beds_bed_side1_green.png new file mode 100644 index 0000000..e9fba53 Binary files /dev/null and b/beds/textures/beds_bed_side1_green.png differ diff --git a/beds/textures/beds_bed_side1_grey.png b/beds/textures/beds_bed_side1_grey.png new file mode 100644 index 0000000..5937816 Binary files /dev/null and b/beds/textures/beds_bed_side1_grey.png differ diff --git a/beds/textures/beds_bed_side1_magenta.png b/beds/textures/beds_bed_side1_magenta.png new file mode 100644 index 0000000..33aeb76 Binary files /dev/null and b/beds/textures/beds_bed_side1_magenta.png differ diff --git a/beds/textures/beds_bed_side1_orange.png b/beds/textures/beds_bed_side1_orange.png new file mode 100644 index 0000000..95a8a48 Binary files /dev/null and b/beds/textures/beds_bed_side1_orange.png differ diff --git a/beds/textures/beds_bed_side1_pink.png b/beds/textures/beds_bed_side1_pink.png new file mode 100644 index 0000000..d8da76c Binary files /dev/null and b/beds/textures/beds_bed_side1_pink.png differ diff --git a/beds/textures/beds_bed_side1_red.png b/beds/textures/beds_bed_side1_red.png new file mode 100644 index 0000000..912b37a Binary files /dev/null and b/beds/textures/beds_bed_side1_red.png differ diff --git a/beds/textures/beds_bed_side1_violet.png b/beds/textures/beds_bed_side1_violet.png new file mode 100644 index 0000000..ff6867a Binary files /dev/null and b/beds/textures/beds_bed_side1_violet.png differ diff --git a/beds/textures/beds_bed_side1_white.png b/beds/textures/beds_bed_side1_white.png new file mode 100644 index 0000000..5f3902e Binary files /dev/null and b/beds/textures/beds_bed_side1_white.png differ diff --git a/beds/textures/beds_bed_side1_yellow.png b/beds/textures/beds_bed_side1_yellow.png new file mode 100644 index 0000000..e1ab884 Binary files /dev/null and b/beds/textures/beds_bed_side1_yellow.png differ diff --git a/beds/textures/beds_bed_side2_black.png b/beds/textures/beds_bed_side2_black.png new file mode 100644 index 0000000..2f96ecd Binary files /dev/null and b/beds/textures/beds_bed_side2_black.png differ diff --git a/beds/textures/beds_bed_side2_blue.png b/beds/textures/beds_bed_side2_blue.png new file mode 100644 index 0000000..503329e Binary files /dev/null and b/beds/textures/beds_bed_side2_blue.png differ diff --git a/beds/textures/beds_bed_side2_brown.png b/beds/textures/beds_bed_side2_brown.png new file mode 100644 index 0000000..b32c23a Binary files /dev/null and b/beds/textures/beds_bed_side2_brown.png differ diff --git a/beds/textures/beds_bed_side2_cyan.png b/beds/textures/beds_bed_side2_cyan.png new file mode 100644 index 0000000..113edf3 Binary files /dev/null and b/beds/textures/beds_bed_side2_cyan.png differ diff --git a/beds/textures/beds_bed_side2_dark_green.png b/beds/textures/beds_bed_side2_dark_green.png new file mode 100644 index 0000000..29545c4 Binary files /dev/null and b/beds/textures/beds_bed_side2_dark_green.png differ diff --git a/beds/textures/beds_bed_side2_dark_grey.png b/beds/textures/beds_bed_side2_dark_grey.png new file mode 100644 index 0000000..1b88018 Binary files /dev/null and b/beds/textures/beds_bed_side2_dark_grey.png differ diff --git a/beds/textures/beds_bed_side2_green.png b/beds/textures/beds_bed_side2_green.png new file mode 100644 index 0000000..6f8a169 Binary files /dev/null and b/beds/textures/beds_bed_side2_green.png differ diff --git a/beds/textures/beds_bed_side2_grey.png b/beds/textures/beds_bed_side2_grey.png new file mode 100644 index 0000000..4889bfb Binary files /dev/null and b/beds/textures/beds_bed_side2_grey.png differ diff --git a/beds/textures/beds_bed_side2_magenta.png b/beds/textures/beds_bed_side2_magenta.png new file mode 100644 index 0000000..1dc3d92 Binary files /dev/null and b/beds/textures/beds_bed_side2_magenta.png differ diff --git a/beds/textures/beds_bed_side2_orange.png b/beds/textures/beds_bed_side2_orange.png new file mode 100644 index 0000000..acda654 Binary files /dev/null and b/beds/textures/beds_bed_side2_orange.png differ diff --git a/beds/textures/beds_bed_side2_pink.png b/beds/textures/beds_bed_side2_pink.png new file mode 100644 index 0000000..4980afb Binary files /dev/null and b/beds/textures/beds_bed_side2_pink.png differ diff --git a/beds/textures/beds_bed_side2_red.png b/beds/textures/beds_bed_side2_red.png new file mode 100644 index 0000000..f38375f Binary files /dev/null and b/beds/textures/beds_bed_side2_red.png differ diff --git a/beds/textures/beds_bed_side2_violet.png b/beds/textures/beds_bed_side2_violet.png new file mode 100644 index 0000000..723dd39 Binary files /dev/null and b/beds/textures/beds_bed_side2_violet.png differ diff --git a/beds/textures/beds_bed_side2_white.png b/beds/textures/beds_bed_side2_white.png new file mode 100644 index 0000000..d4a1261 Binary files /dev/null and b/beds/textures/beds_bed_side2_white.png differ diff --git a/beds/textures/beds_bed_side2_yellow.png b/beds/textures/beds_bed_side2_yellow.png new file mode 100644 index 0000000..d60334e Binary files /dev/null and b/beds/textures/beds_bed_side2_yellow.png differ diff --git a/beds/textures/beds_bed_side_bottom_black.png b/beds/textures/beds_bed_side_bottom_black.png new file mode 100644 index 0000000..d9d901c Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_black.png differ diff --git a/beds/textures/beds_bed_side_bottom_blue.png b/beds/textures/beds_bed_side_bottom_blue.png new file mode 100644 index 0000000..69da8c3 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_blue.png differ diff --git a/beds/textures/beds_bed_side_bottom_brown.png b/beds/textures/beds_bed_side_bottom_brown.png new file mode 100644 index 0000000..3a9b3a4 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_brown.png differ diff --git a/beds/textures/beds_bed_side_bottom_cyan.png b/beds/textures/beds_bed_side_bottom_cyan.png new file mode 100644 index 0000000..63491da Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_cyan.png differ diff --git a/beds/textures/beds_bed_side_bottom_dark_green.png b/beds/textures/beds_bed_side_bottom_dark_green.png new file mode 100644 index 0000000..7fad772 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_dark_green.png differ diff --git a/beds/textures/beds_bed_side_bottom_dark_grey.png b/beds/textures/beds_bed_side_bottom_dark_grey.png new file mode 100644 index 0000000..1ee7add Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_dark_grey.png differ diff --git a/beds/textures/beds_bed_side_bottom_green.png b/beds/textures/beds_bed_side_bottom_green.png new file mode 100644 index 0000000..555c209 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_green.png differ diff --git a/beds/textures/beds_bed_side_bottom_grey.png b/beds/textures/beds_bed_side_bottom_grey.png new file mode 100644 index 0000000..7b3a4a3 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_grey.png differ diff --git a/beds/textures/beds_bed_side_bottom_magenta.png b/beds/textures/beds_bed_side_bottom_magenta.png new file mode 100644 index 0000000..897d584 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_magenta.png differ diff --git a/beds/textures/beds_bed_side_bottom_orange.png b/beds/textures/beds_bed_side_bottom_orange.png new file mode 100644 index 0000000..d350b59 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_orange.png differ diff --git a/beds/textures/beds_bed_side_bottom_pink.png b/beds/textures/beds_bed_side_bottom_pink.png new file mode 100644 index 0000000..40baa75 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_pink.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_black.png b/beds/textures/beds_bed_side_bottom_r_black.png new file mode 100644 index 0000000..e071632 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_black.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_blue.png b/beds/textures/beds_bed_side_bottom_r_blue.png new file mode 100644 index 0000000..e608ed7 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_blue.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_brown.png b/beds/textures/beds_bed_side_bottom_r_brown.png new file mode 100644 index 0000000..ce4f1c4 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_brown.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_cyan.png b/beds/textures/beds_bed_side_bottom_r_cyan.png new file mode 100644 index 0000000..a28e490 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_cyan.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_dark_green.png b/beds/textures/beds_bed_side_bottom_r_dark_green.png new file mode 100644 index 0000000..0432a9b Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_dark_green.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_dark_grey.png b/beds/textures/beds_bed_side_bottom_r_dark_grey.png new file mode 100644 index 0000000..99ee87e Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_dark_grey.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_green.png b/beds/textures/beds_bed_side_bottom_r_green.png new file mode 100644 index 0000000..b81c30d Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_green.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_grey.png b/beds/textures/beds_bed_side_bottom_r_grey.png new file mode 100644 index 0000000..6ffdd7b Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_grey.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_magenta.png b/beds/textures/beds_bed_side_bottom_r_magenta.png new file mode 100644 index 0000000..8004f2f Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_magenta.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_orange.png b/beds/textures/beds_bed_side_bottom_r_orange.png new file mode 100644 index 0000000..bdd38b1 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_orange.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_pink.png b/beds/textures/beds_bed_side_bottom_r_pink.png new file mode 100644 index 0000000..1ae121a Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_pink.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_red.png b/beds/textures/beds_bed_side_bottom_r_red.png new file mode 100644 index 0000000..6fedf08 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_red.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_violet.png b/beds/textures/beds_bed_side_bottom_r_violet.png new file mode 100644 index 0000000..f7a87d9 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_violet.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_white.png b/beds/textures/beds_bed_side_bottom_r_white.png new file mode 100644 index 0000000..a63f85c Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_white.png differ diff --git a/beds/textures/beds_bed_side_bottom_r_yellow.png b/beds/textures/beds_bed_side_bottom_r_yellow.png new file mode 100644 index 0000000..68b412d Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_r_yellow.png differ diff --git a/beds/textures/beds_bed_side_bottom_red.png b/beds/textures/beds_bed_side_bottom_red.png new file mode 100644 index 0000000..4934302 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_red.png differ diff --git a/beds/textures/beds_bed_side_bottom_violet.png b/beds/textures/beds_bed_side_bottom_violet.png new file mode 100644 index 0000000..882c917 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_violet.png differ diff --git a/beds/textures/beds_bed_side_bottom_white.png b/beds/textures/beds_bed_side_bottom_white.png new file mode 100644 index 0000000..04ce965 Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_white.png differ diff --git a/beds/textures/beds_bed_side_bottom_yellow.png b/beds/textures/beds_bed_side_bottom_yellow.png new file mode 100644 index 0000000..3a9a86c Binary files /dev/null and b/beds/textures/beds_bed_side_bottom_yellow.png differ diff --git a/beds/textures/beds_bed_side_top.png b/beds/textures/beds_bed_side_top.png new file mode 100644 index 0000000..b2807c5 Binary files /dev/null and b/beds/textures/beds_bed_side_top.png differ diff --git a/beds/textures/beds_bed_side_top_r_black.png b/beds/textures/beds_bed_side_top_r_black.png new file mode 100644 index 0000000..0e5ab3c Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_black.png differ diff --git a/beds/textures/beds_bed_side_top_r_blue.png b/beds/textures/beds_bed_side_top_r_blue.png new file mode 100644 index 0000000..96da6c5 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_blue.png differ diff --git a/beds/textures/beds_bed_side_top_r_brown.png b/beds/textures/beds_bed_side_top_r_brown.png new file mode 100644 index 0000000..47a3686 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_brown.png differ diff --git a/beds/textures/beds_bed_side_top_r_cyan.png b/beds/textures/beds_bed_side_top_r_cyan.png new file mode 100644 index 0000000..a4780b9 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_cyan.png differ diff --git a/beds/textures/beds_bed_side_top_r_dark_green.png b/beds/textures/beds_bed_side_top_r_dark_green.png new file mode 100644 index 0000000..6559553 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_dark_green.png differ diff --git a/beds/textures/beds_bed_side_top_r_dark_grey.png b/beds/textures/beds_bed_side_top_r_dark_grey.png new file mode 100644 index 0000000..c9fd7a5 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_dark_grey.png differ diff --git a/beds/textures/beds_bed_side_top_r_green.png b/beds/textures/beds_bed_side_top_r_green.png new file mode 100644 index 0000000..d35e371 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_green.png differ diff --git a/beds/textures/beds_bed_side_top_r_grey.png b/beds/textures/beds_bed_side_top_r_grey.png new file mode 100644 index 0000000..5ed52a6 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_grey.png differ diff --git a/beds/textures/beds_bed_side_top_r_magenta.png b/beds/textures/beds_bed_side_top_r_magenta.png new file mode 100644 index 0000000..d50b829 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_magenta.png differ diff --git a/beds/textures/beds_bed_side_top_r_orange.png b/beds/textures/beds_bed_side_top_r_orange.png new file mode 100644 index 0000000..d8d35ab Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_orange.png differ diff --git a/beds/textures/beds_bed_side_top_r_pink.png b/beds/textures/beds_bed_side_top_r_pink.png new file mode 100644 index 0000000..89b94a0 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_pink.png differ diff --git a/beds/textures/beds_bed_side_top_r_red.png b/beds/textures/beds_bed_side_top_r_red.png new file mode 100644 index 0000000..1dc4ea9 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_red.png differ diff --git a/beds/textures/beds_bed_side_top_r_violet.png b/beds/textures/beds_bed_side_top_r_violet.png new file mode 100644 index 0000000..9bb2da6 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_violet.png differ diff --git a/beds/textures/beds_bed_side_top_r_white.png b/beds/textures/beds_bed_side_top_r_white.png new file mode 100644 index 0000000..9bcd930 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_white.png differ diff --git a/beds/textures/beds_bed_side_top_r_yellow.png b/beds/textures/beds_bed_side_top_r_yellow.png new file mode 100644 index 0000000..cc70928 Binary files /dev/null and b/beds/textures/beds_bed_side_top_r_yellow.png differ diff --git a/beds/textures/beds_bed_top1_black.png b/beds/textures/beds_bed_top1_black.png new file mode 100644 index 0000000..497a123 Binary files /dev/null and b/beds/textures/beds_bed_top1_black.png differ diff --git a/beds/textures/beds_bed_top1_blue.png b/beds/textures/beds_bed_top1_blue.png new file mode 100644 index 0000000..b0a35ff Binary files /dev/null and b/beds/textures/beds_bed_top1_blue.png differ diff --git a/beds/textures/beds_bed_top1_brown.png b/beds/textures/beds_bed_top1_brown.png new file mode 100644 index 0000000..03854ec Binary files /dev/null and b/beds/textures/beds_bed_top1_brown.png differ diff --git a/beds/textures/beds_bed_top1_cyan.png b/beds/textures/beds_bed_top1_cyan.png new file mode 100644 index 0000000..76605ac Binary files /dev/null and b/beds/textures/beds_bed_top1_cyan.png differ diff --git a/beds/textures/beds_bed_top1_dark_green.png b/beds/textures/beds_bed_top1_dark_green.png new file mode 100644 index 0000000..ac12b91 Binary files /dev/null and b/beds/textures/beds_bed_top1_dark_green.png differ diff --git a/beds/textures/beds_bed_top1_dark_grey.png b/beds/textures/beds_bed_top1_dark_grey.png new file mode 100644 index 0000000..80c0119 Binary files /dev/null and b/beds/textures/beds_bed_top1_dark_grey.png differ diff --git a/beds/textures/beds_bed_top1_green.png b/beds/textures/beds_bed_top1_green.png new file mode 100644 index 0000000..52c7664 Binary files /dev/null and b/beds/textures/beds_bed_top1_green.png differ diff --git a/beds/textures/beds_bed_top1_grey.png b/beds/textures/beds_bed_top1_grey.png new file mode 100644 index 0000000..24d4446 Binary files /dev/null and b/beds/textures/beds_bed_top1_grey.png differ diff --git a/beds/textures/beds_bed_top1_magenta.png b/beds/textures/beds_bed_top1_magenta.png new file mode 100644 index 0000000..6d96c44 Binary files /dev/null and b/beds/textures/beds_bed_top1_magenta.png differ diff --git a/beds/textures/beds_bed_top1_orange.png b/beds/textures/beds_bed_top1_orange.png new file mode 100644 index 0000000..f306237 Binary files /dev/null and b/beds/textures/beds_bed_top1_orange.png differ diff --git a/beds/textures/beds_bed_top1_pink.png b/beds/textures/beds_bed_top1_pink.png new file mode 100644 index 0000000..51fe717 Binary files /dev/null and b/beds/textures/beds_bed_top1_pink.png differ diff --git a/beds/textures/beds_bed_top1_red.png b/beds/textures/beds_bed_top1_red.png new file mode 100644 index 0000000..8c2fe2c Binary files /dev/null and b/beds/textures/beds_bed_top1_red.png differ diff --git a/beds/textures/beds_bed_top1_violet.png b/beds/textures/beds_bed_top1_violet.png new file mode 100644 index 0000000..75e0948 Binary files /dev/null and b/beds/textures/beds_bed_top1_violet.png differ diff --git a/beds/textures/beds_bed_top1_white.png b/beds/textures/beds_bed_top1_white.png new file mode 100644 index 0000000..643c573 Binary files /dev/null and b/beds/textures/beds_bed_top1_white.png differ diff --git a/beds/textures/beds_bed_top1_yellow.png b/beds/textures/beds_bed_top1_yellow.png new file mode 100644 index 0000000..1145e25 Binary files /dev/null and b/beds/textures/beds_bed_top1_yellow.png differ diff --git a/beds/textures/beds_bed_top2_black.png b/beds/textures/beds_bed_top2_black.png new file mode 100644 index 0000000..59580e2 Binary files /dev/null and b/beds/textures/beds_bed_top2_black.png differ diff --git a/beds/textures/beds_bed_top2_blue.png b/beds/textures/beds_bed_top2_blue.png new file mode 100644 index 0000000..f964086 Binary files /dev/null and b/beds/textures/beds_bed_top2_blue.png differ diff --git a/beds/textures/beds_bed_top2_brown.png b/beds/textures/beds_bed_top2_brown.png new file mode 100644 index 0000000..af2c42b Binary files /dev/null and b/beds/textures/beds_bed_top2_brown.png differ diff --git a/beds/textures/beds_bed_top2_cyan.png b/beds/textures/beds_bed_top2_cyan.png new file mode 100644 index 0000000..097f37a Binary files /dev/null and b/beds/textures/beds_bed_top2_cyan.png differ diff --git a/beds/textures/beds_bed_top2_dark_green.png b/beds/textures/beds_bed_top2_dark_green.png new file mode 100644 index 0000000..090fa53 Binary files /dev/null and b/beds/textures/beds_bed_top2_dark_green.png differ diff --git a/beds/textures/beds_bed_top2_dark_grey.png b/beds/textures/beds_bed_top2_dark_grey.png new file mode 100644 index 0000000..91d2dd6 Binary files /dev/null and b/beds/textures/beds_bed_top2_dark_grey.png differ diff --git a/beds/textures/beds_bed_top2_green.png b/beds/textures/beds_bed_top2_green.png new file mode 100644 index 0000000..5271a9f Binary files /dev/null and b/beds/textures/beds_bed_top2_green.png differ diff --git a/beds/textures/beds_bed_top2_grey.png b/beds/textures/beds_bed_top2_grey.png new file mode 100644 index 0000000..3c49aed Binary files /dev/null and b/beds/textures/beds_bed_top2_grey.png differ diff --git a/beds/textures/beds_bed_top2_magenta.png b/beds/textures/beds_bed_top2_magenta.png new file mode 100644 index 0000000..f97a955 Binary files /dev/null and b/beds/textures/beds_bed_top2_magenta.png differ diff --git a/beds/textures/beds_bed_top2_orange.png b/beds/textures/beds_bed_top2_orange.png new file mode 100644 index 0000000..859a5d9 Binary files /dev/null and b/beds/textures/beds_bed_top2_orange.png differ diff --git a/beds/textures/beds_bed_top2_pink.png b/beds/textures/beds_bed_top2_pink.png new file mode 100644 index 0000000..59fe0a6 Binary files /dev/null and b/beds/textures/beds_bed_top2_pink.png differ diff --git a/beds/textures/beds_bed_top2_red.png b/beds/textures/beds_bed_top2_red.png new file mode 100644 index 0000000..2c01ce4 Binary files /dev/null and b/beds/textures/beds_bed_top2_red.png differ diff --git a/beds/textures/beds_bed_top2_violet.png b/beds/textures/beds_bed_top2_violet.png new file mode 100644 index 0000000..b133760 Binary files /dev/null and b/beds/textures/beds_bed_top2_violet.png differ diff --git a/beds/textures/beds_bed_top2_white.png b/beds/textures/beds_bed_top2_white.png new file mode 100644 index 0000000..5d0f33e Binary files /dev/null and b/beds/textures/beds_bed_top2_white.png differ diff --git a/beds/textures/beds_bed_top2_yellow.png b/beds/textures/beds_bed_top2_yellow.png new file mode 100644 index 0000000..fb5e545 Binary files /dev/null and b/beds/textures/beds_bed_top2_yellow.png differ diff --git a/beds/textures/beds_bed_top_bottom_black.png b/beds/textures/beds_bed_top_bottom_black.png new file mode 100644 index 0000000..4307c2b Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_black.png differ diff --git a/beds/textures/beds_bed_top_bottom_blue.png b/beds/textures/beds_bed_top_bottom_blue.png new file mode 100644 index 0000000..9302cdd Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_blue.png differ diff --git a/beds/textures/beds_bed_top_bottom_brown.png b/beds/textures/beds_bed_top_bottom_brown.png new file mode 100644 index 0000000..6f2dd50 Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_brown.png differ diff --git a/beds/textures/beds_bed_top_bottom_cyan.png b/beds/textures/beds_bed_top_bottom_cyan.png new file mode 100644 index 0000000..a24adfe Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_cyan.png differ diff --git a/beds/textures/beds_bed_top_bottom_dark_green.png b/beds/textures/beds_bed_top_bottom_dark_green.png new file mode 100644 index 0000000..b5b89d5 Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_dark_green.png differ diff --git a/beds/textures/beds_bed_top_bottom_dark_grey.png b/beds/textures/beds_bed_top_bottom_dark_grey.png new file mode 100644 index 0000000..654fe7e Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_dark_grey.png differ diff --git a/beds/textures/beds_bed_top_bottom_green.png b/beds/textures/beds_bed_top_bottom_green.png new file mode 100644 index 0000000..66e254a Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_green.png differ diff --git a/beds/textures/beds_bed_top_bottom_grey.png b/beds/textures/beds_bed_top_bottom_grey.png new file mode 100644 index 0000000..492a1e0 Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_grey.png differ diff --git a/beds/textures/beds_bed_top_bottom_magenta.png b/beds/textures/beds_bed_top_bottom_magenta.png new file mode 100644 index 0000000..922c7a0 Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_magenta.png differ diff --git a/beds/textures/beds_bed_top_bottom_orange.png b/beds/textures/beds_bed_top_bottom_orange.png new file mode 100644 index 0000000..d69633b Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_orange.png differ diff --git a/beds/textures/beds_bed_top_bottom_pink.png b/beds/textures/beds_bed_top_bottom_pink.png new file mode 100644 index 0000000..9343856 Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_pink.png differ diff --git a/beds/textures/beds_bed_top_bottom_red.png b/beds/textures/beds_bed_top_bottom_red.png new file mode 100644 index 0000000..a3047cb Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_red.png differ diff --git a/beds/textures/beds_bed_top_bottom_violet.png b/beds/textures/beds_bed_top_bottom_violet.png new file mode 100644 index 0000000..219d96d Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_violet.png differ diff --git a/beds/textures/beds_bed_top_bottom_white.png b/beds/textures/beds_bed_top_bottom_white.png new file mode 100644 index 0000000..2cea054 Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_white.png differ diff --git a/beds/textures/beds_bed_top_bottom_yellow.png b/beds/textures/beds_bed_top_bottom_yellow.png new file mode 100644 index 0000000..0c0ac74 Binary files /dev/null and b/beds/textures/beds_bed_top_bottom_yellow.png differ diff --git a/beds/textures/beds_bed_top_top_black.png b/beds/textures/beds_bed_top_top_black.png new file mode 100644 index 0000000..26befbf Binary files /dev/null and b/beds/textures/beds_bed_top_top_black.png differ diff --git a/beds/textures/beds_bed_top_top_blue.png b/beds/textures/beds_bed_top_top_blue.png new file mode 100644 index 0000000..f7f916a Binary files /dev/null and b/beds/textures/beds_bed_top_top_blue.png differ diff --git a/beds/textures/beds_bed_top_top_brown.png b/beds/textures/beds_bed_top_top_brown.png new file mode 100644 index 0000000..c81c96e Binary files /dev/null and b/beds/textures/beds_bed_top_top_brown.png differ diff --git a/beds/textures/beds_bed_top_top_cyan.png b/beds/textures/beds_bed_top_top_cyan.png new file mode 100644 index 0000000..1ff3fd1 Binary files /dev/null and b/beds/textures/beds_bed_top_top_cyan.png differ diff --git a/beds/textures/beds_bed_top_top_dark_green.png b/beds/textures/beds_bed_top_top_dark_green.png new file mode 100644 index 0000000..bbda215 Binary files /dev/null and b/beds/textures/beds_bed_top_top_dark_green.png differ diff --git a/beds/textures/beds_bed_top_top_dark_grey.png b/beds/textures/beds_bed_top_top_dark_grey.png new file mode 100644 index 0000000..5db01ab Binary files /dev/null and b/beds/textures/beds_bed_top_top_dark_grey.png differ diff --git a/beds/textures/beds_bed_top_top_green.png b/beds/textures/beds_bed_top_top_green.png new file mode 100644 index 0000000..edc43e2 Binary files /dev/null and b/beds/textures/beds_bed_top_top_green.png differ diff --git a/beds/textures/beds_bed_top_top_grey.png b/beds/textures/beds_bed_top_top_grey.png new file mode 100644 index 0000000..a6ca7aa Binary files /dev/null and b/beds/textures/beds_bed_top_top_grey.png differ diff --git a/beds/textures/beds_bed_top_top_magenta.png b/beds/textures/beds_bed_top_top_magenta.png new file mode 100644 index 0000000..6be945a Binary files /dev/null and b/beds/textures/beds_bed_top_top_magenta.png differ diff --git a/beds/textures/beds_bed_top_top_orange.png b/beds/textures/beds_bed_top_top_orange.png new file mode 100644 index 0000000..2134c6a Binary files /dev/null and b/beds/textures/beds_bed_top_top_orange.png differ diff --git a/beds/textures/beds_bed_top_top_pink.png b/beds/textures/beds_bed_top_top_pink.png new file mode 100644 index 0000000..4ea5813 Binary files /dev/null and b/beds/textures/beds_bed_top_top_pink.png differ diff --git a/beds/textures/beds_bed_top_top_red.png b/beds/textures/beds_bed_top_top_red.png new file mode 100644 index 0000000..468ff4b Binary files /dev/null and b/beds/textures/beds_bed_top_top_red.png differ diff --git a/beds/textures/beds_bed_top_top_violet.png b/beds/textures/beds_bed_top_top_violet.png new file mode 100644 index 0000000..2088a38 Binary files /dev/null and b/beds/textures/beds_bed_top_top_violet.png differ diff --git a/beds/textures/beds_bed_top_top_white.png b/beds/textures/beds_bed_top_top_white.png new file mode 100644 index 0000000..d602809 Binary files /dev/null and b/beds/textures/beds_bed_top_top_white.png differ diff --git a/beds/textures/beds_bed_top_top_yellow.png b/beds/textures/beds_bed_top_top_yellow.png new file mode 100644 index 0000000..f01513b Binary files /dev/null and b/beds/textures/beds_bed_top_top_yellow.png differ diff --git a/beds/textures/beds_bed_violet.png b/beds/textures/beds_bed_violet.png new file mode 100644 index 0000000..cbbd2b8 Binary files /dev/null and b/beds/textures/beds_bed_violet.png differ diff --git a/beds/textures/beds_bed_white.png b/beds/textures/beds_bed_white.png new file mode 100644 index 0000000..e691221 Binary files /dev/null and b/beds/textures/beds_bed_white.png differ diff --git a/beds/textures/beds_bed_yellow.png b/beds/textures/beds_bed_yellow.png new file mode 100644 index 0000000..762ffbd Binary files /dev/null and b/beds/textures/beds_bed_yellow.png differ diff --git a/beds/textures/beds_transparent.png b/beds/textures/beds_transparent.png new file mode 100644 index 0000000..2dc0e3d Binary files /dev/null and b/beds/textures/beds_transparent.png differ