diff --git a/.gitmodules b/.gitmodules index ef37b892..7c0b680c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,9 +16,6 @@ [submodule "mods/minercantile"] path = mods/minercantile url = https://github.com/MinetestForFun/minercantile.git -[submodule "minetestforfun_game/mods/stacktraceplus"] - path = mods/stacktraceplus - url = https://github.com/MinetestForFun/stacktraceplus.git [submodule "mods/profilerdumper"] path = mods/profilerdumper url = https://github.com/MinetestForFun/profilerdumper.git @@ -114,3 +111,34 @@ path = mods/mobs url = https://github.com/sys4-fr/mobs_redo.git branch = nalc +[submodule "mods/moreblocks"] + path = mods/moreblocks + url = https://github.com/minetest-mods/moreblocks.git +[submodule "mods/colouredstonebricks"] + path = mods/colouredstonebricks + url = https://github.com/davisonio/colouredstonebricks.git +[submodule "mods/pipeworks"] + path = mods/pipeworks + url = https://github.com/minetest-mods/pipeworks.git +[submodule "mods/h2omes"] + path = mods/h2omes + url = https://github.com/MinetestForFun/h2omes.git +[submodule "mods/player_physics"] + path = mods/player_physics + url = https://github.com/MinetestForFun/player_physics.git +[submodule "mods/farming"] + path = mods/farming + url = https://github.com/sys4-fr/farming.git +[submodule "mods/moreores"] + path = mods/moreores + url = https://github.com/minetest-mods/moreores.git +[submodule "mods/stacktraceplus"] + path = mods/stacktraceplus + url = https://github.com/MinetestForFun/stacktraceplus.git +[submodule "minetestforfun_game"] + path = minetestforfun_game + url = https://github.com/sys4-fr/minetest_game.git + branch = nalc +[submodule "mods/cherry_tree"] + path = mods/cherry_tree + url = https://github.com/sys4-fr/cherry_tree.git diff --git a/minetest.conf b/minetest.conf index 1f3e1c4c..a4250316 100755 --- a/minetest.conf +++ b/minetest.conf @@ -109,11 +109,11 @@ mg_name = valleys mg_valleys_spflags = altitude_chill,humid_rivers mgvalleys_altitude_chill = 90 mgvalleys_large_cave_depth = -33 -mgvalleys_lava_features = 1 +mgvalleys_lava_features = 0 mgvalleys_massive_cave_depth = -256 mgvalleys_river_depth = 4 mgvalleys_river_size = 5 -mgvalleys_water_features = 1 +mgvalleys_water_features = 0 mgvalleys_cave_width = 0.09 diff --git a/minetestforfun_game b/minetestforfun_game new file mode 160000 index 00000000..d5b9fee6 --- /dev/null +++ b/minetestforfun_game @@ -0,0 +1 @@ +Subproject commit d5b9fee6fe2c3c09678851d047e6f05d71f01e55 diff --git a/minetestforfun_game/.gitignore b/minetestforfun_game/.gitignore deleted file mode 100755 index ef02689c..00000000 --- a/minetestforfun_game/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -## Files related to minetest development cycle -/*.patch -# GNU Patch reject file -*.rej - -## Editors and Development environments -*~ -*.swp -*.bak* -*.orig -# Vim -*.vim -# Kate -.*.kate-swp -.swp.* -# Eclipse (LDT) -.project -.settings/ -.buildpath -.metadata -# Idea IDE -.idea/* diff --git a/minetestforfun_game/README.txt b/minetestforfun_game/README.txt deleted file mode 100755 index b59b7f94..00000000 --- a/minetestforfun_game/README.txt +++ /dev/null @@ -1,53 +0,0 @@ -Minetest Game [minetest_game] -============================= -The main subgame for the Minetest engine -======================================== - -To use this subgame with the Minetest engine, insert this repository as - /games/minetest_game - -The Minetest engine can be found in: - https://github.com/minetest/minetest/ - -Compatibility --------------- -The Minetest Game github master HEAD is generally compatible with the github -master HEAD of the Minetest engine. - -Additionally, when the Minetest engine is tagged to be a certain version (eg. -0.4.10), Minetest Game is tagged with the version too. - -When stable releases are made, Minetest Game is packaged and made available in - http://minetest.net/download -and in case the repository has grown too much, it may be reset. In that sense, -this is not a "real" git repository. (Package maintainers please note!) - -License of source code ----------------------- -Copyright (C) 2010-2012 celeron55, Perttu Ahola -See README.txt in each mod directory for information about other authors. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -License of media (textures and sounds) --------------------------------------- -Copyright (C) 2010-2012 celeron55, Perttu Ahola -See README.txt in each mod directory for information about other authors. - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -License of menu/header.png -Copyright (C) 2015 paramat CC BY-SA 3.0 diff --git a/minetestforfun_game/game.conf b/minetestforfun_game/game.conf deleted file mode 100755 index 17e7d602..00000000 --- a/minetestforfun_game/game.conf +++ /dev/null @@ -1 +0,0 @@ -name = MinetestForFun Game diff --git a/minetestforfun_game/game_api.txt b/minetestforfun_game/game_api.txt deleted file mode 100755 index 80272a60..00000000 --- a/minetestforfun_game/game_api.txt +++ /dev/null @@ -1,652 +0,0 @@ -Minetest Game API -================= -GitHub Repo: https://github.com/minetest/minetest_game - -Introduction ------------- - -The Minetest Game subgame offers multiple new possibilities in addition to the Minetest engine's built-in API, -allowing you to add new plants to farming mod, buckets for new liquids, new stairs and custom panes. -For information on the Minetest API, visit https://github.com/minetest/minetest/blob/master/doc/lua_api.txt -Please note: - - * [XYZ] refers to a section the Minetest API - * [#ABC] refers to a section in this document - * [pos] refers to a position table `{x = -5, y = 0, z = 200}` - -Bucket API ----------- - -The bucket API allows registering new types of buckets for non-default liquids. - - bucket.register_liquid( - "default:lava_source", -- name of the source node - "default:lava_flowing", -- name of the flowing node - "bucket:bucket_lava", -- name of the new bucket item (or nil if liquid is not takeable) - "bucket_lava.png", -- texture of the new bucket item (ignored if itemname == nil) - "Lava Bucket", -- text description of the bucket item - {lava_bucket = 1}, -- groups of the bucket item, OPTIONAL - false -- force-renew, OPTIONAL. Force the liquid source to renew if it has - -- a source neighbour, even if defined as 'liquid_renewable = false'. - -- Needed to avoid creating holes in sloping rivers. - ) - -The filled bucket item is returned to the player that uses an empty bucket pointing to the given liquid source. -When punching with an empty bucket pointing to an entity or a non-liquid node, the on_punch of the entity or node will be triggered. - -Beds API --------- - - beds.register_bed( - "beds:bed", -- Bed name - def -- See [#Bed definition] - ) - - * `beds.read_spawns() ` Returns a table containing players respawn positions - * `beds.kick_players()` Forces all players to leave bed - * `beds.skip_night()` Sets world time to morning and saves respawn position of all players currently sleeping - -### Bed definition - - { - description = "Simple Bed", - inventory_image = "beds_bed.png", - wield_image = "beds_bed.png", - tiles = { - bottom = {'Tile definition'}, -- the tiles of the bottom part of the bed. - top = {Tile definition} -- the tiles of the bottom part of the bed. - }, - nodebox = { - bottom = 'regular nodebox', -- bottom part of bed (see [Node boxes]) - top = 'regular nodebox', -- top part of bed (see [Node boxes]) - }, - selectionbox = 'regular nodebox', -- for both nodeboxes (see [Node boxes]) - recipe = { -- Craft recipe - {"group:wool", "group:wool", "group:wool"}, - {"group:wood", "group:wood", "group:wood"} - } - } - -Creative API ------------- - -A global string called `creative.formspec_add` was added which allows mods to add additional formspec elements onto the default creative inventory formspec to be drawn after each update. - -Doors API ---------- - -The doors mod allows modders to register custom doors and trapdoors. - -`doors.register_door(name, def)` - - * Registers new door - * `name` Name for door - * `def` See [#Door definition] - -`doors.register_trapdoor(name, def)` - - * Registers new trapdoor - * `name` Name for trapdoor - * `def` See [#Trapdoor definition] - -`doors.register_fencegate(name, def)` - - * Registers new fence gate - * `name` Name for fence gate - * `def` See [#Fence gate definition] - -`doors.get(pos)` - - * `pos` A position as a table, e.g `{x = 1, y = 1, z = 1}` - * Returns an ObjectRef to a door, or nil if the position does not contain a door - - ### Methods - - :open(player) -- Open the door object, returns if door was opened - :close(player) -- Close the door object, returns if door was closed - :toggle(player) -- Toggle the door state, returns if state was toggled - :state() -- returns the door state, true = open, false = closed - - the "player" parameter can be omitted in all methods. If passed then - the usual permission checks will be performed to make sure the player - has the permissions needed to open this door. If omitted then no - permission checks are performed. - -### Door definition - - description = "Door description", - inventory_image = "mod_door_inv.png", - groups = {choppy = 2}, - tiles = {"mod_door.png"}, -- UV map. - recipe = craftrecipe, - sounds = default.node_sound_wood_defaults(), -- optional - sound_open = sound play for open door, -- optional - sound_close = sound play for close door, -- optional - protected = false, -- If true, only placer can open the door (locked for others) - -### Trapdoor definition - - description = "Trapdoor description", - inventory_image = "mod_trapdoor_inv.png", - groups = {choppy = 2}, - tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor - tile_side = "doors_trapdoor_side.png", -- the tiles of the four side parts of the trapdoor - sounds = default.node_sound_wood_defaults(), -- optional - sound_open = sound play for open door, -- optional - sound_close = sound play for close door, -- optional - protected = false, -- If true, only placer can open the door (locked for others) - -### Fence gate definition - - description = "Wooden Fence Gate", - texture = "default_wood.png", - material = "default:wood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), -- optional - -Fence API ---------- - -Allows creation of new fences with "fencelike" drawtype. - -`default.register_fence(name, item definition)` - - Registers a new fence. Custom fields texture and material are required, as - are name and description. The rest is optional. You can pass most normal - nodedef fields here except drawtype. The fence group will always be added - for this node. - -### fence definition - - name = "default:fence_wood", - description = "Wooden Fence", - texture = "default_wood.png", - material = "default:wood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - -Walls API ---------- - -The walls API allows easy addition of stone auto-connecting wall nodes. - -walls.register(name, desc, texture, mat, sounds) -^ name = "walls:stone_wall". Node name. -^ desc = "A Stone wall" -^ texture = "default_stone.png" -^ mat = "default:stone". Used to auto-generate crafting recipe. -^ sounds = sounds: see [#Default sounds] - -Farming API ------------ - -The farming API allows you to easily register plants and hoes. - -`farming.register_hoe(name, hoe definition)` - * Register a new hoe, see [#hoe definition] - -`farming.register_plant(name, Plant definition)` - * Register a new growing plant, see [#Plant definition] - -`farming.registered_plants[name] = definition` - * Table of registered plants, indexed by plant name - -### Hoe Definition - - - { - description = "", -- Description for tooltip - inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image - max_uses = 30, -- Uses until destroyed - material = "", -- Material for recipes - recipe = { -- Craft recipe, if material isn't used - {"air", "air", "air"}, - {"", "group:stick"}, - {"", "group:stick"}, - } - } - -### Plant definition - - { - description = "", -- Description of seed item - inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image - steps = 8, -- How many steps the plant has to grow, until it can be harvested - -- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber) - minlight = 13, -- Minimum light to grow - maxlight = default.LIGHT_MAX -- Maximum light to grow - } - -Fire API --------- - -New node def property: - -`on_burn(pos)` - - * Called when fire attempts to remove a burning node. - * `pos` Position of the burning node. - - `on_ignite(pos, igniter)` - - * Called when Flint and steel (or a mod defined ignitor) is used on a node. - Defining it may prevent the default action (spawning flames) from triggering. - * `pos` Position of the ignited node. - * `igniter` Player that used the tool, when available. - - -Give Initial Stuff API ----------------------- - -`give_initial_stuff.give(player)` - -^ Give initial stuff to "player" - -`give_initial_stuff.add(stack)` - -^ Add item to the initial stuff -^ Stack can be an ItemStack or a item name eg: "default:dirt 99" -^ Can be called after the game has loaded - -`give_initial_stuff.clear()` - -^ Removes all items from the initial stuff -^ Can be called after the game has loaded - -`give_initial_stuff.get_list()` - -^ returns list of item stacks - -`give_initial_stuff.set_list(list)` - -^ List of initial items with numeric indices. - -`give_initial_stuff.add_from_csv(str)` - -^ str is a comma separated list of initial stuff -^ Adds items to the list of items to be given - -Nyancat API ------------ - -`nyancat.place(pos, facedir, length)` - -^ Place a cat at `pos` facing `facedir` with tail length `length` - Only accepts facedir 0-3, if facedir > 3 then it will be interpreted as facedir = 0 - -`nyancat.generate(minp, maxp, seed)` - -^ Called by `minetest.register_on_generated`. To disable nyancat generation, - you can redefine nyancat.generate() to be an empty function - -TNT API ----------- - -`tnt.register_tnt(definition)` - -^ Register a new type of tnt. - - * `name` The name of the node. If no prefix is given `tnt` is used. - * `description` A description for your TNT. - * `radius` The radius within which the TNT can destroy nodes. The default is 3. - * `damage_radius` The radius within which the TNT can damage players and mobs. By default it is twice the `radius`. - * `disable_drops` Disable drops. By default it is set to false. - * `ignore_protection` Don't check `minetest.is_protected` before removing a node. - * `ignore_on_blast` Don't call `on_blast` even if a node has one. - * `tiles` Textures for node - * `side` Side tiles. By default the name of the tnt with a suffix of `_side.png`. - * `top` Top tile. By default the name of the tnt with a suffix of `_top.png`. - * `bottom` Bottom tile. By default the name of the tnt with a suffix of `_bottom.png`. - * `burning` Top tile when lit. By default the name of the tnt with a suffix of `_top_burning_animated.png". - -`tnt.boom(position, definition)` - -^ Create an explosion. - -* `position` The center of explosion. -* `definition` The TNT definion as passed to `tnt.register` - -`tnt.burn(position, [nodename])` - -^ Ignite TNT at position, nodename isn't required unless already known. - - -To make dropping items from node inventories easier, you can use the -following helper function from 'default': - -default.get_inventory_drops(pos, inventory, drops) - -^ Return drops from node inventory "inventory" in drops. - -* `pos` - the node position -* `inventory` - the name of the inventory (string) -* `drops` - an initialized list - -The function returns no values. The drops are returned in the `drops` -parameter, and drops is not reinitialized so you can call it several -times in a row to add more inventory items to it. - - -`on_blast` callbacks: - -Both nodedefs and entitydefs can provide an `on_blast()` callback - -`nodedef.on_blast(pos, intensity)` -^ Allow drop and node removal overriding -* `pos` - node position -* `intensity` - TNT explosion measure. larger or equal to 1.0 -^ Should return a list of drops (e.g. {"default:stone"}) -^ Should perform node removal itself. If callback exists in the nodedef -^ then the TNT code will not destroy this node. - -`entitydef.on_blast(luaobj, damage)` -^ Allow TNT effects on entities to be overridden -* `luaobj` - LuaEntityRef of the entity -* `damage` - suggested HP damage value -^ Should return a list of (bool do_damage, bool do_knockback, table drops) -* `do_damage` - if true then TNT mod wil damage the entity -* `do_knockback` - if true then TNT mod will knock the entity away -* `drops` - a list of drops, e.g. {"wool:red"} - - -Screwdriver API ---------------- - -The screwdriver API allows you to control a node's behaviour when a screwdriver is used on it. -To use it, add the `on_screwdriver` function to the node definition. - -`on_rotate(pos, node, user, mode, new_param2)` - - * `pos` Position of the node that the screwdriver is being used on - * `node` that node - * `user` The player who used the screwdriver - * `mode` screwdriver.ROTATE_FACE or screwdriver.ROTATE_AXIS - * `new_param2` the new value of param2 that would have been set if on_rotate wasn't there - * return value: false to disallow rotation, nil to keep default behaviour, true to allow - it but to indicate that changed have already been made (so the screwdriver will wear out) - * use `on_rotate = false` to always disallow rotation - * use `on_rotate = screwdriver.rotate_simple` to allow only face rotation - - -Sethome API ------------ - -The sethome API adds three global functions to allow mods to read a players home position, -set a players home position and teleport a player to home position. - -`sethome.get(name)` - - * `name` Player who's home position you wish to get - * return value: false if no player home coords exist, position table if true - -`sethome.set(name, pos)` - - * `name` Player who's home position you wish to set - * `pos` Position table containing coords of home position - * return value: false if unable to set and save new home position, otherwise true - -`sethome.go(name)` - - * `name` Player you wish to teleport to their home position - * return value: false if player cannot be sent home, otherwise true - - -Stairs API ----------- - -The stairs API lets you register stairs and slabs and ensures that they are registered the same way as those -delivered with Minetest Game, to keep them compatible with other mods. - -`stairs.register_stair(subname, recipeitem, groups, images, description, sounds)` - - * Registers a stair. - * `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_subname" - * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil` - * `groups`: see [Known damage and digging time defining groups] - * `images`: see [Tile definition] - * `description`: used for the description field in the stair's definition - * `sounds`: see [#Default sounds] - -`stairs.register_slab(subname, recipeitem, groups, images, description, sounds)` - - * Registers a slabs - * `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_subname" - * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble" - * `groups`: see [Known damage and digging time defining groups] - * `images`: see [Tile definition] - * `description`: used for the description field in the stair's definition - * `sounds`: see [#Default sounds] - -`stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds)` - - * A wrapper for stairs.register_stair and stairs.register_slab - * Uses almost the same arguments as stairs.register_stair - * `desc_stair`: Description for stair node - * `desc_slab`: Description for slab node - -Xpanes API ----------- - -Creates panes that automatically connect to each other - -`xpanes.register_pane(subname, def)` - - * `subname`: used for nodename. Result: "xpanes:subname" and "xpanes:subname_{2..15}" - * `def`: See [#Pane definition] - -### Pane definition - - { - textures = {"texture for sides", (unused), "texture for top and bottom"}, -- More tiles aren't supported - groups = {group = rating}, -- Uses the known node groups, see [Known damage and digging time defining groups] - sounds = SoundSpec, -- See [#Default sounds] - recipe = {{"","","","","","","","",""}}, -- Recipe field only - } - -Raillike definitions --------------------- - -The following nodes use the group `connect_to_raillike` and will only connect to -raillike nodes within this group and the same group value. -Use `minetest.raillike_group()` to get the group value. - -| Node type | Raillike group name -|-----------------------|--------------------- -| default:rail | "rail" -| tnt:gunpowder | "gunpowder" -| tnt:gunpowder_burning | "gunpowder" - -Example: -If you want to add a new rail type and want it to connect with default:rail, -add `connect_to_raillike=minetest.raillike_group("rail")` into the `groups` table -of your node. - - -Default sounds --------------- - -Sounds inside the default table can be used within the sounds field of node definitions. - - * `default.node_sound_defaults()` - * `default.node_sound_stone_defaults()` - * `default.node_sound_dirt_defaults()` - * `default.node_sound_sand_defaults()` - * `default.node_sound_wood_defaults()` - * `default.node_sound_leaves_defaults()` - * `default.node_sound_glass_defaults()` - * `default.node_sound_metal_defaults()` - -Default constants ------------------ - -`default.LIGHT_MAX` The maximum light level (see [Node definition] light_source) - -Player API ----------- - -The player API can register player models and update the player's appearence - -`default.player_register_model(name, def)` - - * Register a new model to be used by players. - * name: model filename such as "character.x", "foo.b3d", etc. - * def: See [#Model definition] - -`default.registered_player_models[name]` - - * Get a model's definition - * see [#Model definition] - -`default.player_set_model(player, model_name)` - - * Change a player's model - * `player`: PlayerRef - * `model_name`: model registered with player_register_model() - -`default.player_set_animation(player, anim_name [, speed])` - - * Applies an animation to a player - * anim_name: name of the animation. - * speed: frames per second. If nil, default from the model is used - -`default.player_set_textures(player, textures)` - - * Sets player textures - * `player`: PlayerRef - * `textures`: array of textures, If `textures` is nil, the default textures from the model def are used - -default.player_get_animation(player) - - * Returns a table containing fields `model`, `textures` and `animation`. - * Any of the fields of the returned table may be nil. - * player: PlayerRef - -### Model Definition - - { - animation_speed = 30, -- Default animation speed, in FPS. - textures = {"character.png", }, -- Default array of textures. - visual_size = {x = 1, y = 1}, -- Used to scale the model. - animations = { - -- = {x = , y = }, - foo = {x = 0, y = 19}, - bar = {x = 20, y = 39}, - -- ... - }, - } - -Leafdecay ---------- - -To enable leaf decay for a node, add it to the `leafdecay` group. - -The rating of the group determines how far from a node in the group `tree` -the node can be without decaying. - -If `param2` of the node is ~= 0, the node will always be preserved. Thus, if -the player places a node of that kind, you will want to set `param2 = 1` or so. - -The function `default.after_place_leaves` can be set as `after_place_node of a node` -to set param2 to 1 if the player places the node (should not be used for nodes -that use param2 otherwise (e.g. facedir)). - -If the node is in the `leafdecay_drop` group then it will always be dropped as an -item. - -Dyes ----- - -To make recipes that will work with any dye ever made by anybody, define -them based on groups. You can select any group of groups, based on your need for -amount of colors. - -### Color groups - -Base color groups: - - * `basecolor_white` - * `basecolor_grey` - * `basecolor_black` - * `basecolor_red` - * `basecolor_yellow` - * `basecolor_green` - * `basecolor_cyan` - * `basecolor_blue` - * `basecolor_magenta` - -Extended color groups ( * means also base color ) - - * `excolor_white` * - * `excolor_lightgrey` - * `excolor_grey` * - * `excolor_darkgrey` - * `excolor_black` * - * `excolor_red` * - * `excolor_orange` - * `excolor_yellow` * - * `excolor_lime` - * `excolor_green` * - * `excolor_aqua` - * `excolor_cyan` * - * `excolor_sky_blue` - * `excolor_blue` * - * `excolor_violet` - * `excolor_magenta` * - * `excolor_red_violet` - -The whole unifieddyes palette as groups: - - * `unicolor_` - -For the following, no white/grey/black is allowed: - - * `unicolor_medium_` - * `unicolor_dark_` - * `unicolor_light_` - * `unicolor__s50` - * `unicolor_medium__s50` - * `unicolor_dark__s50` - -Example of one shapeless recipe using a color group: - - minetest.register_craft({ - type = "shapeless", - output = ':item_yellow', - recipe = {':item_no_color', 'group:basecolor_yellow'}, - }) - -### Color lists - - * `dye.basecolors` are an array containing the names of available base colors - - * `dye.excolors` are an array containing the names of the available extended colors - -Trees ------ - - * `default.grow_tree(pos, is_apple_tree)` - * Grows a mgv6 tree or apple tree at pos - - * `default.grow_jungle_tree(pos)` - * Grows a mgv6 jungletree at pos - - * `default.grow_pine_tree(pos)` - * Grows a mgv6 pinetree at pos - - * `default.grow_new_apple_tree(pos)` - * Grows a new design apple tree at pos - - * `default.grow_new_jungle_tree(pos)` - * Grows a new design jungle tree at pos - - * `default.grow_new_pine_tree(pos)` - * Grows a new design pine tree at pos - - * `default.grow_new_acacia_tree(pos)` - * Grows a new design acacia tree at pos - - * `default.grow_new_aspen_tree(pos)` - * Grows a new design aspen tree at pos - - * `default.grow_new_snowy_pine_tree(pos)` - * Grows a new design snowy pine tree at pos diff --git a/minetestforfun_game/menu/header.png b/minetestforfun_game/menu/header.png deleted file mode 100644 index e54b1a46..00000000 Binary files a/minetestforfun_game/menu/header.png and /dev/null differ diff --git a/minetestforfun_game/menu/icon.png b/minetestforfun_game/menu/icon.png deleted file mode 100755 index bf90c829..00000000 Binary files a/minetestforfun_game/menu/icon.png and /dev/null differ diff --git a/minetestforfun_game/minetest.conf b/minetestforfun_game/minetest.conf deleted file mode 100755 index f1fab7e4..00000000 --- a/minetestforfun_game/minetest.conf +++ /dev/null @@ -1,3 +0,0 @@ -# Enable jungles on new worlds, disable biome blend and mud flow (faster, looks better). -mgv6_spflags = jungles, nobiomeblend, nomudflow -disable_fire = false diff --git a/minetestforfun_game/minetest.conf.example b/minetestforfun_game/minetest.conf.example deleted file mode 100755 index f5e4e85d..00000000 --- a/minetestforfun_game/minetest.conf.example +++ /dev/null @@ -1,47 +0,0 @@ -# This file contains settings of Minetest Game that can be changed in minetest.conf -# By default, all the settings are commented and not functional. -# Uncomment settings by removing the preceding #. - -# Whether creative mode (fast digging of all blocks, unlimited resources) should be enabled -#creative_mode = false - -# Sets the behaviour of the inventory items when a player dies. -# "bones": Store all items inside a bone node but drop items if inside protected area -# "drop": Drop all items on the ground -# "keep": Player keeps all items -#bones_mode = "bones" - -# The time in seconds after which the bones of a dead player can be looted by everyone -# 0 to disable -#share_bones_time = 1200 - -# How much earlier the bones of a dead player can be looted by -# everyone if the player dies in a protected area they don't own. -# 0 to disable. By default it is "share_bones_time" divide by four. -#share_bones_time_early = 300 - -# Whether fire should be enabled. If disabled, 'basic flame' nodes will disappear. -# 'permanent flame' nodes will remain with either setting. -#enable_fire = true - -# Whether the stuff in initial_stuff should be given to new players -#give_initial_stuff = false -#initial_stuff = default:pick_steel,default:axe_steel,default:shovel_steel,default:torch 99,default:cobble 99 - -# Whether the TNT mod should be enabled -#enable_tnt = - -# The radius of a TNT explosion -#tnt_radius = 3 - -# Enable the stairs mod ABM that replaces the old 'upside down' -# stair and slab nodes in old maps with the new param2 versions. -#enable_stairs_replace_abm = false - -# Whether you allow respawning in beds -# Default value is true -#enable_bed_respawn = true - -# Whether players can skip night by sleeping -# Default value is true -#enable_bed_night_skip = true diff --git a/minetestforfun_game/mods/_misc_init/init.lua b/minetestforfun_game/mods/_misc_init/init.lua deleted file mode 100755 index bf26caec..00000000 --- a/minetestforfun_game/mods/_misc_init/init.lua +++ /dev/null @@ -1,9 +0,0 @@ ----------------------------------------- --- Server Misc Mod - pre-default init -- ----------------------------------------- - -local cwd = minetest.get_modpath(minetest.get_current_modname()) - --- Inventory refill function override --- see https://github.com/MinetestForFun/server-minetestforfun/issues/462 -dofile(cwd.."/inventory_rotate_node.lua") diff --git a/minetestforfun_game/mods/_misc_init/inventory_rotate_node.lua b/minetestforfun_game/mods/_misc_init/inventory_rotate_node.lua deleted file mode 100644 index 4df3ac13..00000000 --- a/minetestforfun_game/mods/_misc_init/inventory_rotate_node.lua +++ /dev/null @@ -1,22 +0,0 @@ ---rewrite function minetest.rotate_node(itemstack, placer, pointed_thing) to refill inventory -local old_rotate_node = minetest.rotate_node -function minetest.rotate_node(itemstack, placer, pointed_thing) - local stack_name = itemstack:get_name() - local ret = old_rotate_node(itemstack, placer, pointed_thing) - if ret:get_count() == 0 and not minetest.setting_getbool("creative_mode") then - local index = placer:get_wield_index() - local inv = placer:get_inventory() - if inv:get_list("main") then - for i, stack in ipairs(inv:get_list("main")) do - if i ~= index and stack:get_name() == stack_name then - ret:add_item(stack) - stack:clear() - inv:set_stack("main", i, stack) - minetest.log("action", "Inventory Tweaks: refilled stack("..stack_name..") of " .. placer:get_player_name()) - break - end - end - end - end - return ret -end diff --git a/minetestforfun_game/mods/beds/README.txt b/minetestforfun_game/mods/beds/README.txt deleted file mode 100755 index 9710c459..00000000 --- a/minetestforfun_game/mods/beds/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -Minetest Game mod: beds -======================= -by BlockMen (c) 2014-2015 - -Version: 1.1.1 - -About -~~~~~ -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 imideatly. If playing on server you get shown how many other -players are in bed too. If all players are sleeping the night gets skipped aswell. Also 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 controled 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 also disable the night skip feature by setting "enable_bed_night_skip = false" in minetest.conf or by using -the /set command ingame. - - -License of source code, textures: WTFPL ---------------------------------------- -(c) Copyright BlockMen (2014-2015) - - -This program is free software. It comes without any warranty, to -the extent permitted by applicable law. You can redistribute it -and/or modify it under the terms of the Do What The Fuck You Want -To Public License, Version 2, as published by Sam Hocevar. See -http://sam.zoy.org/wtfpl/COPYING for more details. diff --git a/minetestforfun_game/mods/beds/api.lua b/minetestforfun_game/mods/beds/api.lua deleted file mode 100755 index b9259f92..00000000 --- a/minetestforfun_game/mods/beds/api.lua +++ /dev/null @@ -1,113 +0,0 @@ -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 = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 1}, - sounds = default.node_sound_wood_defaults(), - node_box = { - type = "fixed", - fixed = def.nodebox.bottom, - }, - selection_box = { - type = "fixed", - fixed = def.selectionbox, - }, - after_place_node = function(pos, placer, itemstack) - local n = minetest.get_node_or_nil(pos) - if not n or not n.param2 then - minetest.remove_node(pos) - return true - end - local dir = minetest.facedir_to_dir(n.param2) - local p = vector.add(pos, dir) - local n2 = minetest.get_node_or_nil(p) - local def = n2 and minetest.registered_items[n2.name] - if not def or not def.buildable_to then - minetest.remove_node(pos) - return true - end - minetest.set_node(p, {name = n.name:gsub("%_bottom", "_top"), param2 = n.param2}) - return false - end, - on_destruct = function(pos) - local n = minetest.get_node_or_nil(pos) - if not n then return end - local dir = minetest.facedir_to_dir(n.param2) - local p = vector.add(pos, dir) - local n2 = minetest.get_node(p) - if minetest.get_item_group(n2.name, "bed") == 2 and n.param2 == n2.param2 then - minetest.remove_node(p) - end - end, - after_dig_node = function(pos, oldnode, oldmetadata, digger) - local name = digger:get_player_name() - if not name or name == "" then return end - beds.spawn[name] = nil - beds.save_spawns() - end, - on_rightclick = function(pos, node, clicker) - beds.on_rightclick(pos, clicker) - 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 def = node3 and minetest.registered_nodes[node3.name] - if not def or not 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 - minetest.swap_node(pos, node) - minetest.remove_node(p) - minetest.set_node(newp, {name = node.name:gsub("%_bottom", "_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 = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2}, - sounds = default.node_sound_wood_defaults(), - node_box = { - type = "fixed", - fixed = def.nodebox.top, - }, - }) - - minetest.register_alias(name, name .. "_bottom") - - -- register recipe - minetest.register_craft({ - output = name, - recipe = def.recipe - }) -end diff --git a/minetestforfun_game/mods/beds/beds.lua b/minetestforfun_game/mods/beds/beds.lua deleted file mode 100755 index 76584c85..00000000 --- a/minetestforfun_game/mods/beds/beds.lua +++ /dev/null @@ -1,92 +0,0 @@ -for _, colour in pairs({"red", "white", "black", "blue", "green"}) do-- fancy shaped bed - beds.register_bed("beds:fancy_bed_" .. colour, { - description = "Fancy Bed (" .. colour .. ")", - inventory_image = "beds_bed_fancy_" .. colour .. ".png", - wield_image = "beds_bed_fancy_" .. colour .. ".png", - tiles = { - bottom = { - "beds_bed_top1_" .. colour .. ".png", - "default_wood.png", - "beds_bed_side1_" .. colour .. ".png", - "beds_bed_side1_" .. colour .. ".png^[transformFX", - "default_wood.png", - "beds_bed_foot_" .. colour .. ".png", - }, - top = { - "beds_bed_top2_" .. colour .. ".png", - "default_wood.png", - "beds_bed_side2_" .. colour .. ".png", - "beds_bed_side2_" .. colour .. ".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:" .. colour, "wool:" .. colour, "wool:white"}, - {"group:wood", "group:wood", "group:wood"}, - }, - }) - - -- simple shaped bed - beds.register_bed("beds:bed_" .. colour, { - description = "Simple Bed (" .. colour .. ")", - inventory_image = "beds_bed_" .. colour .. ".png", - wield_image = "beds_bed_" .. colour .. ".png", - tiles = { - bottom = { - "beds_bed_top_bottom_" .. colour .. ".png^[transformR90", - "default_wood.png", - "beds_bed_side_bottom_r_" .. colour .. ".png", - "beds_bed_side_bottom_r_" .. colour .. ".png^[transformfx", - "beds_transparent.png", - "beds_bed_side_bottom_" .. colour .. ".png" - }, - top = { - "beds_bed_top_top_" .. colour .. ".png^[transformR90", - "default_wood.png", - "beds_bed_side_top_r_" .. colour .. ".png", - "beds_bed_side_top_r_" .. colour .. ".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:" .. colour, "wool:" .. colour, "wool:white"}, - {"group:wood", "group:wood", "group:wood"} - }, - - }) -end - -minetest.register_alias("beds:bed", "beds:bed_red") -minetest.register_alias("beds:fancy_bed", "beds:fancy_bed_red") -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_top", "beds:fancy_bed_red_top") -minetest.register_alias("beds:fancy_bed_bottom", "beds:fancy_bed_red_bottom") diff --git a/minetestforfun_game/mods/beds/depends.txt b/minetestforfun_game/mods/beds/depends.txt deleted file mode 100755 index 2efaa03d..00000000 --- a/minetestforfun_game/mods/beds/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -wool -areas diff --git a/minetestforfun_game/mods/beds/functions.lua b/minetestforfun_game/mods/beds/functions.lua deleted file mode 100755 index e5c60da8..00000000 --- a/minetestforfun_game/mods/beds/functions.lua +++ /dev/null @@ -1,271 +0,0 @@ -local pi = math.pi -local player_in_bed = 0 -local is_sp = minetest.is_singleplayer() -local enable_respawn = minetest.setting_getbool("enable_bed_respawn") -if enable_respawn == nil then - enable_respawn = true -end - - --- helper functions - -local function get_look_yaw(pos) - local n = minetest.get_node(pos) - if n.param2 == 1 then - return pi/2, n.param2 - elseif n.param2 == 3 then - return -pi/2, n.param2 - elseif n.param2 == 0 then - return pi, n.param2 - else - return 0, n.param2 - end -end - -local function is_night_skip_enabled() - local enable_night_skip = minetest.setting_getbool("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_yaw(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_yaw(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) - beds.set_spawns() -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) - 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 ---[[ --MFF (Crabman) It's useless to read each join player, read only once at load. function moved/called in spawn.lua -minetest.register_on_joinplayer(function(player) - beds.read_spawns() -end) ---]] - - -local dead_players = {} -local have_areas_mod = false -if (minetest.get_modpath("areas") ~= nil) and areas.getSpawn then - have_areas_mod = true -end - - -local function teleport_player(player, clear) - local name = player:get_player_name() - if not name or name == "" then return false end - if have_areas_mod and dead_players[name] ~= nil then - local pos = areas:getSpawn(dead_players[name]) - if clear then - dead_players[name] = nil - end - if pos then - player:setpos(pos) - return true - end - end - if not enable_respawn then - return false - end - local name = player:get_player_name() - local pos = beds.spawn[name] or nil - if pos then - player:setpos(pos) - return true - end - --if not areas or bed spawnpoint, tp to the spawn - local spawn = minetest.string_to_pos(minetest.setting_get("static_spawnpoint") or "0,0,0") - player:setpos(spawn) - return false -end - - -minetest.register_on_dieplayer(function(player) - local name = player:get_player_name() - if not name or name == "" then return end - if have_areas_mod then - local pos = player:getpos() - if pos then - dead_players[name] = pos - end - end - minetest.after(0.20, teleport_player, player) -- tp after all others on_dieplayer callback otherwise their pos is wrong -end) - --- respawn player at bed if enabled and valid position is found -minetest.register_on_respawnplayer(function(player) - return teleport_player(player, true) -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/minetestforfun_game/mods/beds/init.lua b/minetestforfun_game/mods/beds/init.lua deleted file mode 100755 index 09982c24..00000000 --- a/minetestforfun_game/mods/beds/init.lua +++ /dev/null @@ -1,16 +0,0 @@ -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") diff --git a/minetestforfun_game/mods/beds/models/fancy_bed.obj b/minetestforfun_game/mods/beds/models/fancy_bed.obj deleted file mode 100755 index 285be20f..00000000 --- a/minetestforfun_game/mods/beds/models/fancy_bed.obj +++ /dev/null @@ -1,160 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: '' -# www.blender.org -mtllib fancy_bed.mtl -o mattress_Mattress_nodebox-6_none.001_fancy_bed.png.001 -v 0.437500 -0.312500 -0.437501 -v 0.437500 -0.062500 -0.437501 -v 0.437500 -0.062500 1.437499 -v 0.437500 -0.312500 1.437499 -v -0.437500 -0.312500 -0.437501 -v -0.437500 -0.312500 1.437499 -v -0.437500 -0.062500 1.437499 -v -0.437500 -0.062500 -0.437501 -v 0.437500 -0.176793 -0.437501 -v -0.437500 -0.176793 -0.437501 -vt 0.000171 0.499972 -vt 0.000161 0.000182 -vt 0.999791 0.000253 -vt 0.999873 0.500022 -vt 0.749576 0.000208 -vt 0.749876 0.499854 -vt 0.999848 0.999750 -vt 0.000152 0.999750 -vt 0.749276 0.130648 -vt 0.000112 0.130648 -g mattress_Mattress_nodebox-6_none.001_fancy_bed.png.001_none.001_fancy_bed.png.001 -usemtl none.001_fancy_bed.png.001 -s off -f 1/1 2/2 3/3 4/4 -f 5/2 6/3 7/4 8/1 -f 4/5 3/2 7/1 6/6 -f 1/1 4/4 6/7 5/8 -f 2/1 8/2 7/3 3/4 -f 8/2 2/5 9/9 10/10 -o wood_structure_Wood_structure_nodebox-4.001_none.002 -v 0.374999 -0.375000 1.437499 -v 0.374999 -0.125000 1.437499 -v 0.374999 -0.125000 1.499999 -v 0.374999 -0.375000 1.499999 -v -0.374999 -0.375000 1.437499 -v -0.374999 -0.375000 1.499999 -v -0.374999 -0.125000 1.499999 -v -0.374999 -0.125000 1.437499 -v -0.375000 -0.500000 1.437499 -v -0.375000 0.187500 1.437499 -v -0.375000 0.187500 1.499999 -v -0.375000 -0.500000 1.499999 -v -0.500000 -0.500000 1.437499 -v -0.500000 -0.500000 1.499999 -v -0.500000 0.187500 1.499999 -v -0.500000 0.187500 1.437499 -v -0.437500 -0.375000 -0.437501 -v -0.437500 -0.125000 -0.437501 -v -0.437500 -0.125000 1.437498 -v -0.437500 -0.375000 1.437498 -v -0.500000 -0.375000 -0.437501 -v -0.500000 -0.375000 1.437498 -v -0.500000 -0.125000 1.437498 -v -0.500000 -0.125000 -0.437501 -v 0.375001 -0.000000 1.437499 -v 0.375001 0.125000 1.437499 -v 0.375001 0.125000 1.499999 -v 0.375001 -0.000000 1.499999 -v -0.375001 -0.000000 1.437499 -v -0.375001 -0.000000 1.499999 -v -0.375001 0.125000 1.499999 -v -0.375001 0.125000 1.437499 -v 0.500000 -0.500000 1.437499 -v 0.500000 0.187500 1.437499 -v 0.500000 0.187500 1.499999 -v 0.500000 -0.500000 1.499999 -v 0.375000 -0.500000 1.437499 -v 0.375000 -0.500000 1.499999 -v 0.375000 0.187500 1.499999 -v 0.375000 0.187500 1.437499 -v 0.500000 -0.375000 -0.437501 -v 0.500000 -0.125000 -0.437501 -v 0.500000 -0.125000 1.437499 -v 0.500000 -0.375000 1.437499 -v 0.437500 -0.375000 -0.437501 -v 0.437500 -0.375000 1.437499 -v 0.437500 -0.125000 1.437499 -v 0.437500 -0.125000 -0.437501 -v -0.375000 -0.500000 -0.500000 -v -0.375000 -0.065000 -0.500000 -v -0.375000 -0.065000 -0.437500 -v -0.375000 -0.500000 -0.437500 -v -0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 -0.437500 -v -0.500000 -0.065000 -0.437500 -v -0.500000 -0.065000 -0.500000 -v 0.375006 -0.375000 -0.500000 -v 0.375006 -0.125000 -0.500000 -v 0.375006 -0.125000 -0.437500 -v 0.375006 -0.375000 -0.437500 -v -0.375006 -0.375000 -0.500000 -v -0.375006 -0.375000 -0.437500 -v -0.375006 -0.125000 -0.437500 -v -0.375006 -0.125000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.065000 -0.500000 -v 0.500000 -0.065000 -0.437500 -v 0.500000 -0.500000 -0.437500 -v 0.375000 -0.500000 -0.500000 -v 0.375000 -0.500000 -0.437500 -v 0.375000 -0.065000 -0.437500 -v 0.375000 -0.065000 -0.500000 -vt 0.377610 0.378205 -vt 0.622484 0.378175 -vt 0.622515 0.623120 -vt 0.377671 0.623151 -g wood_structure_Wood_structure_nodebox-4.001_none.002_none.002 -usemtl none.002 -s off -f 59/11 60/12 61/13 62/14 -f 63/14 64/11 65/12 66/13 -f 59/11 63/14 66/13 60/12 -f 62/14 61/13 65/12 64/11 -f 59/11 62/14 64/13 63/12 -f 60/12 66/11 65/14 61/13 -f 67/11 71/12 74/13 68/14 -f 70/14 69/11 73/12 72/13 -f 67/11 70/12 72/13 71/14 -f 68/11 74/12 73/13 69/14 -f 75/11 76/12 77/13 78/14 -f 79/14 80/11 81/12 82/13 -f 75/14 79/11 82/12 76/13 -f 78/11 77/12 81/13 80/14 -f 75/11 78/12 80/13 79/14 -f 76/11 82/12 81/13 77/14 -g wood_structure_Wood_structure_nodebox-4.001_none.002_none.003 -usemtl none.003 -f 15/11 16/12 17/13 18/14 -f 11/13 15/14 18/11 12/12 -f 14/14 13/11 17/12 16/13 -f 11/14 14/11 16/12 15/13 -f 12/11 18/12 17/13 13/14 -f 19/11 20/12 21/13 22/14 -f 23/14 24/11 25/12 26/13 -f 19/14 23/11 26/12 20/13 -f 22/11 21/12 25/13 24/14 -f 19/11 22/12 24/13 23/14 -f 20/11 26/12 25/13 21/14 -f 27/14 28/11 29/12 30/13 -f 31/11 32/12 33/13 34/14 -f 27/11 30/12 32/13 31/14 -f 28/14 34/11 33/12 29/13 -f 35/11 39/12 42/13 36/14 -f 38/14 37/11 41/12 40/13 -f 35/14 38/11 40/12 39/13 -f 36/11 42/12 41/13 37/14 -f 43/11 44/12 45/13 46/14 -f 47/14 48/11 49/12 50/13 -f 43/14 47/11 50/12 44/13 -f 46/11 45/12 49/13 48/14 -f 43/11 46/12 48/13 47/14 -f 44/11 50/12 49/13 45/14 -f 51/14 52/11 53/12 54/13 -f 55/13 56/14 57/11 58/12 -f 51/11 54/12 56/13 55/14 -f 52/14 58/11 57/12 53/13 diff --git a/minetestforfun_game/mods/beds/models/simple_bed.obj b/minetestforfun_game/mods/beds/models/simple_bed.obj deleted file mode 100755 index 21ecfb47..00000000 --- a/minetestforfun_game/mods/beds/models/simple_bed.obj +++ /dev/null @@ -1,32 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: '' -# www.blender.org -mtllib simple_bed.mtl -o Simple_Bed -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.060000 -0.500000 -v 0.500000 0.060000 1.500000 -v 0.500000 -0.500000 1.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 1.500000 -v -0.500000 0.060000 1.500000 -v -0.500000 0.060000 -0.500000 -vt 0.000112 0.780442 -vt 0.000110 0.999969 -vt 0.780324 0.999889 -vt 0.780377 0.780471 -vt 0.780636 0.390284 -vt 0.999906 0.780382 -vt 0.999906 0.390284 -vt 0.780636 0.000047 -vt 0.999906 0.000094 -vt 0.390235 0.780320 -vt 0.390235 0.000071 -vt 0.000142 0.000142 -usemtl none.002 -s off -f 1/1 2/2 3/3 4/4 -f 5/1 6/4 7/3 8/2 -f 1/5 5/4 8/6 2/7 -f 4/8 3/9 7/7 6/5 -f 1/8 4/4 6/10 5/11 -f 2/11 8/12 7/1 3/10 diff --git a/minetestforfun_game/mods/beds/spawns.lua b/minetestforfun_game/mods/beds/spawns.lua deleted file mode 100755 index 7b99631a..00000000 --- a/minetestforfun_game/mods/beds/spawns.lua +++ /dev/null @@ -1,60 +0,0 @@ -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 - else - spawns = {} - end -end - -function beds.save_spawns() - if not beds.spawn then - return - end - local output = io.open(org_file, "w") - for i, v in pairs(beds.spawn) do - output:write(v.x.." "..v.y.." "..v.z.." "..i.."\n") - end - 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() - beds.spawn[name] = p - end - beds.save_spawns() -end - -beds.read_spawns() diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_fancy_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_fancy_red.png deleted file mode 100755 index 4f9e8a74..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_fancy_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_foot_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_foot_red.png deleted file mode 100755 index 74d84c86..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_foot_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_head.png b/minetestforfun_game/mods/beds/textures/beds_bed_head.png deleted file mode 100755 index 86689fc9..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_head.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_red.png deleted file mode 100755 index 5c0054c6..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side1_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_side1_red.png deleted file mode 100755 index 6b303a56..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_side1_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side2_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_side2_red.png deleted file mode 100755 index 5fc4326e..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_side2_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_red.png deleted file mode 100755 index 6f870e80..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_red.png deleted file mode 100755 index dab2c657..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_top.png b/minetestforfun_game/mods/beds/textures/beds_bed_side_top.png deleted file mode 100755 index 7ece409b..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_side_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_red.png deleted file mode 100755 index e876da9f..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top1_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_top1_red.png deleted file mode 100755 index 7ffa5ae4..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_top1_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top2_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_top2_red.png deleted file mode 100755 index 2fe5bf2b..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_top2_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_red.png deleted file mode 100755 index 9b78be63..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_top_red.png b/minetestforfun_game/mods/beds/textures/beds_bed_top_top_red.png deleted file mode 100755 index e877c808..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_bed_top_top_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/beds_transparent.png b/minetestforfun_game/mods/beds/textures/beds_transparent.png deleted file mode 100755 index c7f427aa..00000000 Binary files a/minetestforfun_game/mods/beds/textures/beds_transparent.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/fancy_bed_black.png b/minetestforfun_game/mods/beds/textures/fancy_bed_black.png deleted file mode 100755 index 54248be9..00000000 Binary files a/minetestforfun_game/mods/beds/textures/fancy_bed_black.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/fancy_bed_blue.png b/minetestforfun_game/mods/beds/textures/fancy_bed_blue.png deleted file mode 100755 index b813547f..00000000 Binary files a/minetestforfun_game/mods/beds/textures/fancy_bed_blue.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/fancy_bed_green.png b/minetestforfun_game/mods/beds/textures/fancy_bed_green.png deleted file mode 100755 index b9cd737e..00000000 Binary files a/minetestforfun_game/mods/beds/textures/fancy_bed_green.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/fancy_bed_red.png b/minetestforfun_game/mods/beds/textures/fancy_bed_red.png deleted file mode 100755 index 9163a476..00000000 Binary files a/minetestforfun_game/mods/beds/textures/fancy_bed_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/fancy_bed_white.png b/minetestforfun_game/mods/beds/textures/fancy_bed_white.png deleted file mode 100755 index 96ab03f4..00000000 Binary files a/minetestforfun_game/mods/beds/textures/fancy_bed_white.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/simple_bed_black.png b/minetestforfun_game/mods/beds/textures/simple_bed_black.png deleted file mode 100755 index d825ea3c..00000000 Binary files a/minetestforfun_game/mods/beds/textures/simple_bed_black.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/simple_bed_blue.png b/minetestforfun_game/mods/beds/textures/simple_bed_blue.png deleted file mode 100755 index 95a673a0..00000000 Binary files a/minetestforfun_game/mods/beds/textures/simple_bed_blue.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/simple_bed_green.png b/minetestforfun_game/mods/beds/textures/simple_bed_green.png deleted file mode 100755 index fca855cd..00000000 Binary files a/minetestforfun_game/mods/beds/textures/simple_bed_green.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/simple_bed_red.png b/minetestforfun_game/mods/beds/textures/simple_bed_red.png deleted file mode 100755 index 93922ec6..00000000 Binary files a/minetestforfun_game/mods/beds/textures/simple_bed_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/beds/textures/simple_bed_white.png b/minetestforfun_game/mods/beds/textures/simple_bed_white.png deleted file mode 100755 index 4bd4259a..00000000 Binary files a/minetestforfun_game/mods/beds/textures/simple_bed_white.png and /dev/null differ diff --git a/minetestforfun_game/mods/boats/README.txt b/minetestforfun_game/mods/boats/README.txt deleted file mode 100755 index 1de71678..00000000 --- a/minetestforfun_game/mods/boats/README.txt +++ /dev/null @@ -1,16 +0,0 @@ -Minetest Game mod: boats -======================== -by PilzAdam - -License of source code: ------------------------ -WTFPL - -License of media (textures and sounds): ---------------------------------------- -WTFPL - -Authors of media files: ------------------------ -textures: Zeg9 -model: thetoon and Zeg9, modified by PavelS(SokolovPavel) diff --git a/minetestforfun_game/mods/boats/init.lua b/minetestforfun_game/mods/boats/init.lua deleted file mode 100644 index 3306257f..00000000 --- a/minetestforfun_game/mods/boats/init.lua +++ /dev/null @@ -1,335 +0,0 @@ --- --- Helper functions --- - -boats = {} - -function boats.is_water(pos) - local nn = minetest.get_node(pos).name - return minetest.get_item_group(nn, "water") ~= 0 -end - -function boats.get_sign(i) - if i == 0 then - return 0 - else - return i / math.abs(i) - end -end - -function boats.get_velocity(v, yaw, y) - local x = -math.sin(yaw) * v - local z = math.cos(yaw) * v - return {x = x, y = y, z = z} -end - -function boats.get_v(v) - return math.sqrt(v.x ^ 2 + v.z ^ 2) -end - -function boats.on_rightclick(self, clicker) - if not clicker or not clicker:is_player() then - return - end - local name = clicker:get_player_name() - if self.driver and clicker == self.driver then - self.driver = nil - clicker:set_detach() - default.player_attached[name] = false - default.player_set_animation(clicker, "stand" , 30) - local pos = clicker:getpos() - pos = {x = pos.x, y = pos.y + 0.2, z = pos.z} - minetest.after(0.1, function() - clicker:setpos(pos) - end) - elseif not self.driver then - local attach = clicker:get_attach() - if attach and attach:get_luaentity() then - local luaentity = attach:get_luaentity() - if luaentity.driver then - luaentity.driver = nil - end - end - clicker:set_detach() - end - self.driver = clicker - clicker:set_attach(self.object, "", {x = 0, y = 11, z = -3}, {x = 0, y = 0, z = 0}) - default.player_attached[name] = true - minetest.after(0.2, function() - default.player_set_animation(clicker, "sit" , 30) - end) - self.object:setyaw(clicker:get_look_yaw() - math.pi / 2) -end - - -function boats.on_activate(self, staticdata, dtime_s) - self.object:set_armor_groups({immortal = 1}) - if staticdata then - self.v = tonumber(staticdata) - end - self.last_v = self.v -end - - -function boats.get_staticdata(self) - return tostring(self.v) -end - - -function boats.on_punch(self, puncher) - if not puncher or not puncher:is_player() or self.removed then - return - end - if self.driver and puncher == self.driver then - self.driver = nil - puncher:set_detach() - default.player_attached[puncher:get_player_name()] = false - end - if not self.driver then - self.removed = true - -- delay remove to ensure player is detached - minetest.after(0.1, function() - self.object:remove() - end) - if not minetest.setting_getbool("creative_mode") then - local inv = puncher:get_inventory() - if inv:room_for_item("main", "boats:" .. self.parameters.name) then - inv:add_item("main", "boats:" .. self.parameters.name) - else - minetest.add_item(self.object:getpos(), "boats:" .. self.parameters.name) - end - end - end -end - -function boats.on_step(self, dtime) - self.v = boats.get_v(self.object:getvelocity()) * boats.get_sign(self.v) - if self.driver then - local ctrl = self.driver:get_player_control() - local yaw = self.object:getyaw() - if ctrl.up then - self.v = self.v + self.parameters.controls.up or 0.1 - elseif ctrl.down then - self.v = self.v - self.parameters.controls.down or 0.08 - end - if ctrl.left then - if self.v < 0 then - self.object:setyaw(yaw - (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) - else - self.object:setyaw(yaw + (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) - end - elseif ctrl.right then - if self.v < 0 then - self.object:setyaw(yaw + (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) - else - self.object:setyaw(yaw - (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) - end - end - end - local velo = self.object:getvelocity() - if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then - self.object:setpos(self.object:getpos()) - return - end - local s = boats.get_sign(self.v) - self.v = self.v - 0.02 * s - if s ~= boats.get_sign(self.v) then - self.object:setvelocity({x = 0, y = 0, z = 0}) - self.v = 0 - return - end - if math.abs(self.v) > 4.5 then - self.v = 4.5 * boats.get_sign(self.v) - end - - local p = self.object:getpos() - p.y = p.y - 0.5 - local new_velo = {x = 0, y = 0, z = 0} - local new_acce = {x = 0, y = 0, z = 0} - if not boats.is_water(p) then - local nodedef = minetest.registered_nodes[minetest.get_node(p).name] - if (not nodedef) or nodedef.walkable then - self.v = 0 - new_acce = {x = 0, y = 1, z = 0} - else - new_acce = {x = 0, y = -9.8, z = 0} -- freefall in air -9.81 - end - new_velo = boats.get_velocity(self.v, self.object:getyaw(), - self.object:getvelocity().y) - self.object:setpos(self.object:getpos()) - else - p.y = p.y + 1 - if boats.is_water(p) then - local y = self.object:getvelocity().y - if y >= 4.5 then - y = 4.5 - elseif y < 0 then - new_acce = {x = 0, y = 20, z = 0} - else - new_acce = {x = 0, y = 5, z = 0} - end - new_velo = boats.get_velocity(self.v, self.object:getyaw(), y) - self.object:setpos(self.object:getpos()) - else - new_acce = {x = 0, y = 0, z = 0} - if math.abs(self.object:getvelocity().y) < 1 then - local pos = self.object:getpos() - pos.y = math.floor(pos.y) + 0.5 - self.object:setpos(pos) - new_velo = boats.get_velocity(self.v, self.object:getyaw(), 0) - else - new_velo = boats.get_velocity(self.v, self.object:getyaw(), - self.object:getvelocity().y) - self.object:setpos(self.object:getpos()) - end - end - end - self.object:setvelocity(new_velo) - self.object:setacceleration(new_acce) -end - -boats.register_boat = function(parameters) - minetest.register_entity("boats:" .. parameters.name, { - physical = true, - collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5}, - visual = "mesh", - mesh = "boat.obj", - textures = {parameters.texture or "default_wood.png"}, - - parameters = parameters, - driver = nil, - v = 0, - last_v = 0, - removed = false, - - on_rightclick = boats.on_rightclick, - on_activate = boats.on_activate, - get_staticdata = boats.get_staticdata, - on_punch = boats.on_punch, - on_step = boats.on_step - }) - - minetest.register_craftitem("boats:" .. parameters.name, { - description = parameters.description or "Boat", - inventory_image = "boats_" .. parameters.name .. "_inventory.png", - wield_image = "boats_" .. parameters.name .. "_wield.png", - wield_scale = {x = 2, y = 2, z = 1}, - liquids_pointable = true, - - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" then - return - end - if not boats.is_water(pointed_thing.under) then - return - end - pointed_thing.under.y = pointed_thing.under.y + 0.5 - minetest.add_entity(pointed_thing.under, "boats:"..parameters.name) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack - end, - }) -end - - -boats.register_boat({ - name = "boat", - texture = "default_wood.png", - controls = { - up = 0.1, - down = 0.08, - rotate = 0.75 - }, - description = "Boat" -}) - -boats.register_boat({ - name = "race", - texture = "default_gravel.png", - controls = { - up = 0.2, - down = 0.18, - rotate = 1 - }, - description = "Race boat" -}) - -boats.register_boat({ - name = "expert_race", - texture = "default_desert_stone.png", - controls = { - up = 0.25, - down = 0.25, - rotate = 4 - }, - description = "Expert race boat" -}) - - -boats.register_boat({ - name = "water", - texture = "default_water.png", - controls = { - up = 0.3, - down = 0.24, - rotate = 4 - }, - description = "Water boat" -}) - -boats.register_boat({ - name = "moon", - texture = "boats_moon.png", - controls = { - up = 0.5, - down = 0.1, - rotate = 8 - }, - description = "Moon boat" -}) - --- Craft registrations - -minetest.register_craft({ - output = "boats:moon", - recipe = { - {"default:obsidian", "", "default:obsidian"}, - {"default:dirt", "default:leaves", "default:dirt"}, - }, -}) - -minetest.register_craft({ - output = "boats:expert_race", - recipe = { - {"default:desert_stone", "", "default:desert_stone"}, - {"default:desert_stone", "default:mese", "default:desert_stone"}, - }, -}) - -minetest.register_craft({ - output = "boats:race", - recipe = { - {"default:gravel", "", "default:gravel"}, - {"default:gravel", "default:steelblock", "default:gravel"}, - }, -}) - -minetest.register_craft({ - output = "boats:water", - recipe = { - {"default:glass", "", "default:glass"}, - {"default:glass", "bucket:bucket_water", "default:glass"}, - }, -}) - - -minetest.register_craft({ - output = "boats:boat", - recipe = { - {"", "", "" }, - {"group:wood", "", "group:wood"}, - {"group:wood", "group:wood", "group:wood"}, - }, -}) diff --git a/minetestforfun_game/mods/boats/models/boat.obj b/minetestforfun_game/mods/boats/models/boat.obj deleted file mode 100755 index 8c3424fa..00000000 --- a/minetestforfun_game/mods/boats/models/boat.obj +++ /dev/null @@ -1,3111 +0,0 @@ -# Blender v2.73 (sub 0) OBJ File: '' -# www.blender.org -v -6.786140 -1.967150 -4.863200 -v -6.786140 -3.034000 -6.001260 -v -6.786140 -3.034000 -4.863200 -v -6.786140 -1.967150 -3.725140 -v -6.786140 -3.034000 -3.725140 -v -6.786140 -1.967150 -6.001260 -v -6.786140 -3.034000 -7.139320 -v -6.786140 -1.967150 -7.139320 -v -6.786140 -3.034000 -8.277380 -v -6.786140 -1.967150 -8.277380 -v -6.786140 -3.034000 -9.415440 -v -6.786140 -1.967150 -9.415440 -v -6.786140 -1.967150 -2.587080 -v -6.786140 -3.034000 -2.587080 -v -6.786140 -1.967150 -1.449020 -v -6.786140 -3.034000 -1.449020 -v -6.786140 -1.967150 -0.310965 -v -6.786140 -3.034000 -0.310965 -v -6.786140 -1.967150 0.827094 -v -6.786140 -3.034000 0.827094 -v -6.786140 -1.967150 1.965150 -v -6.786140 -3.034000 1.965150 -v -6.786140 -1.967150 3.103210 -v -6.786140 -3.034000 3.103210 -v -6.786140 -1.967150 4.241270 -v -6.786140 -3.034000 4.241270 -v -6.786140 -1.967150 5.379330 -v -6.786140 -3.034000 5.379330 -v -6.786140 -1.967150 6.517390 -v -6.786140 -3.034000 6.517390 -v -6.786140 -1.967150 7.655450 -v -6.786140 -3.034000 7.655450 -v -6.786140 -1.967150 8.793510 -v -6.786140 -3.033999 8.793510 -v 5.732520 -1.967150 -8.277380 -v 5.732520 -3.034000 -7.139320 -v 5.732520 -3.034000 -8.277380 -v 5.732520 -1.967150 -9.415440 -v 5.732520 -3.034000 -9.415440 -v 5.732520 -1.967150 -7.139320 -v 5.732520 -3.034000 -6.001260 -v 5.732520 -1.967150 -6.001260 -v 5.732520 -3.034000 -4.863200 -v 5.732520 -1.967150 -4.863200 -v 5.732520 -3.034000 -3.725140 -v 5.732520 -1.967150 -3.725140 -v 5.732520 -3.034000 -2.587080 -v 5.732520 -1.967150 -2.587080 -v 5.732520 -3.034000 -1.449020 -v 5.732520 -1.967150 -1.449020 -v 5.732520 -3.034000 -0.310965 -v 5.732520 -1.967150 -0.310965 -v 5.732520 -3.034000 0.827094 -v 5.732520 -1.967150 0.827094 -v 5.732520 -3.034000 1.965150 -v 5.732520 -1.967150 1.965150 -v 5.732520 -3.034000 3.103210 -v 5.732520 -1.967150 3.103210 -v 5.732520 -3.034000 4.241270 -v 5.732520 -1.967150 4.241270 -v 5.732520 -3.034000 5.379330 -v 5.732520 -1.967150 5.379330 -v 5.732520 -3.034000 6.517390 -v 5.732520 -1.967150 6.517390 -v 5.732520 -3.034000 7.655450 -v 5.732520 -1.967150 7.655450 -v 5.732520 -3.033999 8.793510 -v 5.732520 -1.967150 8.793510 -v -2.233900 -1.967150 -6.001260 -v -2.233900 -3.034000 -7.139320 -v -2.233900 -3.034000 -6.001260 -v -2.233900 -1.967150 -4.863200 -v -2.233900 -3.034000 -4.863200 -v -2.233900 -1.967150 -7.139320 -v -2.233900 -3.034000 -8.277380 -v -2.233900 -1.967150 -8.277380 -v -2.233900 -3.034000 -9.415440 -v -2.233900 -1.967150 -9.415440 -v -2.233900 -1.967150 -3.725140 -v -2.233900 -3.034000 -3.725140 -v -2.233900 -1.967150 -2.587080 -v -2.233900 -3.034000 -2.587080 -v -2.233900 -1.967150 -1.449020 -v -2.233900 -3.034000 -1.449020 -v -2.233900 -1.967150 -0.310965 -v -2.233900 -3.034000 -0.310965 -v -2.233900 -1.967150 0.827094 -v -2.233900 -3.034000 0.827094 -v -2.233900 -1.967150 1.965150 -v -2.233900 -3.034000 1.965150 -v -2.233900 -1.967150 3.103210 -v -2.233900 -3.034000 3.103210 -v -2.233900 -1.967150 4.241270 -v -2.233900 -3.034000 4.241270 -v -2.233900 -1.967150 5.379330 -v -2.233900 -3.034000 5.379330 -v -2.233900 -1.967150 6.517390 -v -2.233900 -3.034000 6.517390 -v -2.233900 -1.967150 7.655450 -v -2.233900 -3.034000 7.655450 -v -2.233900 -1.967150 8.793510 -v -2.233900 -3.033999 8.793510 -v 2.318340 -1.967150 -3.725140 -v 2.318340 -3.034000 -4.863200 -v 2.318340 -3.034000 -3.725140 -v 2.318340 -1.967150 -2.587080 -v 2.318340 -3.034000 -2.587080 -v 2.318340 -1.967150 -4.863200 -v 2.318340 -3.034000 -6.001260 -v 2.318340 -1.967150 -6.001260 -v 2.318340 -3.034000 -7.139320 -v 2.318340 -1.967150 -7.139320 -v 2.318340 -3.034000 -8.277380 -v 2.318340 -1.967150 -8.277380 -v 2.318340 -3.034000 -9.415440 -v 2.318340 -1.967150 -9.415440 -v 2.318340 -1.967150 -1.449020 -v 2.318340 -3.034000 -1.449020 -v 2.318340 -1.967150 -0.310965 -v 2.318340 -3.034000 -0.310965 -v 2.318340 -1.967150 0.827094 -v 2.318340 -3.034000 0.827094 -v 2.318340 -1.967150 1.965150 -v 2.318340 -3.034000 1.965150 -v 2.318340 -1.967150 3.103210 -v 2.318340 -3.034000 3.103210 -v 2.318340 -1.967150 4.241270 -v 2.318340 -3.034000 4.241270 -v 2.318340 -1.967150 5.379330 -v 2.318340 -3.034000 5.379330 -v 2.318340 -1.967150 6.517390 -v 2.318340 -3.034000 6.517390 -v 2.318340 -1.967150 7.655450 -v 2.318340 -3.034000 7.655450 -v 2.318340 -1.967150 8.793510 -v 2.318340 -3.033999 8.793510 -v -3.371960 -1.967150 6.517390 -v -3.371960 -3.034000 7.655450 -v -3.371960 -3.034000 6.517390 -v -3.371960 -1.967150 5.379330 -v -3.371960 -3.034000 5.379330 -v -3.371960 -1.967150 7.655450 -v -3.371960 -3.033999 8.793510 -v -3.371960 -1.967150 8.793510 -v -3.371960 -1.967150 4.241270 -v -3.371960 -3.034000 4.241270 -v -3.371960 -1.967150 3.103210 -v -3.371960 -3.034000 3.103210 -v -3.371960 -1.967150 1.965150 -v -3.371960 -3.034000 1.965150 -v -3.371960 -1.967150 0.827094 -v -3.371960 -3.034000 0.827094 -v -3.371960 -1.967150 -0.310965 -v -3.371960 -3.034000 -0.310965 -v -3.371960 -1.967150 -1.449020 -v -3.371960 -3.034000 -1.449020 -v -3.371960 -1.967150 -2.587080 -v -3.371960 -3.034000 -2.587080 -v -3.371960 -1.967150 -3.725140 -v -3.371960 -3.034000 -3.725140 -v -3.371960 -1.967150 -4.863200 -v -3.371960 -3.034000 -4.863200 -v -3.371960 -1.967150 -6.001260 -v -3.371960 -3.034000 -6.001260 -v -3.371960 -1.967150 -7.139320 -v -3.371960 -3.034000 -7.139320 -v -3.371960 -1.967150 -8.277380 -v -3.371960 -3.034000 -8.277380 -v -3.371960 -1.967150 -9.415440 -v -3.371960 -3.034000 -9.415440 -v 4.594460 -1.967150 8.793510 -v 3.456400 -3.033999 8.793510 -v 4.594460 -3.033999 8.793510 -v 3.456400 -1.967150 8.793510 -v 4.594460 0.276645 8.793510 -v 3.456400 0.276645 8.793510 -v 2.318340 0.276645 8.793510 -v 1.180280 -1.967150 8.793510 -v 3.456400 1.039180 8.793510 -v 4.594460 1.039180 8.793510 -v 5.732520 0.276645 8.793510 -v 5.732520 1.039180 8.793510 -v 6.870580 0.276645 8.793510 -v 6.870580 -1.967150 8.793510 -v 2.318340 1.039180 8.793510 -v 1.180280 0.276645 8.793510 -v 0.042220 0.276645 8.793510 -v 1.180280 1.039180 8.793510 -v 0.042220 -1.967150 8.793510 -v -1.095840 0.276645 8.793510 -v 0.042220 1.039180 8.793510 -v -1.095840 -1.967150 8.793510 -v 0.042220 -3.033999 8.793510 -v -1.095840 -3.033999 8.793510 -v 1.180280 -3.033999 8.793510 -v -2.233900 0.276645 8.793510 -v -4.510020 -1.967150 8.793510 -v -4.510020 -3.033999 8.793510 -v -3.371960 0.276645 8.793510 -v -1.095840 1.039180 8.793510 -v -2.233900 1.039180 8.793510 -v -4.510020 0.276645 8.793510 -v -3.371960 1.039180 8.793510 -v -4.510020 1.039180 8.793510 -v -5.648080 0.276645 8.793510 -v -5.648080 -1.967150 8.793510 -v -5.648080 1.039180 8.793510 -v -6.786140 0.276645 8.793510 -v -5.648080 -3.033999 8.793510 -v -7.786200 0.276645 8.793510 -v -7.786200 -1.967150 8.793510 -v -6.786140 1.039180 8.793510 -v 1.180280 -1.967150 1.965150 -v 1.180280 -3.034000 3.103210 -v 1.180280 -3.034000 1.965150 -v 1.180280 -1.967150 0.827094 -v 1.180280 -3.034000 0.827094 -v 1.180280 -1.967150 3.103210 -v 1.180280 -3.034000 4.241270 -v 1.180280 -1.967150 4.241270 -v 1.180280 -3.034000 5.379330 -v 1.180280 -1.967150 5.379330 -v 1.180280 -3.034000 6.517390 -v 1.180280 -1.967150 6.517390 -v 1.180280 -3.034000 7.655450 -v 1.180280 -1.967150 7.655450 -v 1.180280 -1.967150 -0.310965 -v 1.180280 -3.034000 -0.310965 -v 1.180280 -1.967150 -1.449020 -v 1.180280 -3.034000 -1.449020 -v 1.180280 -1.967150 -2.587080 -v 1.180280 -3.034000 -2.587080 -v 1.180280 -1.967150 -3.725140 -v 1.180280 -3.034000 -3.725140 -v 1.180280 -1.967150 -4.863200 -v 1.180280 -3.034000 -4.863200 -v 1.180280 -1.967150 -6.001260 -v 1.180280 -3.034000 -6.001260 -v 1.180280 -1.967150 -7.139320 -v 1.180280 -3.034000 -7.139320 -v 1.180280 -1.967150 -8.277380 -v 1.180280 -3.034000 -8.277380 -v 1.180280 -1.967150 -9.415440 -v 1.180280 -3.034000 -9.415440 -v 3.456400 -3.034000 -9.415440 -v 3.456400 -1.967150 -9.415440 -v 2.318340 0.276645 -9.415440 -v 1.180280 0.276645 -9.415440 -v 4.594460 -3.034000 -9.415440 -v 4.594460 -1.967150 -9.415440 -v 3.456400 0.276645 -9.415440 -v 2.318340 1.039180 -9.415440 -v 4.594460 0.276645 -9.415440 -v 3.456400 1.039180 -9.415440 -v 4.594460 1.039180 -9.415440 -v 5.732520 0.276645 -9.415440 -v 6.870580 -1.967150 -9.415440 -v 5.732520 1.039180 -9.415440 -v 6.870580 0.276645 -9.415440 -v 0.042220 0.276645 -9.415440 -v 0.042220 1.039180 -9.415440 -v 1.180280 1.039180 -9.415440 -v 0.042220 -1.967150 -9.415440 -v 0.042220 -3.034000 -9.415440 -v -1.095840 -1.967150 -9.415440 -v -1.095840 -3.034000 -9.415440 -v -2.233900 0.276645 -9.415440 -v -1.095840 0.276645 -9.415440 -v -3.371960 0.276645 -9.415440 -v -2.233900 1.039180 -9.415440 -v -1.095840 1.039180 -9.415440 -v -4.510020 0.276645 -9.415440 -v -4.510020 1.039180 -9.415440 -v -3.371960 1.039180 -9.415440 -v -4.510020 -1.967150 -9.415440 -v -5.648080 0.276645 -9.415440 -v -5.648080 1.039180 -9.415440 -v -5.648080 -1.967150 -9.415440 -v -4.510020 -3.034000 -9.415440 -v -6.786140 0.276645 -9.415440 -v -6.786140 1.039180 -9.415440 -v -5.648080 -3.034000 -9.415440 -v -7.786200 -1.967150 -9.415440 -v -7.786200 0.276645 -9.415440 -v 6.870580 -1.967150 7.655450 -v 6.870580 -1.967150 6.517390 -v 6.870580 -1.967150 5.379330 -v 6.870580 -1.967150 4.241270 -v 6.870580 -1.967150 3.103210 -v 6.870580 -1.967150 1.965150 -v 6.870580 -1.967150 0.827094 -v 6.870580 -1.967150 -0.310965 -v 6.870580 -1.967150 -1.449020 -v 6.870580 -1.967150 -2.587080 -v 6.870580 -1.967150 -3.725140 -v 6.870580 -1.967150 -4.863200 -v 6.870580 -1.967150 -6.001260 -v 6.870580 -1.967150 -7.139320 -v 6.870580 -1.967150 -8.277380 -v -5.648080 -3.034000 0.827094 -v -5.648080 -3.034000 -0.310965 -v -5.648080 -3.034000 1.965150 -v -4.510020 -3.034000 1.965150 -v -5.648080 -3.034000 3.103210 -v -4.510020 -3.034000 0.827094 -v -5.648080 -3.034000 4.241270 -v -4.510020 -3.034000 3.103210 -v -4.510020 -3.034000 -0.310965 -v -4.510020 -3.034000 -1.449020 -v -4.510020 -3.034000 -2.587080 -v -5.648080 -3.034000 -1.449020 -v -5.648080 -3.034000 -2.587080 -v -4.510020 -3.034000 -3.725140 -v -5.648080 -3.034000 -3.725140 -v -4.510020 -3.034000 -4.863200 -v -5.648080 -3.034000 -4.863200 -v -4.510020 -3.034000 -6.001260 -v -5.648080 -3.034000 -6.001260 -v -4.510020 -3.034000 -7.139320 -v -5.648080 -3.034000 -7.139320 -v -4.510020 -3.034000 -8.277380 -v -5.648080 -3.034000 -8.277380 -v -4.510020 -3.034000 4.241270 -v -4.510020 -3.034000 5.379330 -v -5.648080 -3.034000 5.379330 -v -5.648080 -3.034000 6.517390 -v -4.510020 -3.034000 6.517390 -v -5.648080 -3.034000 7.655450 -v -4.510020 -3.034000 7.655450 -v -1.095840 -3.034000 0.827094 -v -1.095840 -3.034000 -0.310965 -v -1.095840 -3.034000 1.965150 -v 0.042220 -3.034000 1.965150 -v -1.095840 -3.034000 3.103210 -v 0.042220 -3.034000 0.827094 -v -1.095840 -3.034000 4.241270 -v 0.042220 -3.034000 3.103210 -v 0.042220 -3.034000 -0.310965 -v 0.042220 -3.034000 -1.449020 -v 0.042220 -3.034000 -2.587080 -v -1.095840 -3.034000 -1.449020 -v -1.095840 -3.034000 -2.587080 -v 0.042220 -3.034000 -3.725140 -v -1.095840 -3.034000 -3.725140 -v 0.042220 -3.034000 -4.863200 -v -1.095840 -3.034000 -4.863200 -v 0.042220 -3.034000 -6.001260 -v -1.095840 -3.034000 -6.001260 -v 0.042220 -3.034000 -7.139320 -v -1.095840 -3.034000 -7.139320 -v 0.042220 -3.034000 -8.277380 -v -1.095840 -3.034000 -8.277380 -v 0.042220 -3.034000 4.241270 -v 0.042220 -3.034000 5.379330 -v -1.095840 -3.034000 5.379330 -v -1.095840 -3.034000 6.517390 -v 0.042220 -3.034000 6.517390 -v -1.095840 -3.034000 7.655450 -v 0.042220 -3.034000 7.655450 -v 3.456400 -3.034000 -3.725140 -v 3.456400 -3.034000 -4.863200 -v 3.456400 -3.034000 -2.587080 -v 4.594460 -3.034000 -2.587080 -v 3.456400 -3.034000 -1.449020 -v 4.594460 -3.034000 -3.725140 -v 3.456400 -3.034000 -0.310965 -v 4.594460 -3.034000 -1.449020 -v 4.594460 -3.034000 -4.863200 -v 4.594460 -3.034000 -6.001260 -v 4.594460 -3.034000 -7.139320 -v 3.456400 -3.034000 -6.001260 -v 3.456400 -3.034000 -7.139320 -v 4.594460 -3.034000 -8.277380 -v 3.456400 -3.034000 -8.277380 -v 4.594460 -3.034000 -0.310965 -v 4.594460 -3.034000 0.827094 -v 3.456400 -3.034000 0.827094 -v 3.456400 -3.034000 1.965150 -v 4.594460 -3.034000 1.965150 -v 3.456400 -3.034000 3.103210 -v 4.594460 -3.034000 3.103210 -v 3.456400 -3.034000 4.241270 -v 4.594460 -3.034000 4.241270 -v 3.456400 -3.034000 5.379330 -v 4.594460 -3.034000 5.379330 -v 3.456400 -3.034000 6.517390 -v 4.594460 -3.034000 6.517390 -v 3.456400 -3.034000 7.655450 -v 4.594460 -3.034000 7.655450 -v -2.233900 0.276645 -2.587080 -v -2.233900 1.039180 -1.449020 -v -2.233900 1.039180 -2.587080 -v -2.233900 0.276645 -3.725140 -v -2.233900 1.039180 -3.725140 -v -2.233900 0.276645 -1.449020 -v -2.233900 1.039180 -0.310965 -v -2.233900 0.276645 -0.310965 -v -2.233900 1.039180 0.827094 -v -2.233900 0.276645 0.827094 -v -2.233900 1.039180 1.965150 -v -2.233900 0.276645 1.965150 -v -2.233900 1.039180 3.103210 -v -2.233900 0.276645 3.103210 -v -2.233900 1.039180 4.241270 -v -2.233900 0.276645 4.241270 -v -2.233900 1.039180 5.379330 -v -2.233900 0.276645 5.379330 -v -2.233900 1.039180 6.517390 -v -2.233900 0.276645 6.517390 -v -2.233900 1.039180 7.655450 -v -2.233900 0.276645 7.655450 -v -2.233900 0.276645 -4.863200 -v -2.233900 1.039180 -4.863200 -v -2.233900 0.276645 -6.001260 -v -2.233900 1.039180 -6.001260 -v -2.233900 0.276645 -7.139320 -v -2.233900 1.039180 -7.139320 -v -2.233900 0.276645 -8.277380 -v -2.233900 1.039180 -8.277380 -v 2.318340 0.276645 4.241270 -v 2.318340 1.039180 5.379330 -v 2.318340 1.039180 4.241270 -v 2.318340 0.276645 3.103210 -v 2.318340 1.039180 3.103210 -v 2.318340 0.276645 5.379330 -v 2.318340 1.039180 6.517390 -v 2.318340 0.276645 6.517390 -v 2.318340 1.039180 7.655450 -v 2.318340 0.276645 7.655450 -v 2.318340 0.276645 1.965150 -v 2.318340 1.039180 1.965150 -v 2.318340 0.276645 0.827094 -v 2.318340 1.039180 0.827094 -v 2.318340 0.276645 -0.310965 -v 2.318340 1.039180 -0.310965 -v 2.318340 0.276645 -1.449020 -v 2.318340 1.039180 -1.449020 -v 2.318340 0.276645 -2.587080 -v 2.318340 1.039180 -2.587080 -v 2.318340 0.276645 -3.725140 -v 2.318340 1.039180 -3.725140 -v 2.318340 0.276645 -4.863200 -v 2.318340 1.039180 -4.863200 -v 2.318340 0.276645 -6.001260 -v 2.318340 1.039180 -6.001260 -v 2.318340 0.276645 -7.139320 -v 2.318340 1.039180 -7.139320 -v 2.318340 0.276645 -8.277380 -v 2.318340 1.039180 -8.277380 -v -6.786140 0.276645 6.517390 -v -6.786140 1.039180 7.655450 -v -6.786140 1.039180 6.517390 -v -6.786140 0.276645 5.379330 -v -6.786140 1.039180 5.379330 -v -6.786140 0.276645 7.655450 -v -6.786140 0.276645 4.241270 -v -6.786140 1.039180 4.241270 -v -6.786140 0.276645 3.103210 -v -6.786140 1.039180 3.103210 -v -6.786140 0.276645 1.965150 -v -6.786140 1.039180 1.965150 -v -6.786140 0.276645 0.827094 -v -6.786140 1.039180 0.827094 -v -6.786140 0.276645 -0.310965 -v -6.786140 1.039180 -0.310965 -v -6.786140 0.276645 -1.449020 -v -6.786140 1.039180 -1.449020 -v -6.786140 0.276645 -2.587080 -v -6.786140 1.039180 -2.587080 -v -6.786140 0.276645 -3.725140 -v -6.786140 1.039180 -3.725140 -v -6.786140 0.276645 -4.863200 -v -6.786140 1.039180 -4.863200 -v -6.786140 0.276645 -6.001260 -v -6.786140 1.039180 -6.001260 -v -6.786140 0.276645 -7.139320 -v -6.786140 1.039180 -7.139320 -v -6.786140 0.276645 -8.277380 -v -6.786140 1.039180 -8.277380 -v 1.180280 0.276645 -7.139320 -v 1.180280 1.039180 -8.277380 -v 1.180280 1.039180 -7.139320 -v 1.180280 0.276645 -6.001260 -v 1.180280 1.039180 -6.001260 -v 1.180280 0.276645 -8.277380 -v 1.180280 0.276645 -4.863200 -v 1.180280 1.039180 -4.863200 -v 1.180280 0.276645 -3.725140 -v 1.180280 1.039180 -3.725140 -v 1.180280 0.276645 -2.587080 -v 1.180280 1.039180 -2.587080 -v 1.180280 0.276645 -1.449020 -v 1.180280 1.039180 -1.449020 -v 1.180280 0.276645 -0.310965 -v 1.180280 1.039180 -0.310965 -v 1.180280 0.276645 0.827094 -v 1.180280 1.039180 0.827094 -v 1.180280 0.276645 1.965150 -v 1.180280 1.039180 1.965150 -v 1.180280 0.276645 3.103210 -v 1.180280 1.039180 3.103210 -v 1.180280 0.276645 4.241270 -v 1.180280 1.039180 4.241270 -v 1.180280 0.276645 5.379330 -v 1.180280 1.039180 5.379330 -v 1.180280 0.276645 6.517390 -v 1.180280 1.039180 6.517390 -v 1.180280 0.276645 7.655450 -v 1.180280 1.039180 7.655450 -v 5.732520 0.276645 3.103210 -v 5.732520 1.039180 1.965150 -v 5.732520 1.039180 3.103210 -v 5.732520 0.276645 4.241270 -v 5.732520 1.039180 4.241270 -v 5.732520 0.276645 1.965150 -v 5.732520 1.039180 0.827094 -v 5.732520 0.276645 0.827094 -v 5.732520 1.039180 -0.310965 -v 5.732520 0.276645 -0.310965 -v 5.732520 1.039180 -1.449020 -v 5.732520 0.276645 -1.449020 -v 5.732520 1.039180 -2.587080 -v 5.732520 0.276645 -2.587080 -v 5.732520 1.039180 -3.725140 -v 5.732520 0.276645 -3.725140 -v 5.732520 1.039180 -4.863200 -v 5.732520 0.276645 -4.863200 -v 5.732520 1.039180 -6.001260 -v 5.732520 0.276645 -6.001260 -v 5.732520 1.039180 -7.139320 -v 5.732520 0.276645 -7.139320 -v 5.732520 1.039180 -8.277380 -v 5.732520 0.276645 -8.277380 -v 5.732520 0.276645 5.379330 -v 5.732520 1.039180 5.379330 -v 5.732520 0.276645 6.517390 -v 5.732520 1.039180 6.517390 -v 5.732520 0.276645 7.655450 -v 5.732520 1.039180 7.655450 -v -3.371960 1.039180 7.655450 -v -3.371960 0.276645 7.655450 -v -3.371960 1.039180 6.517390 -v -3.371960 0.276645 6.517390 -v -3.371960 1.039180 5.379330 -v -3.371960 0.276645 5.379330 -v -3.371960 1.039180 4.241270 -v -3.371960 0.276645 4.241270 -v -3.371960 1.039180 3.103210 -v -3.371960 0.276645 3.103210 -v -3.371960 1.039180 1.965150 -v -3.371960 0.276645 1.965150 -v -3.371960 1.039180 0.827094 -v -3.371960 0.276645 0.827094 -v -3.371960 1.039180 -0.310965 -v -3.371960 0.276645 -0.310965 -v -3.371960 1.039180 -1.449020 -v -3.371960 0.276645 -1.449020 -v -3.371960 1.039180 -2.587080 -v -3.371960 0.276645 -2.587080 -v -3.371960 1.039180 -3.725140 -v -3.371960 0.276645 -3.725140 -v -3.371960 1.039180 -4.863200 -v -3.371960 0.276645 -4.863200 -v -3.371960 1.039180 -6.001260 -v -3.371960 0.276645 -6.001260 -v -3.371960 1.039180 -7.139320 -v -3.371960 0.276645 -7.139320 -v -3.371960 1.039180 -8.277380 -v -3.371960 0.276645 -8.277380 -v 6.870580 0.276645 7.655450 -v 6.870580 0.276645 6.517390 -v 6.870580 0.276645 5.379330 -v 6.870580 0.276645 4.241270 -v 6.870580 0.276645 3.103210 -v 6.870580 0.276645 1.965150 -v 6.870580 0.276645 0.827094 -v 6.870580 0.276645 -0.310965 -v 6.870580 0.276645 -1.449020 -v 6.870580 0.276645 -2.587080 -v 6.870580 0.276645 -3.725140 -v 6.870580 0.276645 -4.863200 -v 6.870580 0.276645 -6.001260 -v 6.870580 0.276645 -7.139320 -v 6.870580 0.276645 -8.277380 -v -1.095840 0.276645 -10.802900 -v -1.095840 -1.967150 -10.802900 -v -1.095840 0.276644 -12.034100 -v -1.095840 -1.967150 -12.034100 -v -1.095840 -4.601110 -10.802900 -v -1.095840 -4.601110 -12.034100 -v -1.095840 -4.601110 -9.415440 -v -1.095840 1.039180 -10.802900 -v -1.095840 1.039180 -12.034100 -v -1.095840 2.768579 -10.802900 -v -1.095840 2.768579 -12.034100 -v -1.095840 3.746069 -10.802900 -v -1.095840 2.768580 -7.883420 -v -1.095840 3.746069 -12.034100 -v -1.095840 3.746070 -7.883420 -v -1.095840 0.276644 -14.284900 -v -1.095840 -1.967151 -14.284900 -v -1.095840 -4.601110 -14.284900 -v 0.042220 -1.967150 -12.034100 -v 0.042220 -4.601110 -10.802900 -v 0.042220 -4.601110 -12.034100 -v 0.042220 -4.601110 -14.284900 -v 0.042220 -1.967150 -10.802900 -v 0.042220 -4.601110 -9.415440 -v 0.042220 0.276645 -10.802900 -v 0.042220 1.039180 -10.802900 -v 0.042220 0.276644 -12.034100 -v 0.042220 1.039180 -12.034100 -v 0.042220 2.768579 -12.034100 -v 0.042220 2.768579 -10.802900 -v 0.042220 -1.967151 -14.284900 -v 0.042220 0.276644 -14.284900 -v 0.042220 3.746069 -12.034100 -v 0.042220 3.746069 -10.802900 -v 0.042220 3.746070 -7.883420 -v 0.042220 2.768580 -7.883420 -v -7.786200 -1.967150 -8.277380 -v -7.786200 -1.967150 -7.139320 -v -7.786200 -1.967150 -6.001260 -v -7.786200 -1.967150 -4.863200 -v -7.786200 -1.967150 -3.725140 -v -7.786200 -1.967150 -2.587080 -v -7.786200 -1.967150 -1.449020 -v -7.786200 -1.967150 -0.310965 -v -7.786200 -1.967150 0.827094 -v -7.786200 -1.967150 1.965150 -v -7.786200 -1.967150 3.103210 -v -7.786200 -1.967150 4.241270 -v -7.786200 -1.967150 5.379330 -v -7.786200 -1.967150 6.517390 -v -7.786200 -1.967150 7.655450 -v -7.786200 0.276645 3.103210 -v -7.786200 0.276645 4.241270 -v -7.786200 0.276645 5.379330 -v -7.786200 0.276645 1.965150 -v -7.786200 0.276645 0.827094 -v -7.786200 0.276645 -0.310965 -v -7.786200 0.276645 -1.449020 -v -7.786200 0.276645 -2.587080 -v -7.786200 0.276645 -3.725140 -v -7.786200 0.276645 -4.863200 -v -7.786200 0.276645 -6.001260 -v -7.786200 0.276645 -7.139320 -v -7.786200 0.276645 -8.277380 -v -7.786200 0.276645 6.517390 -v -7.786200 0.276645 7.655450 -v 0.042220 1.039180 7.655450 -v 0.042220 1.039180 6.517390 -v -1.095840 1.039180 7.655450 -v 0.042220 1.039180 5.379330 -v -1.095840 1.039180 6.517390 -v -1.095840 1.039180 5.379330 -v 0.042220 1.039180 4.241270 -v -1.095840 1.039180 4.241270 -v 0.042220 1.039180 3.103210 -v -1.095840 1.039180 3.103210 -v 0.042220 1.039180 1.965150 -v -1.095840 1.039180 1.965150 -v 0.042220 1.039180 0.827094 -v -1.095840 1.039180 0.827094 -v 0.042220 1.039180 -0.310965 -v -1.095840 1.039180 -0.310965 -v 0.042220 1.039180 -1.449020 -v -1.095840 1.039180 -1.449020 -v 0.042220 1.039180 -2.587080 -v -1.095840 1.039180 -2.587080 -v 0.042220 1.039180 -3.725140 -v -1.095840 1.039180 -3.725140 -v 0.042220 1.039180 -4.863200 -v -1.095840 1.039180 -4.863200 -v 0.042220 1.039180 -6.001260 -v -1.095840 1.039180 -6.001260 -v 0.042220 1.039180 -7.139320 -v -1.095840 1.039180 -7.139320 -v 0.042220 1.039180 -8.277380 -v -1.095840 1.039180 -8.277380 -v -4.510020 1.039180 7.655450 -v -4.510020 1.039180 6.517390 -v -5.648080 1.039180 7.655450 -v -4.510020 1.039180 5.379330 -v -5.648080 1.039180 6.517390 -v -5.648080 1.039180 5.379330 -v -4.510020 1.039180 4.241270 -v -5.648080 1.039180 4.241270 -v -4.510020 1.039180 3.103210 -v -5.648080 1.039180 3.103210 -v -4.510020 1.039180 1.965150 -v -5.648080 1.039180 1.965150 -v -4.510020 1.039180 0.827094 -v -5.648080 1.039180 0.827094 -v -4.510020 1.039180 -0.310965 -v -5.648080 1.039180 -0.310965 -v -4.510020 1.039180 -1.449020 -v -5.648080 1.039180 -1.449020 -v -4.510020 1.039180 -2.587080 -v -5.648080 1.039180 -2.587080 -v -4.510020 1.039180 -3.725140 -v -5.648080 1.039180 -3.725140 -v -4.510020 1.039180 -4.863200 -v -5.648080 1.039180 -4.863200 -v -4.510020 1.039180 -6.001260 -v -5.648080 1.039180 -6.001260 -v -4.510020 1.039180 -7.139320 -v -5.648080 1.039180 -7.139320 -v -4.510020 1.039180 -8.277380 -v -5.648080 1.039180 -8.277380 -v 4.594460 1.039180 7.655450 -v 4.594460 1.039180 6.517390 -v 3.456400 1.039180 7.655450 -v 4.594460 1.039180 5.379330 -v 3.456400 1.039180 6.517390 -v 3.456400 1.039180 5.379330 -v 4.594460 1.039180 4.241270 -v 3.456400 1.039180 4.241270 -v 4.594460 1.039180 3.103210 -v 3.456400 1.039180 3.103210 -v 4.594460 1.039180 1.965150 -v 3.456400 1.039180 1.965150 -v 4.594460 1.039180 0.827094 -v 3.456400 1.039180 0.827094 -v 4.594460 1.039180 -0.310965 -v 3.456400 1.039180 -0.310965 -v 4.594460 1.039180 -1.449020 -v 3.456400 1.039180 -1.449020 -v 4.594460 1.039180 -2.587080 -v 3.456400 1.039180 -2.587080 -v 4.594460 1.039180 -3.725140 -v 3.456400 1.039180 -3.725140 -v 4.594460 1.039180 -4.863200 -v 3.456400 1.039180 -4.863200 -v 4.594460 1.039180 -6.001260 -v 3.456400 1.039180 -6.001260 -v 4.594460 1.039180 -7.139320 -v 3.456400 1.039180 -7.139320 -v 4.594460 1.039180 -8.277380 -v 3.456400 1.039180 -8.277380 -vt 0.116019 0.974315 -vt 0.087066 0.947167 -vt 0.116022 0.947170 -vt 0.144976 0.974318 -vt 0.144979 0.947173 -vt 0.087063 0.974311 -vt 0.058110 0.947165 -vt 0.058107 0.974308 -vt 0.029155 0.947162 -vt 0.029152 0.974306 -vt 0.000199 0.947159 -vt 0.000197 0.974303 -vt 0.173933 0.974322 -vt 0.173936 0.947177 -vt 0.202891 0.974326 -vt 0.202894 0.947180 -vt 0.231849 0.974330 -vt 0.231853 0.947184 -vt 0.260808 0.974334 -vt 0.260812 0.947187 -vt 0.289768 0.974338 -vt 0.289772 0.947190 -vt 0.318729 0.974342 -vt 0.318732 0.947194 -vt 0.347690 0.974345 -vt 0.347693 0.947196 -vt 0.376652 0.974348 -vt 0.376654 0.947199 -vt 0.405614 0.974351 -vt 0.405616 0.947201 -vt 0.434577 0.974353 -vt 0.434578 0.947203 -vt 0.463539 0.974355 -vt 0.463541 0.947205 -vt 0.029160 0.492913 -vt 0.058118 0.520059 -vt 0.029160 0.520059 -vt 0.000202 0.492913 -vt 0.000202 0.520059 -vt 0.058118 0.492913 -vt 0.087076 0.520059 -vt 0.087076 0.492913 -vt 0.116034 0.520059 -vt 0.116034 0.492914 -vt 0.144992 0.520060 -vt 0.144992 0.492914 -vt 0.173949 0.520060 -vt 0.173950 0.492914 -vt 0.202907 0.520060 -vt 0.202907 0.492915 -vt 0.231864 0.520060 -vt 0.231865 0.492915 -vt 0.260822 0.520061 -vt 0.260822 0.492916 -vt 0.289779 0.520061 -vt 0.289778 0.492916 -vt 0.318735 0.520060 -vt 0.318735 0.492916 -vt 0.347692 0.520060 -vt 0.347691 0.492915 -vt 0.376649 0.520059 -vt 0.376648 0.492915 -vt 0.405605 0.520058 -vt 0.405604 0.492914 -vt 0.434561 0.520056 -vt 0.434560 0.492912 -vt 0.463517 0.520055 -vt 0.463516 0.492911 -vt 0.087075 0.804197 -vt 0.058119 0.777052 -vt 0.087076 0.777053 -vt 0.116032 0.804198 -vt 0.116033 0.777053 -vt 0.058119 0.804197 -vt 0.029163 0.777052 -vt 0.029163 0.804196 -vt 0.000207 0.777052 -vt 0.000207 0.804196 -vt 0.144989 0.804200 -vt 0.144990 0.777054 -vt 0.173947 0.804201 -vt 0.173948 0.777055 -vt 0.202905 0.804202 -vt 0.202906 0.777056 -vt 0.231863 0.804203 -vt 0.231864 0.777057 -vt 0.260822 0.804204 -vt 0.260822 0.777057 -vt 0.289780 0.804205 -vt 0.289781 0.777058 -vt 0.318740 0.804205 -vt 0.318740 0.777058 -vt 0.347700 0.804206 -vt 0.347700 0.777058 -vt 0.376660 0.804206 -vt 0.376659 0.777058 -vt 0.405620 0.804205 -vt 0.405620 0.777057 -vt 0.434581 0.804205 -vt 0.434580 0.777056 -vt 0.463543 0.804203 -vt 0.463541 0.777054 -vt 0.144991 0.634078 -vt 0.116033 0.606933 -vt 0.144991 0.606933 -vt 0.173949 0.634079 -vt 0.173949 0.606933 -vt 0.116034 0.634078 -vt 0.087076 0.606933 -vt 0.087076 0.634079 -vt 0.058118 0.606933 -vt 0.058118 0.634079 -vt 0.029160 0.606933 -vt 0.029160 0.634079 -vt 0.000202 0.606933 -vt 0.000202 0.634080 -vt 0.202907 0.634079 -vt 0.202907 0.606933 -vt 0.231864 0.634078 -vt 0.231864 0.606933 -vt 0.260822 0.634078 -vt 0.260822 0.606933 -vt 0.289780 0.634078 -vt 0.289780 0.606932 -vt 0.318738 0.634077 -vt 0.318737 0.606932 -vt 0.347696 0.634077 -vt 0.347695 0.606931 -vt 0.376653 0.634076 -vt 0.376652 0.606930 -vt 0.405611 0.634074 -vt 0.405609 0.606928 -vt 0.434569 0.634072 -vt 0.434567 0.606927 -vt 0.463527 0.634069 -vt 0.463524 0.606924 -vt 0.405621 0.833166 -vt 0.434582 0.860316 -vt 0.405620 0.860316 -vt 0.376660 0.833166 -vt 0.376659 0.860315 -vt 0.434582 0.833166 -vt 0.463545 0.860317 -vt 0.463544 0.833166 -vt 0.347699 0.833166 -vt 0.347698 0.860314 -vt 0.318739 0.833165 -vt 0.318738 0.860313 -vt 0.289780 0.833164 -vt 0.289778 0.860311 -vt 0.260820 0.833163 -vt 0.260819 0.860309 -vt 0.231862 0.833161 -vt 0.231860 0.860308 -vt 0.202903 0.833160 -vt 0.202902 0.860306 -vt 0.173946 0.833158 -vt 0.173944 0.860304 -vt 0.144988 0.833157 -vt 0.144987 0.860302 -vt 0.116031 0.833155 -vt 0.116029 0.860300 -vt 0.087074 0.833154 -vt 0.087073 0.860299 -vt 0.058118 0.833153 -vt 0.058116 0.860297 -vt 0.029162 0.833152 -vt 0.029161 0.860295 -vt 0.000206 0.833151 -vt 0.000205 0.860294 -vt 0.662141 0.076691 -vt 0.691099 0.103837 -vt 0.662141 0.103837 -vt 0.633183 0.076691 -vt 0.633183 0.103837 -vt 0.691099 0.076691 -vt 0.720057 0.103837 -vt 0.720058 0.076691 -vt 0.662141 0.019597 -vt 0.691100 0.019597 -vt 0.720058 0.019597 -vt 0.749016 0.076691 -vt 0.691100 0.000194 -vt 0.662142 0.000194 -vt 0.633183 0.019597 -vt 0.633183 0.000194 -vt 0.604225 0.019597 -vt 0.604225 0.076691 -vt 0.720058 0.000194 -vt 0.749016 0.019597 -vt 0.777974 0.019597 -vt 0.749016 0.000195 -vt 0.777974 0.076691 -vt 0.806932 0.019597 -vt 0.777974 0.000195 -vt 0.806932 0.076691 -vt 0.777974 0.103837 -vt 0.806932 0.103837 -vt 0.749016 0.103837 -vt 0.835890 0.103837 -vt 0.835890 0.076691 -vt 0.864848 0.076691 -vt 0.835890 0.019597 -vt 0.893806 0.076691 -vt 0.893806 0.103837 -vt 0.864848 0.103837 -vt 0.864848 0.019597 -vt 0.806932 0.000195 -vt 0.835890 0.000195 -vt 0.893806 0.019597 -vt 0.864848 0.000195 -vt 0.893806 0.000194 -vt 0.922764 0.019597 -vt 0.922764 0.076691 -vt 0.922764 0.000194 -vt 0.951722 0.019597 -vt 0.951722 0.076691 -vt 0.951722 0.103837 -vt 0.922764 0.103837 -vt 0.977169 0.019597 -vt 0.977169 0.076690 -vt 0.951722 0.000194 -vt 0.289780 0.663036 -vt 0.318739 0.690182 -vt 0.289781 0.690182 -vt 0.260822 0.663036 -vt 0.260823 0.690182 -vt 0.318739 0.663035 -vt 0.347698 0.690181 -vt 0.347697 0.663035 -vt 0.376656 0.690180 -vt 0.376655 0.663033 -vt 0.405615 0.690178 -vt 0.405613 0.663032 -vt 0.434574 0.690176 -vt 0.434571 0.663030 -vt 0.463533 0.690173 -vt 0.463530 0.663027 -vt 0.231865 0.663036 -vt 0.231865 0.690182 -vt 0.202907 0.663036 -vt 0.202907 0.690182 -vt 0.173949 0.663036 -vt 0.173949 0.690182 -vt 0.144991 0.663036 -vt 0.144991 0.690182 -vt 0.116034 0.663036 -vt 0.116034 0.690182 -vt 0.087076 0.663036 -vt 0.087076 0.690182 -vt 0.058118 0.663036 -vt 0.058119 0.690182 -vt 0.029161 0.663037 -vt 0.029162 0.690182 -vt 0.000203 0.663038 -vt 0.000205 0.690183 -vt 0.579762 0.491109 -vt 0.550803 0.463966 -vt 0.579760 0.463963 -vt 0.550805 0.491111 -vt 0.579767 0.548202 -vt 0.608720 0.491107 -vt 0.608724 0.548199 -vt 0.521845 0.463968 -vt 0.521847 0.491114 -vt 0.550809 0.548204 -vt 0.579768 0.567604 -vt 0.521852 0.548206 -vt 0.550811 0.567606 -vt 0.492890 0.491116 -vt 0.492888 0.463971 -vt 0.521853 0.567608 -vt 0.492895 0.548208 -vt 0.463933 0.491118 -vt 0.492896 0.567610 -vt 0.463938 0.548210 -vt 0.637682 0.548197 -vt 0.637683 0.567600 -vt 0.608726 0.567602 -vt 0.637678 0.491105 -vt 0.608718 0.463961 -vt 0.637676 0.463959 -vt 0.666636 0.491103 -vt 0.666635 0.463957 -vt 0.695594 0.491102 -vt 0.695595 0.548197 -vt 0.666637 0.548197 -vt 0.695593 0.463956 -vt 0.724553 0.491102 -vt 0.724554 0.548197 -vt 0.695596 0.567600 -vt 0.666637 0.567600 -vt 0.753512 0.548197 -vt 0.753512 0.567600 -vt 0.724554 0.567600 -vt 0.753512 0.491102 -vt 0.724553 0.463955 -vt 0.782471 0.548197 -vt 0.782471 0.567600 -vt 0.782471 0.491102 -vt 0.753512 0.463955 -vt 0.811429 0.548197 -vt 0.811429 0.567600 -vt 0.782471 0.463955 -vt 0.811430 0.491102 -vt 0.836877 0.491102 -vt 0.836877 0.548197 -vt 0.811430 0.463955 -vt 0.434558 0.463956 -vt 0.405603 0.463958 -vt 0.463514 0.463955 -vt 0.376647 0.463959 -vt 0.347691 0.463959 -vt 0.318735 0.463959 -vt 0.289779 0.463959 -vt 0.260822 0.463959 -vt 0.231865 0.463958 -vt 0.202908 0.463957 -vt 0.173950 0.463956 -vt 0.144992 0.463956 -vt 0.116034 0.463956 -vt 0.087076 0.463955 -vt 0.058118 0.463955 -vt 0.029160 0.463955 -vt 0.000202 0.463955 -vt 0.260815 0.918228 -vt 0.231856 0.918225 -vt 0.289774 0.918230 -vt 0.289777 0.889271 -vt 0.318734 0.918233 -vt 0.260817 0.889269 -vt 0.347695 0.918235 -vt 0.318737 0.889273 -vt 0.231858 0.889266 -vt 0.202900 0.889264 -vt 0.173942 0.889262 -vt 0.202897 0.918222 -vt 0.173939 0.918219 -vt 0.144984 0.889259 -vt 0.144982 0.918216 -vt 0.116028 0.889257 -vt 0.116025 0.918214 -vt 0.087071 0.889255 -vt 0.087069 0.918211 -vt 0.058115 0.889253 -vt 0.058113 0.918209 -vt 0.029159 0.889251 -vt 0.029157 0.918206 -vt 0.000204 0.889249 -vt 0.000202 0.918204 -vt 0.347697 0.889274 -vt 0.376658 0.889276 -vt 0.376656 0.918237 -vt 0.405618 0.918239 -vt 0.405619 0.889277 -vt 0.434580 0.918241 -vt 0.434581 0.889278 -vt 0.463543 0.918242 -vt 0.463544 0.889279 -vt 0.260823 0.748099 -vt 0.231864 0.748098 -vt 0.289781 0.748099 -vt 0.289781 0.719140 -vt 0.318740 0.748099 -vt 0.260823 0.719140 -vt 0.347699 0.748099 -vt 0.318740 0.719140 -vt 0.231865 0.719140 -vt 0.202907 0.719140 -vt 0.173949 0.719140 -vt 0.202906 0.748098 -vt 0.173948 0.748097 -vt 0.144991 0.719139 -vt 0.144991 0.748097 -vt 0.116034 0.719139 -vt 0.116033 0.748096 -vt 0.087076 0.719139 -vt 0.087076 0.748096 -vt 0.058119 0.719139 -vt 0.058119 0.748096 -vt 0.029162 0.719139 -vt 0.029163 0.748096 -vt 0.000206 0.719140 -vt 0.000207 0.748096 -vt 0.347698 0.719140 -vt 0.376657 0.719139 -vt 0.376659 0.748098 -vt 0.405618 0.748097 -vt 0.405617 0.719137 -vt 0.434578 0.748095 -vt 0.434576 0.719135 -vt 0.463539 0.748093 -vt 0.463536 0.719133 -vt 0.144991 0.577975 -vt 0.116033 0.577975 -vt 0.173949 0.577975 -vt 0.173949 0.549017 -vt 0.202907 0.577975 -vt 0.144991 0.549017 -vt 0.231864 0.577975 -vt 0.202907 0.549018 -vt 0.116034 0.549017 -vt 0.087076 0.549017 -vt 0.058118 0.549017 -vt 0.087076 0.577975 -vt 0.058118 0.577975 -vt 0.029160 0.549017 -vt 0.029160 0.577975 -vt 0.000202 0.549017 -vt 0.000202 0.577975 -vt 0.231864 0.549018 -vt 0.260822 0.549018 -vt 0.260822 0.577975 -vt 0.289779 0.577975 -vt 0.289779 0.549018 -vt 0.318736 0.577974 -vt 0.318736 0.549017 -vt 0.347694 0.577974 -vt 0.347693 0.549017 -vt 0.376651 0.577973 -vt 0.376650 0.549016 -vt 0.405608 0.577971 -vt 0.405606 0.549014 -vt 0.434565 0.577969 -vt 0.434563 0.549013 -vt 0.463521 0.577967 -vt 0.463519 0.549011 -vt 0.237437 0.289790 -vt 0.256842 0.260831 -vt 0.256841 0.289791 -vt 0.237435 0.318750 -vt 0.256839 0.318751 -vt 0.237438 0.260831 -vt 0.256843 0.231873 -vt 0.237440 0.231872 -vt 0.256844 0.202915 -vt 0.237441 0.202914 -vt 0.256845 0.173957 -vt 0.237443 0.173956 -vt 0.256846 0.145001 -vt 0.237444 0.145000 -vt 0.256847 0.116044 -vt 0.237446 0.116043 -vt 0.256848 0.087089 -vt 0.237447 0.087088 -vt 0.256849 0.058134 -vt 0.237449 0.058133 -vt 0.256850 0.029180 -vt 0.237450 0.029179 -vt 0.256852 0.000226 -vt 0.237452 0.000225 -vt 0.237433 0.347711 -vt 0.256839 0.347712 -vt 0.237432 0.376673 -vt 0.256838 0.376674 -vt 0.237431 0.405636 -vt 0.256837 0.405637 -vt 0.237430 0.434601 -vt 0.256837 0.434601 -vt 0.237429 0.463567 -vt 0.256838 0.463567 -vt 0.392072 0.116043 -vt 0.411472 0.087086 -vt 0.411474 0.116042 -vt 0.392074 0.144999 -vt 0.411476 0.144998 -vt 0.392071 0.087087 -vt 0.411469 0.058130 -vt 0.392068 0.058132 -vt 0.411467 0.029175 -vt 0.392066 0.029177 -vt 0.411463 0.000221 -vt 0.392064 0.000223 -vt 0.392076 0.173956 -vt 0.411478 0.173955 -vt 0.392077 0.202913 -vt 0.411480 0.202912 -vt 0.392079 0.231871 -vt 0.411481 0.231870 -vt 0.392080 0.260829 -vt 0.411483 0.260828 -vt 0.392082 0.289788 -vt 0.411485 0.289787 -vt 0.392084 0.318747 -vt 0.411488 0.318746 -vt 0.392086 0.347707 -vt 0.411490 0.347705 -vt 0.392089 0.376667 -vt 0.411493 0.376665 -vt 0.392093 0.405628 -vt 0.411497 0.405625 -vt 0.392097 0.434589 -vt 0.411501 0.434585 -vt 0.392102 0.463550 -vt 0.411507 0.463546 -vt 0.082827 0.058117 -vt 0.102232 0.029164 -vt 0.102228 0.058119 -vt 0.082823 0.087072 -vt 0.102224 0.087075 -vt 0.082831 0.029162 -vt 0.102236 0.000209 -vt 0.082835 0.000207 -vt 0.082819 0.116028 -vt 0.102221 0.116031 -vt 0.082815 0.144984 -vt 0.102217 0.144987 -vt 0.082811 0.173940 -vt 0.102213 0.173943 -vt 0.082806 0.202897 -vt 0.102209 0.202900 -vt 0.082802 0.231854 -vt 0.102204 0.231857 -vt 0.082797 0.260812 -vt 0.102200 0.260815 -vt 0.082791 0.289770 -vt 0.102194 0.289774 -vt 0.082785 0.318729 -vt 0.102189 0.318733 -vt 0.082779 0.347689 -vt 0.102183 0.347693 -vt 0.082772 0.376649 -vt 0.102177 0.376654 -vt 0.082764 0.405611 -vt 0.102170 0.405616 -vt 0.082755 0.434573 -vt 0.102162 0.434579 -vt 0.082745 0.463537 -vt 0.102153 0.463544 -vt 0.363131 0.405631 -vt 0.343729 0.434595 -vt 0.343726 0.405633 -vt 0.363129 0.376670 -vt 0.343724 0.376671 -vt 0.363135 0.434593 -vt 0.343733 0.463559 -vt 0.363139 0.463555 -vt 0.363126 0.347709 -vt 0.343722 0.347710 -vt 0.363124 0.318749 -vt 0.343720 0.318750 -vt 0.363123 0.289790 -vt 0.343719 0.289791 -vt 0.363122 0.260831 -vt 0.343718 0.260832 -vt 0.363121 0.231873 -vt 0.343718 0.231873 -vt 0.363120 0.202915 -vt 0.343717 0.202915 -vt 0.363118 0.173957 -vt 0.343716 0.173958 -vt 0.363117 0.145001 -vt 0.343716 0.145001 -vt 0.363116 0.116044 -vt 0.343715 0.116045 -vt 0.363115 0.087089 -vt 0.343714 0.087089 -vt 0.363114 0.058133 -vt 0.343713 0.058134 -vt 0.363112 0.029179 -vt 0.343712 0.029180 -vt 0.363110 0.000226 -vt 0.343711 0.000226 -vt 0.517748 0.144989 -vt 0.498349 0.173948 -vt 0.498346 0.144991 -vt 0.517745 0.116032 -vt 0.498343 0.116034 -vt 0.517751 0.173946 -vt 0.498352 0.202905 -vt 0.517754 0.202903 -vt 0.498355 0.231863 -vt 0.517757 0.231861 -vt 0.498358 0.260820 -vt 0.517760 0.260818 -vt 0.498361 0.289778 -vt 0.517763 0.289776 -vt 0.498364 0.318737 -vt 0.517767 0.318734 -vt 0.498367 0.347695 -vt 0.517770 0.347693 -vt 0.498371 0.376653 -vt 0.517774 0.376651 -vt 0.498375 0.405612 -vt 0.517778 0.405609 -vt 0.498379 0.434570 -vt 0.517782 0.434567 -vt 0.498384 0.463528 -vt 0.517787 0.463525 -vt 0.517742 0.087075 -vt 0.498340 0.087077 -vt 0.517739 0.058119 -vt 0.498337 0.058121 -vt 0.517735 0.029162 -vt 0.498333 0.029165 -vt 0.517731 0.000205 -vt 0.498329 0.000208 -vt 0.208499 0.000223 -vt 0.189096 0.029175 -vt 0.189099 0.000221 -vt 0.208496 0.029177 -vt 0.189093 0.058129 -vt 0.208494 0.058131 -vt 0.189091 0.087084 -vt 0.208492 0.087086 -vt 0.189088 0.116040 -vt 0.208490 0.116042 -vt 0.189086 0.144996 -vt 0.208488 0.144998 -vt 0.189083 0.173953 -vt 0.208486 0.173955 -vt 0.189081 0.202910 -vt 0.208483 0.202912 -vt 0.189078 0.231868 -vt 0.208481 0.231870 -vt 0.189076 0.260827 -vt 0.208479 0.260829 -vt 0.189073 0.289786 -vt 0.208477 0.289788 -vt 0.189070 0.318746 -vt 0.208474 0.318748 -vt 0.189067 0.347707 -vt 0.208472 0.347709 -vt 0.189063 0.376669 -vt 0.208469 0.376671 -vt 0.189060 0.405633 -vt 0.208467 0.405635 -vt 0.189056 0.434597 -vt 0.208464 0.434599 -vt 0.189053 0.463564 -vt 0.208462 0.463566 -vt 0.546692 0.029158 -vt 0.546688 0.000201 -vt 0.546696 0.058115 -vt 0.546699 0.087072 -vt 0.546702 0.116029 -vt 0.546705 0.144986 -vt 0.546709 0.173943 -vt 0.546712 0.202900 -vt 0.546715 0.231858 -vt 0.546718 0.260815 -vt 0.546721 0.289773 -vt 0.546725 0.318731 -vt 0.546728 0.347689 -vt 0.546732 0.376647 -vt 0.546736 0.405605 -vt 0.546740 0.434563 -vt 0.546744 0.463521 -vt 0.779682 0.749443 -vt 0.744378 0.806538 -vt 0.744377 0.749444 -vt 0.713049 0.806539 -vt 0.713048 0.749445 -vt 0.744376 0.682422 -vt 0.713047 0.682423 -vt 0.779683 0.806538 -vt 0.779681 0.682421 -vt 0.779683 0.825941 -vt 0.744379 0.825941 -vt 0.713050 0.825941 -vt 0.744378 0.869946 -vt 0.713050 0.869946 -vt 0.744378 0.894818 -vt 0.818664 0.869946 -vt 0.713050 0.894818 -vt 0.818664 0.894818 -vt 0.655778 0.806540 -vt 0.655777 0.749446 -vt 0.655775 0.682424 -vt 0.569547 0.749447 -vt 0.538217 0.682426 -vt 0.569546 0.682425 -vt 0.626817 0.682425 -vt 0.538218 0.749448 -vt 0.502912 0.682427 -vt 0.502914 0.806542 -vt 0.502913 0.749448 -vt 0.538218 0.806541 -vt 0.502915 0.825944 -vt 0.538219 0.825944 -vt 0.569547 0.806541 -vt 0.569547 0.825944 -vt 0.569546 0.869948 -vt 0.538218 0.869947 -vt 0.626818 0.749446 -vt 0.626819 0.806540 -vt 0.569546 0.894819 -vt 0.538218 0.894819 -vt 0.463933 0.894818 -vt 0.463933 0.869946 -vt 0.603794 0.116022 -vt 0.603790 0.087065 -vt 0.603797 0.144979 -vt 0.603801 0.173936 -vt 0.603804 0.202894 -vt 0.603808 0.231851 -vt 0.603811 0.260809 -vt 0.603814 0.289766 -vt 0.603818 0.318724 -vt 0.603822 0.347682 -vt 0.603825 0.376640 -vt 0.603829 0.405597 -vt 0.603833 0.434555 -vt 0.603837 0.463513 -vt 0.603787 0.058108 -vt 0.603783 0.029151 -vt 0.603779 0.000194 -vt 0.029149 0.999750 -vt 0.000194 0.999747 -vt 0.058105 0.999753 -vt 0.087060 0.999756 -vt 0.116016 0.999760 -vt 0.144972 0.999764 -vt 0.173929 0.999768 -vt 0.202887 0.999773 -vt 0.231845 0.999778 -vt 0.260805 0.999783 -vt 0.289765 0.999787 -vt 0.318726 0.999792 -vt 0.347687 0.999795 -vt 0.376649 0.999799 -vt 0.405612 0.999801 -vt 0.434575 0.999804 -vt 0.463537 0.999806 -vt 0.057370 0.144980 -vt 0.057374 0.116024 -vt 0.057379 0.087069 -vt 0.057365 0.173936 -vt 0.057361 0.202893 -vt 0.057355 0.231850 -vt 0.057350 0.260807 -vt 0.057344 0.289765 -vt 0.057338 0.318724 -vt 0.057331 0.347683 -vt 0.057323 0.376643 -vt 0.057314 0.405603 -vt 0.057305 0.434564 -vt 0.057294 0.463526 -vt 0.057383 0.058113 -vt 0.057387 0.029158 -vt 0.057391 0.000203 -vt 0.314758 0.000227 -vt 0.314758 0.029181 -vt 0.285805 0.000227 -vt 0.314758 0.058135 -vt 0.285804 0.029180 -vt 0.314759 0.087090 -vt 0.285804 0.058135 -vt 0.285803 0.087090 -vt 0.314759 0.116045 -vt 0.285803 0.116045 -vt 0.314759 0.145002 -vt 0.285802 0.145001 -vt 0.314759 0.173958 -vt 0.285802 0.173958 -vt 0.314759 0.202916 -vt 0.285802 0.202915 -vt 0.314759 0.231874 -vt 0.285801 0.231873 -vt 0.314760 0.260832 -vt 0.285801 0.260832 -vt 0.314760 0.289791 -vt 0.285800 0.289791 -vt 0.314760 0.318751 -vt 0.285800 0.318751 -vt 0.314761 0.347712 -vt 0.285800 0.347712 -vt 0.314762 0.376673 -vt 0.285800 0.376674 -vt 0.314764 0.405635 -vt 0.285801 0.405637 -vt 0.314766 0.434598 -vt 0.285802 0.434600 -vt 0.314769 0.463562 -vt 0.285804 0.463565 -vt 0.160145 0.000217 -vt 0.160142 0.029172 -vt 0.131191 0.000214 -vt 0.160138 0.058126 -vt 0.131187 0.029168 -vt 0.160135 0.087082 -vt 0.131183 0.058123 -vt 0.131180 0.087078 -vt 0.160132 0.116037 -vt 0.131176 0.116034 -vt 0.160129 0.144994 -vt 0.131173 0.144990 -vt 0.160126 0.173950 -vt 0.131170 0.173947 -vt 0.160123 0.202907 -vt 0.131166 0.202904 -vt 0.160120 0.231865 -vt 0.131162 0.231862 -vt 0.160117 0.260824 -vt 0.131158 0.260820 -vt 0.160113 0.289783 -vt 0.131154 0.289779 -vt 0.160109 0.318743 -vt 0.131149 0.318739 -vt 0.160105 0.347704 -vt 0.131144 0.347699 -vt 0.160101 0.376666 -vt 0.131138 0.376660 -vt 0.160096 0.405629 -vt 0.131132 0.405623 -vt 0.160091 0.434593 -vt 0.131126 0.434587 -vt 0.160085 0.463559 -vt 0.131119 0.463552 -vt 0.469373 0.000213 -vt 0.469377 0.029168 -vt 0.440418 0.000217 -vt 0.469381 0.058124 -vt 0.440421 0.029172 -vt 0.469384 0.087080 -vt 0.440425 0.058127 -vt 0.440428 0.087083 -vt 0.469387 0.116037 -vt 0.440430 0.116039 -vt 0.469389 0.144994 -vt 0.440433 0.144996 -vt 0.469392 0.173951 -vt 0.440435 0.173953 -vt 0.469394 0.202908 -vt 0.440437 0.202910 -vt 0.469397 0.231865 -vt 0.440439 0.231868 -vt 0.469400 0.260823 -vt 0.440442 0.260826 -vt 0.469402 0.289781 -vt 0.440444 0.289784 -vt 0.469405 0.318740 -vt 0.440447 0.318743 -vt 0.469409 0.347699 -vt 0.440450 0.347702 -vt 0.469412 0.376657 -vt 0.440453 0.376661 -vt 0.469416 0.405616 -vt 0.440457 0.405620 -vt 0.469421 0.434575 -vt 0.440461 0.434580 -vt 0.469426 0.463534 -vt 0.440467 0.463540 -vt 0.000206 0.434543 -vt 0.000194 0.463503 -vt 0.000217 0.405584 -vt 0.000226 0.376625 -vt 0.000235 0.347667 -vt 0.000244 0.318709 -vt 0.000251 0.289752 -vt 0.000258 0.260795 -vt 0.000264 0.231838 -vt 0.000270 0.202882 -vt 0.000276 0.173926 -vt 0.000281 0.144971 -vt 0.000285 0.116015 -vt 0.000290 0.087060 -vt 0.000294 0.058105 -vt 0.000299 0.029149 -vt 0.000303 0.000194 -vt 0.666640 0.558125 -vt 0.637681 0.558127 -vt 0.604225 0.133183 -vt 0.639530 0.104225 -vt 0.639530 0.133183 -vt 0.604225 0.104225 -vt 0.661494 0.463564 -vt 0.680897 0.434607 -vt 0.680897 0.463565 -vt 0.724902 0.434608 -vt 0.724902 0.463566 -vt 0.661495 0.434607 -vt 0.749775 0.434608 -vt 0.749774 0.463567 -vt 0.683535 0.104225 -vt 0.683535 0.133183 -vt 0.781104 0.434608 -vt 0.781104 0.463567 -vt 0.855393 0.434608 -vt 0.855393 0.463567 -vt 0.666641 0.593430 -vt 0.637683 0.593431 -vt 0.666643 0.624759 -vt 0.637685 0.624760 -vt 0.666646 0.682031 -vt 0.637688 0.682033 -vt 0.604225 0.463561 -vt 0.604227 0.434604 -vt 0.757821 0.133183 -vt 0.782694 0.104225 -vt 0.782694 0.133183 -vt 0.757821 0.104225 -s off -f 1/1 2/2 3/3 -f 4/4 1/1 3/3 -f 4/4 3/3 5/5 -f 1/1 6/6 2/2 -f 6/6 7/7 2/2 -f 6/6 8/8 7/7 -f 8/8 9/9 7/7 -f 8/8 10/10 9/9 -f 10/10 11/11 9/9 -f 10/10 12/12 11/11 -f 13/13 4/4 5/5 -f 13/13 5/5 14/14 -f 15/15 13/13 14/14 -f 15/15 14/14 16/16 -f 17/17 15/15 16/16 -f 17/17 16/16 18/18 -f 19/19 17/17 18/18 -f 19/19 18/18 20/20 -f 21/21 19/19 20/20 -f 21/21 20/20 22/22 -f 23/23 21/21 22/22 -f 23/23 22/22 24/24 -f 25/25 23/23 24/24 -f 25/25 24/24 26/26 -f 27/27 25/25 26/26 -f 27/27 26/26 28/28 -f 29/29 27/27 28/28 -f 29/29 28/28 30/30 -f 31/31 29/29 30/30 -f 31/31 30/30 32/32 -f 33/33 31/31 32/32 -f 33/33 32/32 34/34 -f 35/35 36/36 37/37 -f 38/38 35/35 37/37 -f 38/38 37/37 39/39 -f 35/35 40/40 36/36 -f 40/40 41/41 36/36 -f 40/40 42/42 41/41 -f 42/42 43/43 41/41 -f 42/42 44/44 43/43 -f 44/44 45/45 43/43 -f 44/44 46/46 45/45 -f 46/46 47/47 45/45 -f 46/46 48/48 47/47 -f 48/48 49/49 47/47 -f 48/48 50/50 49/49 -f 50/50 51/51 49/49 -f 50/50 52/52 51/51 -f 52/52 53/53 51/51 -f 52/52 54/54 53/53 -f 54/54 55/55 53/53 -f 54/54 56/56 55/55 -f 56/56 57/57 55/55 -f 56/56 58/58 57/57 -f 58/58 59/59 57/57 -f 58/58 60/60 59/59 -f 60/60 61/61 59/59 -f 60/60 62/62 61/61 -f 62/62 63/63 61/61 -f 62/62 64/64 63/63 -f 64/64 65/65 63/63 -f 64/64 66/66 65/65 -f 66/66 67/67 65/65 -f 66/66 68/68 67/67 -f 69/69 70/70 71/71 -f 72/72 69/69 71/71 -f 72/72 71/71 73/73 -f 69/69 74/74 70/70 -f 74/74 75/75 70/70 -f 74/74 76/76 75/75 -f 76/76 77/77 75/75 -f 76/76 78/78 77/77 -f 79/79 72/72 73/73 -f 79/79 73/73 80/80 -f 81/81 79/79 80/80 -f 81/81 80/80 82/82 -f 83/83 81/81 82/82 -f 83/83 82/82 84/84 -f 85/85 83/83 84/84 -f 85/85 84/84 86/86 -f 87/87 85/85 86/86 -f 87/87 86/86 88/88 -f 89/89 87/87 88/88 -f 89/89 88/88 90/90 -f 91/91 89/89 90/90 -f 91/91 90/90 92/92 -f 93/93 91/91 92/92 -f 93/93 92/92 94/94 -f 95/95 93/93 94/94 -f 95/95 94/94 96/96 -f 97/97 95/95 96/96 -f 97/97 96/96 98/98 -f 99/99 97/97 98/98 -f 99/99 98/98 100/100 -f 101/101 99/99 100/100 -f 101/101 100/100 102/102 -f 103/103 104/104 105/105 -f 106/106 103/103 105/105 -f 106/106 105/105 107/107 -f 103/103 108/108 104/104 -f 108/108 109/109 104/104 -f 108/108 110/110 109/109 -f 110/110 111/111 109/109 -f 110/110 112/112 111/111 -f 112/112 113/113 111/111 -f 112/112 114/114 113/113 -f 114/114 115/115 113/113 -f 114/114 116/116 115/115 -f 117/117 106/106 107/107 -f 117/117 107/107 118/118 -f 119/119 117/117 118/118 -f 119/119 118/118 120/120 -f 121/121 119/119 120/120 -f 121/121 120/120 122/122 -f 123/123 121/121 122/122 -f 123/123 122/122 124/124 -f 125/125 123/123 124/124 -f 125/125 124/124 126/126 -f 127/127 125/125 126/126 -f 127/127 126/126 128/128 -f 129/129 127/127 128/128 -f 129/129 128/128 130/130 -f 131/131 129/129 130/130 -f 131/131 130/130 132/132 -f 133/133 131/131 132/132 -f 133/133 132/132 134/134 -f 135/135 133/133 134/134 -f 135/135 134/134 136/136 -f 137/137 138/138 139/139 -f 140/140 137/137 139/139 -f 140/140 139/139 141/141 -f 137/137 142/142 138/138 -f 142/142 143/143 138/138 -f 142/142 144/144 143/143 -f 145/145 140/140 141/141 -f 145/145 141/141 146/146 -f 147/147 145/145 146/146 -f 147/147 146/146 148/148 -f 149/149 147/147 148/148 -f 149/149 148/148 150/150 -f 151/151 149/149 150/150 -f 151/151 150/150 152/152 -f 153/153 151/151 152/152 -f 153/153 152/152 154/154 -f 155/155 153/153 154/154 -f 155/155 154/154 156/156 -f 157/157 155/155 156/156 -f 157/157 156/156 158/158 -f 159/159 157/157 158/158 -f 159/159 158/158 160/160 -f 161/161 159/159 160/160 -f 161/161 160/160 162/162 -f 163/163 161/161 162/162 -f 163/163 162/162 164/164 -f 165/165 163/163 164/164 -f 165/165 164/164 166/166 -f 167/167 165/165 166/166 -f 167/167 166/166 168/168 -f 169/169 167/167 168/168 -f 169/169 168/168 170/170 -f 171/171 172/172 173/173 -f 68/174 171/171 173/173 -f 68/174 173/173 67/175 -f 171/171 174/176 172/172 -f 174/176 136/177 172/172 -f 174/176 135/178 136/177 -f 174/176 171/171 175/179 -f 174/176 175/179 176/180 -f 135/178 174/176 176/180 -f 135/178 176/180 177/181 -f 178/182 135/178 177/181 -f 177/181 176/180 179/183 -f 176/180 175/179 180/184 -f 176/180 180/184 179/183 -f 175/179 181/185 182/186 -f 175/179 182/186 180/184 -f 171/171 181/185 175/179 -f 171/171 68/174 181/185 -f 68/174 183/187 181/185 -f 68/174 184/188 183/187 -f 177/181 179/183 185/189 -f 178/182 177/181 186/190 -f 187/191 186/190 188/192 -f 189/193 178/182 186/190 -f 189/193 186/190 187/191 -f 190/194 187/191 191/195 -f 187/191 188/192 191/195 -f 192/196 189/193 187/191 -f 192/196 187/191 190/194 -f 178/182 189/193 193/197 -f 189/193 192/196 194/198 -f 189/193 194/198 193/197 -f 178/182 193/197 195/199 -f 192/196 102/200 194/198 -f 192/196 101/201 102/200 -f 101/201 192/196 190/194 -f 144/202 101/201 196/203 -f 101/201 190/194 196/203 -f 144/202 197/204 198/205 -f 144/202 198/205 143/206 -f 197/204 144/202 199/207 -f 144/202 196/203 199/207 -f 196/203 190/194 200/208 -f 196/203 200/208 201/209 -f 190/194 191/195 200/208 -f 202/210 199/207 203/211 -f 197/204 199/207 202/210 -f 202/210 203/211 204/212 -f 205/213 202/210 204/212 -f 206/214 197/204 202/210 -f 206/214 202/210 205/213 -f 205/213 204/212 207/215 -f 208/216 205/213 207/215 -f 33/217 206/214 205/213 -f 33/217 205/213 208/216 -f 206/214 33/217 34/218 -f 206/214 34/218 209/219 -f 197/204 206/214 209/219 -f 197/204 209/219 198/205 -f 33/217 208/216 210/220 -f 33/217 210/220 211/221 -f 208/216 207/215 212/222 -f 213/223 214/224 215/225 -f 216/226 213/223 215/225 -f 216/226 215/225 217/227 -f 213/223 218/228 214/224 -f 218/228 219/229 214/224 -f 218/228 220/230 219/229 -f 220/230 221/231 219/229 -f 220/230 222/232 221/231 -f 222/232 223/233 221/231 -f 222/232 224/234 223/233 -f 224/234 225/235 223/233 -f 224/234 226/236 225/235 -f 226/236 195/237 225/235 -f 226/236 178/238 195/237 -f 227/239 216/226 217/227 -f 227/239 217/227 228/240 -f 229/241 227/239 228/240 -f 229/241 228/240 230/242 -f 231/243 229/241 230/242 -f 231/243 230/242 232/244 -f 233/245 231/243 232/244 -f 233/245 232/244 234/246 -f 235/247 233/245 234/246 -f 235/247 234/246 236/248 -f 237/249 235/247 236/248 -f 237/249 236/248 238/250 -f 239/251 237/249 238/250 -f 239/251 238/250 240/252 -f 241/253 239/251 240/252 -f 241/253 240/252 242/254 -f 243/255 241/253 242/254 -f 243/255 242/254 244/256 -f 116/257 245/258 115/259 -f 116/257 246/260 245/258 -f 246/260 116/257 247/261 -f 116/257 243/262 248/263 -f 116/257 248/263 247/261 -f 246/260 249/264 245/258 -f 246/260 250/265 249/264 -f 250/265 246/260 251/266 -f 246/260 247/261 251/266 -f 251/266 247/261 252/267 -f 253/268 251/266 254/269 -f 251/266 252/267 254/269 -f 250/265 251/266 253/268 -f 250/265 38/270 39/271 -f 250/265 39/271 249/264 -f 38/270 250/265 253/268 -f 253/268 254/269 255/272 -f 256/273 253/268 255/272 -f 38/270 253/268 256/273 -f 257/274 38/270 256/273 -f 256/273 255/272 258/275 -f 257/274 256/273 259/276 -f 248/263 260/277 261/278 -f 248/263 261/278 262/279 -f 243/262 260/277 248/263 -f 243/262 263/280 260/277 -f 263/280 243/262 244/281 -f 263/280 244/281 264/282 -f 265/283 263/280 264/282 -f 265/283 264/282 266/284 -f 78/285 265/283 266/284 -f 265/283 78/285 267/286 -f 265/283 267/286 268/287 -f 78/285 266/284 77/288 -f 78/285 169/289 269/290 -f 78/285 269/290 267/286 -f 268/287 267/286 270/291 -f 268/287 270/291 271/292 -f 269/290 272/293 273/294 -f 269/290 273/294 274/295 -f 169/289 272/293 269/290 -f 275/296 169/289 170/297 -f 169/289 275/296 272/293 -f 272/293 276/298 277/299 -f 272/293 277/299 273/294 -f 275/296 276/298 272/293 -f 278/300 275/296 279/301 -f 275/296 170/297 279/301 -f 275/296 278/300 276/298 -f 276/298 280/302 281/303 -f 276/298 281/303 277/299 -f 278/300 280/302 276/298 -f 278/300 279/301 282/304 -f 12/305 278/300 282/304 -f 278/300 12/305 280/302 -f 280/302 12/305 283/306 -f 280/302 283/306 284/307 -f 12/305 282/304 11/308 -f 133/133 178/238 226/236 -f 131/131 133/133 226/236 -f 131/131 226/236 224/234 -f 133/133 135/135 178/238 -f 129/129 131/131 224/234 -f 129/129 224/234 222/232 -f 127/127 129/129 222/232 -f 127/127 222/232 220/230 -f 125/125 127/127 220/230 -f 125/125 220/230 218/228 -f 123/123 125/125 218/228 -f 123/123 218/228 213/223 -f 121/121 123/123 213/223 -f 121/121 213/223 216/226 -f 119/119 121/121 216/226 -f 119/119 216/226 227/239 -f 117/117 119/119 227/239 -f 117/117 227/239 229/241 -f 106/106 117/117 229/241 -f 106/106 229/241 231/243 -f 103/103 106/106 231/243 -f 103/103 231/243 233/245 -f 108/108 103/103 233/245 -f 108/108 233/245 235/247 -f 110/110 108/108 235/247 -f 110/110 235/247 237/249 -f 112/112 110/110 237/249 -f 112/112 237/249 239/251 -f 114/114 112/112 239/251 -f 114/114 239/251 241/253 -f 116/116 114/114 241/253 -f 116/116 241/253 243/255 -f 99/99 144/144 142/142 -f 97/97 99/99 142/142 -f 97/97 142/142 137/137 -f 99/99 101/101 144/144 -f 95/95 97/97 137/137 -f 95/95 137/137 140/140 -f 93/93 95/95 140/140 -f 93/93 140/140 145/145 -f 91/91 93/93 145/145 -f 91/91 145/145 147/147 -f 89/89 91/91 147/147 -f 89/89 147/147 149/149 -f 87/87 89/89 149/149 -f 87/87 149/149 151/151 -f 85/85 87/87 151/151 -f 85/85 151/151 153/153 -f 83/83 85/85 153/153 -f 83/83 153/153 155/155 -f 81/81 83/83 155/155 -f 81/81 155/155 157/157 -f 79/79 81/81 157/157 -f 79/79 157/157 159/159 -f 72/72 79/79 159/159 -f 72/72 159/159 161/161 -f 69/69 72/72 161/161 -f 69/69 161/161 163/163 -f 74/74 69/69 163/163 -f 74/74 163/163 165/165 -f 76/76 74/74 165/165 -f 76/76 165/165 167/167 -f 78/78 76/76 167/167 -f 78/78 167/167 169/169 -f 285/309 68/68 66/66 -f 286/310 285/309 66/66 -f 286/310 66/66 64/64 -f 285/309 184/311 68/68 -f 287/312 286/310 64/64 -f 287/312 64/64 62/62 -f 288/313 287/312 62/62 -f 288/313 62/62 60/60 -f 289/314 288/313 60/60 -f 289/314 60/60 58/58 -f 290/315 289/314 58/58 -f 290/315 58/58 56/56 -f 291/316 290/315 56/56 -f 291/316 56/56 54/54 -f 292/317 291/316 54/54 -f 292/317 54/54 52/52 -f 293/318 292/317 52/52 -f 293/318 52/52 50/50 -f 294/319 293/318 50/50 -f 294/319 50/50 48/48 -f 295/320 294/319 48/48 -f 295/320 48/48 46/46 -f 296/321 295/320 46/46 -f 296/321 46/46 44/44 -f 297/322 296/321 44/44 -f 297/322 44/44 42/42 -f 298/323 297/322 42/42 -f 298/323 42/42 40/40 -f 299/324 298/323 40/40 -f 299/324 40/40 35/35 -f 257/325 299/324 35/35 -f 257/325 35/35 38/38 -f 300/326 22/22 20/20 -f 301/327 300/326 20/20 -f 301/327 20/20 18/18 -f 300/326 302/328 22/22 -f 302/328 24/24 22/22 -f 303/329 304/330 302/328 -f 302/328 304/330 24/24 -f 305/331 303/329 302/328 -f 305/331 302/328 300/326 -f 304/330 26/26 24/24 -f 304/330 306/332 26/26 -f 307/333 306/332 304/330 -f 303/329 307/333 304/330 -f 152/152 150/150 303/329 -f 152/152 303/329 305/331 -f 150/150 307/333 303/329 -f 154/154 152/152 305/331 -f 154/154 305/331 308/334 -f 308/334 305/331 300/326 -f 156/156 154/154 308/334 -f 156/156 308/334 309/335 -f 309/335 308/334 301/327 -f 308/334 300/326 301/327 -f 158/158 156/156 309/335 -f 158/158 309/335 310/336 -f 309/335 301/327 311/337 -f 310/336 309/335 311/337 -f 311/337 301/327 18/18 -f 311/337 18/18 16/16 -f 310/336 311/337 312/338 -f 312/338 311/337 16/16 -f 160/160 158/158 310/336 -f 160/160 310/336 313/339 -f 313/339 310/336 312/338 -f 314/340 312/338 14/14 -f 312/338 16/16 14/14 -f 313/339 312/338 314/340 -f 315/341 313/339 314/340 -f 162/162 160/160 313/339 -f 162/162 313/339 315/341 -f 314/340 14/14 5/5 -f 315/341 314/340 316/342 -f 316/342 314/340 5/5 -f 164/164 162/162 315/341 -f 164/164 315/341 317/343 -f 317/343 315/341 316/342 -f 318/344 316/342 3/3 -f 316/342 5/5 3/3 -f 317/343 316/342 318/344 -f 166/166 164/164 317/343 -f 166/166 317/343 319/345 -f 319/345 317/343 318/344 -f 318/344 3/3 2/2 -f 319/345 318/344 320/346 -f 320/346 318/344 2/2 -f 168/168 166/166 319/345 -f 168/168 319/345 321/347 -f 321/347 319/345 320/346 -f 322/348 320/346 7/7 -f 320/346 2/2 7/7 -f 321/347 320/346 322/348 -f 170/170 168/168 321/347 -f 170/170 321/347 279/349 -f 279/349 321/347 322/348 -f 322/348 7/7 9/9 -f 279/349 322/348 282/350 -f 282/350 322/348 9/9 -f 282/350 9/9 11/11 -f 148/148 323/351 307/333 -f 150/150 148/148 307/333 -f 307/333 323/351 306/332 -f 148/148 146/146 323/351 -f 323/351 324/352 325/353 -f 323/351 325/353 306/332 -f 146/146 324/352 323/351 -f 306/332 325/353 28/28 -f 306/332 28/28 26/26 -f 325/353 326/354 30/30 -f 325/353 30/30 28/28 -f 324/352 326/354 325/353 -f 141/141 327/355 324/352 -f 324/352 327/355 326/354 -f 146/146 141/141 324/352 -f 327/355 328/356 326/354 -f 326/354 328/356 32/32 -f 326/354 32/32 30/30 -f 141/141 139/139 327/355 -f 139/139 329/357 327/355 -f 327/355 329/357 328/356 -f 328/356 209/358 34/34 -f 328/356 34/34 32/32 -f 329/357 209/358 328/356 -f 138/138 198/359 329/357 -f 139/139 138/138 329/357 -f 329/357 198/359 209/358 -f 138/138 143/143 198/359 -f 330/360 90/90 88/88 -f 331/361 330/360 88/88 -f 331/361 88/88 86/86 -f 330/360 332/362 90/90 -f 332/362 92/92 90/90 -f 333/363 334/364 332/362 -f 332/362 334/364 92/92 -f 335/365 333/363 332/362 -f 335/365 332/362 330/360 -f 334/364 94/94 92/92 -f 334/364 336/366 94/94 -f 337/367 336/366 334/364 -f 333/363 337/367 334/364 -f 217/227 215/225 333/363 -f 217/227 333/363 335/365 -f 215/225 337/367 333/363 -f 338/368 335/365 330/360 -f 228/240 217/227 335/365 -f 228/240 335/365 338/368 -f 230/242 228/240 338/368 -f 230/242 338/368 339/369 -f 338/368 330/360 331/361 -f 339/369 338/368 331/361 -f 232/244 230/242 339/369 -f 232/244 339/369 340/370 -f 339/369 331/361 341/371 -f 340/370 339/369 341/371 -f 341/371 331/361 86/86 -f 341/371 86/86 84/84 -f 340/370 341/371 342/372 -f 342/372 341/371 84/84 -f 234/246 232/244 340/370 -f 234/246 340/370 343/373 -f 343/373 340/370 342/372 -f 344/374 342/372 82/82 -f 342/372 84/84 82/82 -f 343/373 342/372 344/374 -f 236/248 234/246 343/373 -f 236/248 343/373 345/375 -f 345/375 343/373 344/374 -f 344/374 82/82 80/80 -f 345/375 344/374 346/376 -f 346/376 344/374 80/80 -f 238/250 236/248 345/375 -f 238/250 345/375 347/377 -f 347/377 345/375 346/376 -f 348/378 346/376 73/73 -f 346/376 80/80 73/73 -f 347/377 346/376 348/378 -f 240/252 238/250 347/377 -f 240/252 347/377 349/379 -f 349/379 347/377 348/378 -f 348/378 73/73 71/71 -f 349/379 348/378 350/380 -f 350/380 348/378 71/71 -f 242/254 240/252 349/379 -f 242/254 349/379 351/381 -f 351/381 349/379 350/380 -f 352/382 350/380 70/70 -f 350/380 71/71 70/70 -f 351/381 350/380 352/382 -f 244/256 242/254 351/381 -f 244/256 351/381 264/383 -f 264/383 351/381 352/382 -f 352/382 70/70 75/75 -f 264/383 352/382 266/384 -f 266/384 352/382 75/75 -f 266/384 75/75 77/77 -f 214/224 353/385 337/367 -f 215/225 214/224 337/367 -f 337/367 353/385 336/366 -f 214/224 219/229 353/385 -f 219/229 354/386 353/385 -f 353/385 354/386 355/387 -f 353/385 355/387 336/366 -f 336/366 355/387 96/96 -f 336/366 96/96 94/94 -f 355/387 356/388 98/98 -f 355/387 98/98 96/96 -f 354/386 356/388 355/387 -f 221/231 357/389 354/386 -f 219/229 221/231 354/386 -f 354/386 357/389 356/388 -f 357/389 358/390 356/388 -f 356/388 358/390 100/100 -f 356/388 100/100 98/98 -f 221/231 223/233 357/389 -f 223/233 359/391 357/389 -f 357/389 359/391 358/390 -f 358/390 194/392 102/102 -f 358/390 102/102 100/100 -f 359/391 194/392 358/390 -f 225/235 193/393 359/391 -f 223/233 225/235 359/391 -f 359/391 193/393 194/392 -f 225/235 195/237 193/393 -f 360/394 107/107 105/105 -f 361/395 360/394 105/105 -f 361/395 105/105 104/104 -f 360/394 362/396 107/107 -f 362/396 118/118 107/107 -f 363/397 364/398 362/396 -f 362/396 364/398 118/118 -f 365/399 363/397 362/396 -f 365/399 362/396 360/394 -f 364/398 120/120 118/118 -f 364/398 366/400 120/120 -f 367/401 366/400 364/398 -f 363/397 367/401 364/398 -f 45/45 47/47 363/397 -f 45/45 363/397 365/399 -f 47/47 367/401 363/397 -f 368/402 365/399 360/394 -f 43/43 45/45 365/399 -f 43/43 365/399 368/402 -f 41/41 43/43 368/402 -f 41/41 368/402 369/403 -f 368/402 360/394 361/395 -f 369/403 368/402 361/395 -f 36/36 41/41 369/403 -f 36/36 369/403 370/404 -f 369/403 361/395 371/405 -f 370/404 369/403 371/405 -f 371/405 361/395 104/104 -f 371/405 104/104 109/109 -f 370/404 371/405 372/406 -f 372/406 371/405 109/109 -f 37/37 36/36 370/404 -f 37/37 370/404 373/407 -f 373/407 370/404 372/406 -f 374/408 372/406 111/111 -f 372/406 109/109 111/111 -f 373/407 372/406 374/408 -f 39/39 37/37 373/407 -f 39/39 373/407 249/409 -f 249/409 373/407 374/408 -f 374/408 111/111 113/113 -f 249/409 374/408 245/410 -f 245/410 374/408 113/113 -f 245/410 113/113 115/115 -f 49/49 375/411 367/401 -f 47/47 49/49 367/401 -f 367/401 375/411 366/400 -f 49/49 51/51 375/411 -f 51/51 376/412 375/411 -f 375/411 376/412 377/413 -f 375/411 377/413 366/400 -f 366/400 377/413 122/122 -f 366/400 122/122 120/120 -f 377/413 378/414 124/124 -f 377/413 124/124 122/122 -f 376/412 378/414 377/413 -f 53/53 379/415 376/412 -f 51/51 53/53 376/412 -f 376/412 379/415 378/414 -f 379/415 380/416 378/414 -f 378/414 380/416 126/126 -f 378/414 126/126 124/124 -f 53/53 55/55 379/415 -f 55/55 381/417 379/415 -f 379/415 381/417 380/416 -f 380/416 382/418 128/128 -f 380/416 128/128 126/126 -f 381/417 382/418 380/416 -f 57/57 383/419 381/417 -f 55/55 57/57 381/417 -f 381/417 383/419 382/418 -f 383/419 384/420 382/418 -f 382/418 384/420 130/130 -f 382/418 130/130 128/128 -f 57/57 59/59 383/419 -f 383/419 385/421 384/420 -f 59/59 385/421 383/419 -f 384/420 386/422 132/132 -f 384/420 132/132 130/130 -f 385/421 386/422 384/420 -f 61/61 387/423 385/421 -f 385/421 387/423 386/422 -f 59/59 61/61 385/421 -f 387/423 388/424 386/422 -f 386/422 388/424 134/134 -f 386/422 134/134 132/132 -f 61/61 63/63 387/423 -f 63/63 389/425 387/423 -f 387/423 389/425 388/424 -f 388/424 172/426 136/136 -f 388/424 136/136 134/134 -f 389/425 172/426 388/424 -f 65/65 173/427 389/425 -f 63/63 65/65 389/425 -f 389/425 173/427 172/426 -f 65/65 67/67 173/427 -f 390/428 391/429 392/430 -f 393/431 390/428 392/430 -f 393/431 392/430 394/432 -f 390/428 395/433 391/429 -f 395/433 396/434 391/429 -f 395/433 397/435 396/434 -f 397/435 398/436 396/434 -f 397/435 399/437 398/436 -f 399/437 400/438 398/436 -f 399/437 401/439 400/438 -f 401/439 402/440 400/438 -f 401/439 403/441 402/440 -f 403/441 404/442 402/440 -f 403/441 405/443 404/442 -f 405/443 406/444 404/442 -f 405/443 407/445 406/444 -f 407/445 408/446 406/444 -f 407/445 409/447 408/446 -f 409/447 410/448 408/446 -f 409/447 411/449 410/448 -f 411/449 201/450 410/448 -f 411/449 196/451 201/450 -f 412/452 393/431 394/432 -f 412/452 394/432 413/453 -f 414/454 412/452 413/453 -f 414/454 413/453 415/455 -f 416/456 414/454 415/455 -f 416/456 415/455 417/457 -f 418/458 416/456 417/457 -f 418/458 417/457 419/459 -f 267/460 418/458 419/459 -f 267/460 419/459 270/461 -f 420/462 421/463 422/464 -f 423/465 420/462 422/464 -f 423/465 422/464 424/466 -f 420/462 425/467 421/463 -f 425/467 426/468 421/463 -f 425/467 427/469 426/468 -f 427/469 428/470 426/468 -f 427/469 429/471 428/470 -f 429/471 185/472 428/470 -f 429/471 177/473 185/472 -f 430/474 423/465 424/466 -f 430/474 424/466 431/475 -f 432/476 430/474 431/475 -f 432/476 431/475 433/477 -f 434/478 432/476 433/477 -f 434/478 433/477 435/479 -f 436/480 434/478 435/479 -f 436/480 435/479 437/481 -f 438/482 436/480 437/481 -f 438/482 437/481 439/483 -f 440/484 438/482 439/483 -f 440/484 439/483 441/485 -f 442/486 440/484 441/485 -f 442/486 441/485 443/487 -f 444/488 442/486 443/487 -f 444/488 443/487 445/489 -f 446/490 444/488 445/489 -f 446/490 445/489 447/491 -f 448/492 446/490 447/491 -f 448/492 447/491 449/493 -f 247/494 448/492 449/493 -f 247/494 449/493 252/495 -f 450/496 451/497 452/498 -f 453/499 450/496 452/498 -f 453/499 452/498 454/500 -f 450/496 455/501 451/497 -f 455/501 212/502 451/497 -f 455/501 208/503 212/502 -f 456/504 453/499 454/500 -f 456/504 454/500 457/505 -f 458/506 456/504 457/505 -f 458/506 457/505 459/507 -f 460/508 458/506 459/507 -f 460/508 459/507 461/509 -f 462/510 460/508 461/509 -f 462/510 461/509 463/511 -f 464/512 462/510 463/511 -f 464/512 463/511 465/513 -f 466/514 464/512 465/513 -f 466/514 465/513 467/515 -f 468/516 466/514 467/515 -f 468/516 467/515 469/517 -f 470/518 468/516 469/517 -f 470/518 469/517 471/519 -f 472/520 470/518 471/519 -f 472/520 471/519 473/521 -f 474/522 472/520 473/521 -f 474/522 473/521 475/523 -f 476/524 474/522 475/523 -f 476/524 475/523 477/525 -f 478/526 476/524 477/525 -f 478/526 477/525 479/527 -f 280/528 478/526 479/527 -f 280/528 479/527 281/529 -f 480/530 481/531 482/532 -f 483/533 480/530 482/532 -f 483/533 482/532 484/534 -f 480/530 485/535 481/531 -f 485/535 262/536 481/531 -f 485/535 248/537 262/536 -f 486/538 483/533 484/534 -f 486/538 484/534 487/539 -f 488/540 486/538 487/539 -f 488/540 487/539 489/541 -f 490/542 488/540 489/541 -f 490/542 489/541 491/543 -f 492/544 490/542 491/543 -f 492/544 491/543 493/545 -f 494/546 492/544 493/545 -f 494/546 493/545 495/547 -f 496/548 494/546 495/547 -f 496/548 495/547 497/549 -f 498/550 496/548 497/549 -f 498/550 497/549 499/551 -f 500/552 498/550 499/551 -f 500/552 499/551 501/553 -f 502/554 500/552 501/553 -f 502/554 501/553 503/555 -f 504/556 502/554 503/555 -f 504/556 503/555 505/557 -f 506/558 504/556 505/557 -f 506/558 505/557 507/559 -f 508/560 506/558 507/559 -f 508/560 507/559 509/561 -f 186/562 508/560 509/561 -f 186/562 509/561 188/563 -f 510/564 511/565 512/566 -f 513/567 510/564 512/566 -f 513/567 512/566 514/568 -f 510/564 515/569 511/565 -f 515/569 516/570 511/565 -f 515/569 517/571 516/570 -f 517/571 518/572 516/570 -f 517/571 519/573 518/572 -f 519/573 520/574 518/572 -f 519/573 521/575 520/574 -f 521/575 522/576 520/574 -f 521/575 523/577 522/576 -f 523/577 524/578 522/576 -f 523/577 525/579 524/578 -f 525/579 526/580 524/578 -f 525/579 527/581 526/580 -f 527/581 528/582 526/580 -f 527/581 529/583 528/582 -f 529/583 530/584 528/582 -f 529/583 531/585 530/584 -f 531/585 532/586 530/584 -f 531/585 533/587 532/586 -f 533/587 258/588 532/586 -f 533/587 256/589 258/588 -f 534/590 513/567 514/568 -f 534/590 514/568 535/591 -f 536/592 534/590 535/591 -f 536/592 535/591 537/593 -f 538/594 536/592 537/593 -f 538/594 537/593 539/595 -f 181/596 538/594 539/595 -f 181/596 539/595 182/597 -f 199/598 540/599 203/600 -f 199/598 541/601 540/599 -f 541/601 542/602 540/599 -f 541/601 543/603 542/602 -f 543/603 544/604 542/602 -f 543/603 545/605 544/604 -f 545/605 546/606 544/604 -f 545/605 547/607 546/606 -f 547/607 548/608 546/606 -f 547/607 549/609 548/608 -f 549/609 550/610 548/608 -f 549/609 551/611 550/610 -f 551/611 552/612 550/610 -f 551/611 553/613 552/612 -f 553/613 554/614 552/612 -f 553/613 555/615 554/614 -f 555/615 556/616 554/614 -f 555/615 557/617 556/616 -f 557/617 558/618 556/616 -f 557/617 559/619 558/618 -f 559/619 560/620 558/618 -f 559/619 561/621 560/620 -f 561/621 562/622 560/620 -f 561/621 563/623 562/622 -f 563/623 564/624 562/622 -f 563/623 565/625 564/624 -f 565/625 566/626 564/624 -f 565/625 567/627 566/626 -f 567/627 568/628 566/626 -f 567/627 569/629 568/628 -f 569/629 274/630 568/628 -f 569/629 269/631 274/630 -f 429/471 186/562 177/473 -f 429/471 508/560 186/562 -f 427/469 508/560 429/471 -f 427/469 506/558 508/560 -f 425/467 506/558 427/469 -f 425/467 504/556 506/558 -f 420/462 504/556 425/467 -f 420/462 502/554 504/556 -f 423/465 502/554 420/462 -f 423/465 500/552 502/554 -f 430/474 500/552 423/465 -f 430/474 498/550 500/552 -f 432/476 498/550 430/474 -f 432/476 496/548 498/550 -f 434/478 496/548 432/476 -f 434/478 494/546 496/548 -f 436/480 494/546 434/478 -f 436/480 492/544 494/546 -f 438/482 492/544 436/480 -f 438/482 490/542 492/544 -f 440/484 490/542 438/482 -f 440/484 488/540 490/542 -f 442/486 488/540 440/484 -f 442/486 486/538 488/540 -f 444/488 486/538 442/486 -f 444/488 483/533 486/538 -f 446/490 483/533 444/488 -f 446/490 480/530 483/533 -f 448/492 480/530 446/490 -f 448/492 485/535 480/530 -f 247/494 485/535 448/492 -f 247/494 248/537 485/535 -f 411/449 199/598 196/451 -f 411/449 541/601 199/598 -f 409/447 541/601 411/449 -f 409/447 543/603 541/601 -f 407/445 543/603 409/447 -f 407/445 545/605 543/603 -f 405/443 545/605 407/445 -f 405/443 547/607 545/605 -f 403/441 547/607 405/443 -f 403/441 549/609 547/607 -f 401/439 549/609 403/441 -f 401/439 551/611 549/609 -f 399/437 551/611 401/439 -f 399/437 553/613 551/611 -f 397/435 553/613 399/437 -f 397/435 555/615 553/613 -f 395/433 555/615 397/435 -f 395/433 557/617 555/615 -f 390/428 557/617 395/433 -f 390/428 559/619 557/617 -f 393/431 559/619 390/428 -f 393/431 561/621 559/619 -f 412/452 561/621 393/431 -f 412/452 563/623 561/621 -f 414/454 563/623 412/452 -f 414/454 565/625 563/623 -f 416/456 565/625 414/454 -f 416/456 567/627 565/625 -f 418/458 567/627 416/456 -f 418/458 569/629 567/627 -f 267/460 569/629 418/458 -f 267/460 269/631 569/629 -f 570/632 181/596 183/633 -f 570/632 538/594 181/596 -f 571/634 538/594 570/632 -f 571/634 536/592 538/594 -f 572/635 536/592 571/634 -f 572/635 534/590 536/592 -f 573/636 534/590 572/635 -f 573/636 513/567 534/590 -f 574/637 513/567 573/636 -f 574/637 510/564 513/567 -f 575/638 510/564 574/637 -f 575/638 515/569 510/564 -f 576/639 515/569 575/638 -f 576/639 517/571 515/569 -f 577/640 517/571 576/639 -f 577/640 519/573 517/571 -f 578/641 519/573 577/640 -f 578/641 521/575 519/573 -f 579/642 521/575 578/641 -f 579/642 523/577 521/575 -f 580/643 523/577 579/642 -f 580/643 525/579 523/577 -f 581/644 525/579 580/643 -f 581/644 527/581 525/579 -f 582/645 527/581 581/644 -f 582/645 529/583 527/581 -f 583/646 529/583 582/645 -f 583/646 531/585 529/583 -f 584/647 531/585 583/646 -f 584/647 533/587 531/585 -f 259/648 533/587 584/647 -f 259/648 256/589 533/587 -f 265/649 585/650 586/651 -f 586/651 585/650 587/652 -f 586/651 587/652 588/653 -f 265/649 586/651 589/654 -f 586/651 588/653 590/655 -f 586/651 590/655 589/654 -f 265/649 268/656 585/650 -f 265/649 589/654 591/657 -f 268/656 271/658 592/659 -f 268/656 592/659 585/650 -f 585/650 592/659 593/660 -f 593/660 592/659 594/661 -f 585/650 593/660 587/652 -f 593/660 594/661 595/662 -f 596/663 594/661 597/664 -f 595/662 594/661 596/663 -f 595/662 596/663 598/665 -f 596/663 597/664 599/666 -f 588/653 587/652 600/667 -f 590/655 588/653 601/668 -f 588/653 600/667 601/668 -f 590/655 601/668 602/669 -f 603/670 604/671 605/672 -f 603/670 605/672 606/673 -f 603/670 607/674 604/671 -f 607/674 608/675 604/671 -f 260/676 263/677 607/674 -f 260/676 607/674 609/678 -f 609/678 607/674 603/670 -f 607/674 263/677 608/675 -f 261/679 260/676 609/678 -f 261/679 609/678 610/680 -f 610/680 609/678 611/681 -f 609/678 603/670 611/681 -f 610/680 611/681 612/682 -f 610/680 612/682 613/683 -f 610/680 613/683 614/684 -f 611/681 603/670 615/685 -f 611/681 615/685 616/686 -f 603/670 606/673 615/685 -f 614/684 613/683 617/687 -f 614/684 617/687 618/688 -f 614/684 618/688 619/689 -f 614/684 619/689 620/690 -f 288/691 574/637 573/636 -f 287/692 288/691 573/636 -f 287/692 573/636 572/635 -f 288/691 289/693 574/637 -f 289/693 575/638 574/637 -f 289/693 290/694 575/638 -f 290/694 576/639 575/638 -f 290/694 291/695 576/639 -f 291/695 577/640 576/639 -f 291/695 292/696 577/640 -f 292/696 578/641 577/640 -f 292/696 293/697 578/641 -f 293/697 579/642 578/641 -f 293/697 294/698 579/642 -f 294/698 580/643 579/642 -f 294/698 295/699 580/643 -f 295/699 581/644 580/643 -f 295/699 296/700 581/644 -f 296/700 582/645 581/644 -f 296/700 297/701 582/645 -f 297/701 583/646 582/645 -f 297/701 298/702 583/646 -f 298/702 584/647 583/646 -f 298/702 299/703 584/647 -f 299/703 259/648 584/647 -f 299/703 257/704 259/648 -f 286/705 287/692 572/635 -f 286/705 572/635 571/634 -f 285/706 286/705 571/634 -f 285/706 571/634 570/632 -f 184/707 285/706 570/632 -f 184/707 570/632 183/633 -f 12/12 621/708 283/709 -f 12/12 10/10 621/708 -f 10/10 622/710 621/708 -f 10/10 8/8 622/710 -f 8/8 623/711 622/710 -f 8/8 6/6 623/711 -f 6/6 624/712 623/711 -f 6/6 1/1 624/712 -f 1/1 625/713 624/712 -f 1/1 4/4 625/713 -f 4/4 626/714 625/713 -f 4/4 13/13 626/714 -f 13/13 627/715 626/714 -f 13/13 15/15 627/715 -f 15/15 628/716 627/715 -f 15/15 17/17 628/716 -f 17/17 629/717 628/716 -f 17/17 19/19 629/717 -f 19/19 630/718 629/717 -f 19/19 21/21 630/718 -f 21/21 631/719 630/718 -f 21/21 23/23 631/719 -f 23/23 632/720 631/719 -f 23/23 25/25 632/720 -f 25/25 633/721 632/720 -f 25/25 27/27 633/721 -f 27/27 634/722 633/721 -f 27/27 29/29 634/722 -f 29/29 635/723 634/722 -f 29/29 31/31 635/723 -f 31/31 211/724 635/723 -f 31/31 33/33 211/724 -f 456/504 636/725 637/726 -f 453/499 456/504 637/726 -f 453/499 637/726 638/727 -f 456/504 458/506 636/725 -f 458/506 639/728 636/725 -f 458/506 460/508 639/728 -f 460/508 640/729 639/728 -f 460/508 462/510 640/729 -f 462/510 641/730 640/729 -f 462/510 464/512 641/730 -f 464/512 642/731 641/730 -f 464/512 466/514 642/731 -f 466/514 643/732 642/731 -f 466/514 468/516 643/732 -f 468/516 644/733 643/732 -f 468/516 470/518 644/733 -f 470/518 645/734 644/733 -f 470/518 472/520 645/734 -f 472/520 646/735 645/734 -f 472/520 474/522 646/735 -f 474/522 647/736 646/735 -f 474/522 476/524 647/736 -f 476/524 648/737 647/736 -f 476/524 478/526 648/737 -f 478/526 284/738 648/737 -f 478/526 280/528 284/738 -f 450/496 453/499 638/727 -f 450/496 638/727 649/739 -f 455/501 450/496 649/739 -f 455/501 649/739 650/740 -f 208/503 455/501 650/740 -f 208/503 650/740 210/741 -f 509/561 191/742 188/563 -f 509/561 651/743 191/742 -f 507/559 651/743 509/561 -f 651/743 200/744 191/742 -f 507/559 652/745 651/743 -f 651/743 653/746 200/744 -f 652/745 653/746 651/743 -f 505/557 652/745 507/559 -f 505/557 654/747 652/745 -f 652/745 655/748 653/746 -f 654/747 655/748 652/745 -f 653/746 410/448 201/450 -f 653/746 201/450 200/744 -f 655/748 410/448 653/746 -f 656/749 408/446 655/748 -f 655/748 408/446 410/448 -f 654/747 656/749 655/748 -f 503/555 657/750 654/747 -f 503/555 654/747 505/557 -f 657/750 656/749 654/747 -f 656/749 406/444 408/446 -f 657/750 658/751 656/749 -f 658/751 406/444 656/749 -f 501/553 659/752 657/750 -f 501/553 657/750 503/555 -f 659/752 658/751 657/750 -f 660/753 404/442 658/751 -f 658/751 404/442 406/444 -f 659/752 660/753 658/751 -f 499/551 661/754 659/752 -f 499/551 659/752 501/553 -f 661/754 660/753 659/752 -f 660/753 402/440 404/442 -f 661/754 662/755 660/753 -f 662/755 402/440 660/753 -f 497/549 663/756 661/754 -f 497/549 661/754 499/551 -f 663/756 662/755 661/754 -f 664/757 400/438 662/755 -f 662/755 400/438 402/440 -f 663/756 664/757 662/755 -f 665/758 664/757 663/756 -f 495/547 665/758 663/756 -f 495/547 663/756 497/549 -f 664/757 398/436 400/438 -f 665/758 666/759 664/757 -f 666/759 398/436 664/757 -f 493/545 667/760 665/758 -f 493/545 665/758 495/547 -f 667/760 666/759 665/758 -f 668/761 396/434 666/759 -f 666/759 396/434 398/436 -f 667/760 668/761 666/759 -f 491/543 669/762 667/760 -f 491/543 667/760 493/545 -f 669/762 668/761 667/760 -f 668/761 391/429 396/434 -f 669/762 670/763 668/761 -f 670/763 391/429 668/761 -f 489/541 671/764 669/762 -f 489/541 669/762 491/543 -f 671/764 670/763 669/762 -f 672/765 392/430 670/763 -f 670/763 392/430 391/429 -f 671/764 672/765 670/763 -f 487/539 673/766 671/764 -f 487/539 671/764 489/541 -f 673/766 672/765 671/764 -f 672/765 394/432 392/430 -f 673/766 674/767 672/765 -f 674/767 394/432 672/765 -f 484/534 675/768 673/766 -f 484/534 673/766 487/539 -f 675/768 674/767 673/766 -f 676/769 413/453 674/767 -f 674/767 413/453 394/432 -f 675/768 676/769 674/767 -f 482/532 677/770 675/768 -f 482/532 675/768 484/534 -f 677/770 676/769 675/768 -f 676/769 415/455 413/453 -f 677/770 678/771 676/769 -f 678/771 415/455 676/769 -f 481/531 679/772 677/770 -f 481/531 677/770 482/532 -f 679/772 678/771 677/770 -f 680/773 417/457 678/771 -f 678/771 417/457 415/455 -f 679/772 680/773 678/771 -f 262/536 261/774 679/772 -f 262/536 679/772 481/531 -f 261/774 680/773 679/772 -f 680/773 419/459 417/457 -f 261/774 271/775 680/773 -f 271/775 419/459 680/773 -f 271/775 270/461 419/459 -f 540/599 204/776 203/600 -f 540/599 681/777 204/776 -f 542/602 681/777 540/599 -f 681/777 207/778 204/776 -f 542/602 682/779 681/777 -f 681/777 683/780 207/778 -f 682/779 683/780 681/777 -f 544/604 682/779 542/602 -f 544/604 684/781 682/779 -f 682/779 685/782 683/780 -f 684/781 685/782 682/779 -f 683/780 451/497 212/502 -f 683/780 212/502 207/778 -f 685/782 451/497 683/780 -f 686/783 452/498 685/782 -f 685/782 452/498 451/497 -f 684/781 686/783 685/782 -f 687/784 686/783 684/781 -f 546/606 687/784 684/781 -f 546/606 684/781 544/604 -f 686/783 454/500 452/498 -f 687/784 688/785 686/783 -f 688/785 454/500 686/783 -f 548/608 689/786 687/784 -f 548/608 687/784 546/606 -f 689/786 688/785 687/784 -f 690/787 457/505 688/785 -f 688/785 457/505 454/500 -f 689/786 690/787 688/785 -f 550/610 691/788 689/786 -f 550/610 689/786 548/608 -f 691/788 690/787 689/786 -f 690/787 459/507 457/505 -f 691/788 692/789 690/787 -f 692/789 459/507 690/787 -f 552/612 693/790 691/788 -f 552/612 691/788 550/610 -f 693/790 692/789 691/788 -f 694/791 461/509 692/789 -f 692/789 461/509 459/507 -f 693/790 694/791 692/789 -f 554/614 695/792 693/790 -f 554/614 693/790 552/612 -f 695/792 694/791 693/790 -f 694/791 463/511 461/509 -f 695/792 696/793 694/791 -f 696/793 463/511 694/791 -f 556/616 697/794 695/792 -f 556/616 695/792 554/614 -f 697/794 696/793 695/792 -f 698/795 465/513 696/793 -f 697/794 698/795 696/793 -f 696/793 465/513 463/511 -f 558/618 699/796 697/794 -f 558/618 697/794 556/616 -f 699/796 698/795 697/794 -f 698/795 467/515 465/513 -f 699/796 700/797 698/795 -f 700/797 467/515 698/795 -f 560/620 701/798 699/796 -f 560/620 699/796 558/618 -f 701/798 700/797 699/796 -f 702/799 469/517 700/797 -f 700/797 469/517 467/515 -f 701/798 702/799 700/797 -f 703/800 702/799 701/798 -f 562/622 703/800 701/798 -f 562/622 701/798 560/620 -f 702/799 471/519 469/517 -f 703/800 704/801 702/799 -f 704/801 471/519 702/799 -f 564/624 705/802 703/800 -f 564/624 703/800 562/622 -f 705/802 704/801 703/800 -f 706/803 473/521 704/801 -f 704/801 473/521 471/519 -f 705/802 706/803 704/801 -f 566/626 707/804 705/802 -f 566/626 705/802 564/624 -f 707/804 706/803 705/802 -f 706/803 475/523 473/521 -f 707/804 708/805 706/803 -f 708/805 475/523 706/803 -f 568/628 709/806 707/804 -f 568/628 707/804 566/626 -f 709/806 708/805 707/804 -f 710/807 477/525 708/805 -f 708/805 477/525 475/523 -f 709/806 710/807 708/805 -f 274/630 273/808 709/806 -f 274/630 709/806 568/628 -f 273/808 710/807 709/806 -f 710/807 479/527 477/525 -f 273/808 277/809 710/807 -f 277/809 479/527 710/807 -f 277/809 281/529 479/527 -f 539/595 180/810 182/597 -f 539/595 711/811 180/810 -f 537/593 711/811 539/595 -f 711/811 179/812 180/810 -f 537/593 712/813 711/811 -f 711/811 713/814 179/812 -f 712/813 713/814 711/811 -f 535/591 712/813 537/593 -f 535/591 714/815 712/813 -f 712/813 715/816 713/814 -f 714/815 715/816 712/813 -f 713/814 428/470 185/472 -f 713/814 185/472 179/812 -f 715/816 428/470 713/814 -f 716/817 426/468 715/816 -f 715/816 426/468 428/470 -f 714/815 716/817 715/816 -f 717/818 716/817 714/815 -f 514/568 717/818 714/815 -f 514/568 714/815 535/591 -f 716/817 421/463 426/468 -f 717/818 718/819 716/817 -f 718/819 421/463 716/817 -f 512/566 719/820 717/818 -f 512/566 717/818 514/568 -f 719/820 718/819 717/818 -f 720/821 422/464 718/819 -f 718/819 422/464 421/463 -f 719/820 720/821 718/819 -f 511/565 721/822 719/820 -f 511/565 719/820 512/566 -f 721/822 720/821 719/820 -f 720/821 424/466 422/464 -f 721/822 722/823 720/821 -f 722/823 424/466 720/821 -f 516/570 723/824 721/822 -f 516/570 721/822 511/565 -f 723/824 722/823 721/822 -f 724/825 431/475 722/823 -f 722/823 431/475 424/466 -f 723/824 724/825 722/823 -f 518/572 725/826 723/824 -f 518/572 723/824 516/570 -f 725/826 724/825 723/824 -f 724/825 433/477 431/475 -f 725/826 726/827 724/825 -f 726/827 433/477 724/825 -f 520/574 727/828 725/826 -f 520/574 725/826 518/572 -f 727/828 726/827 725/826 -f 728/829 435/479 726/827 -f 727/828 728/829 726/827 -f 726/827 435/479 433/477 -f 522/576 729/830 727/828 -f 522/576 727/828 520/574 -f 729/830 728/829 727/828 -f 728/829 437/481 435/479 -f 729/830 730/831 728/829 -f 730/831 437/481 728/829 -f 524/578 731/832 729/830 -f 524/578 729/830 522/576 -f 731/832 730/831 729/830 -f 732/833 439/483 730/831 -f 730/831 439/483 437/481 -f 731/832 732/833 730/831 -f 733/834 732/833 731/832 -f 526/580 733/834 731/832 -f 526/580 731/832 524/578 -f 732/833 441/485 439/483 -f 733/834 734/835 732/833 -f 734/835 441/485 732/833 -f 528/582 735/836 733/834 -f 528/582 733/834 526/580 -f 735/836 734/835 733/834 -f 736/837 443/487 734/835 -f 734/835 443/487 441/485 -f 735/836 736/837 734/835 -f 530/584 737/838 735/836 -f 530/584 735/836 528/582 -f 737/838 736/837 735/836 -f 736/837 445/489 443/487 -f 737/838 738/839 736/837 -f 738/839 445/489 736/837 -f 532/586 739/840 737/838 -f 532/586 737/838 530/584 -f 739/840 738/839 737/838 -f 740/841 447/491 738/839 -f 738/839 447/491 445/489 -f 739/840 740/841 738/839 -f 258/588 255/842 739/840 -f 258/588 739/840 532/586 -f 255/842 740/841 739/840 -f 740/841 449/493 447/491 -f 255/842 254/843 740/841 -f 254/843 449/493 740/841 -f 254/843 252/495 449/493 -f 621/844 647/736 648/737 -f 283/845 621/844 648/737 -f 283/845 648/737 284/738 -f 621/844 622/846 647/736 -f 622/846 646/735 647/736 -f 622/846 623/847 646/735 -f 623/847 645/734 646/735 -f 623/847 624/848 645/734 -f 624/848 644/733 645/734 -f 624/848 625/849 644/733 -f 625/849 643/732 644/733 -f 625/849 626/850 643/732 -f 626/850 642/731 643/732 -f 626/850 627/851 642/731 -f 627/851 641/730 642/731 -f 627/851 628/852 641/730 -f 628/852 640/729 641/730 -f 628/852 629/853 640/729 -f 629/853 639/728 640/729 -f 629/853 630/854 639/728 -f 630/854 636/725 639/728 -f 630/854 631/855 636/725 -f 631/855 637/726 636/725 -f 631/855 632/856 637/726 -f 632/856 638/727 637/726 -f 632/856 633/857 638/727 -f 633/857 649/739 638/727 -f 633/857 634/858 649/739 -f 634/858 650/740 649/739 -f 634/858 635/859 650/740 -f 635/859 210/741 650/740 -f 635/859 211/860 210/741 -f 263/280 591/861 608/862 -f 263/280 265/283 591/861 -f 271/863 610/864 592/865 -f 271/863 261/866 610/864 -f 611/867 593/868 612/869 -f 612/869 593/868 595/870 -f 612/869 595/870 613/871 -f 611/867 587/872 593/868 -f 613/871 595/870 598/873 -f 613/871 598/873 617/874 -f 592/865 614/875 594/876 -f 592/865 610/864 614/875 -f 596/877 617/874 598/873 -f 596/877 618/878 617/874 -f 618/878 596/877 599/879 -f 618/878 599/879 619/880 -f 608/862 589/881 604/882 -f 604/882 589/881 590/883 -f 604/882 590/883 605/884 -f 608/862 591/861 589/881 -f 605/884 590/883 602/885 -f 605/884 602/885 606/886 -f 615/685 600/667 616/686 -f 615/685 601/668 600/667 -f 601/668 615/685 606/673 -f 601/668 606/673 602/669 -f 587/872 616/887 600/888 -f 587/872 611/867 616/887 -f 597/889 619/890 599/891 -f 597/889 620/892 619/890 -f 594/876 620/892 597/889 -f 594/876 614/875 620/892 diff --git a/minetestforfun_game/mods/boats/textures/boats_boat_wield.png b/minetestforfun_game/mods/boats/textures/boats_boat_wield.png deleted file mode 100755 index ca62b141..00000000 Binary files a/minetestforfun_game/mods/boats/textures/boats_boat_wield.png and /dev/null differ diff --git a/minetestforfun_game/mods/boats/textures/boats_inventory.png b/minetestforfun_game/mods/boats/textures/boats_inventory.png deleted file mode 100755 index e0756637..00000000 Binary files a/minetestforfun_game/mods/boats/textures/boats_inventory.png and /dev/null differ diff --git a/minetestforfun_game/mods/boats/textures/mboat_inventory.png b/minetestforfun_game/mods/boats/textures/mboat_inventory.png deleted file mode 100755 index e0756637..00000000 Binary files a/minetestforfun_game/mods/boats/textures/mboat_inventory.png and /dev/null differ diff --git a/minetestforfun_game/mods/boats/textures/mboat_wield.png b/minetestforfun_game/mods/boats/textures/mboat_wield.png deleted file mode 100755 index ca62b141..00000000 Binary files a/minetestforfun_game/mods/boats/textures/mboat_wield.png and /dev/null differ diff --git a/minetestforfun_game/mods/bucket/README.txt b/minetestforfun_game/mods/bucket/README.txt deleted file mode 100755 index a6674b43..00000000 --- a/minetestforfun_game/mods/bucket/README.txt +++ /dev/null @@ -1,26 +0,0 @@ -Minetest Game mod: bucket -========================= - -License of source code: ------------------------ -Copyright (C) 2011-2012 Kahrl -Copyright (C) 2011-2012 celeron55, Perttu Ahola - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -Authors of media files ------------------------ -Everything not listed in here: -Copyright (C) 2010-2012 celeron55, Perttu Ahola - - diff --git a/minetestforfun_game/mods/bucket/depends.txt b/minetestforfun_game/mods/bucket/depends.txt deleted file mode 100755 index 3a7daa1d..00000000 --- a/minetestforfun_game/mods/bucket/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default - diff --git a/minetestforfun_game/mods/bucket/init.lua b/minetestforfun_game/mods/bucket/init.lua deleted file mode 100755 index df8ea7ec..00000000 --- a/minetestforfun_game/mods/bucket/init.lua +++ /dev/null @@ -1,221 +0,0 @@ --- Minetest 0.4 mod: bucket --- See README.txt for licensing and other information. - -minetest.register_alias("bucket", "bucket:bucket_empty") -minetest.register_alias("bucket_water", "bucket:bucket_water") -minetest.register_alias("bucket_acid", "bucket:bucket_acid") -minetest.register_alias("bucket_lava", "bucket:bucket_lava") - -minetest.register_craft({ - output = 'bucket:bucket_empty 1', - recipe = { - {'group:ingot', '', 'group:ingot'}, - {'', 'group:ingot', ''}, - } -}) - -bucket = {} -bucket.liquids = {} - -local function check_protection(pos, name, text) - if minetest.is_protected(pos, name) then - minetest.log("action", (name ~= "" and name or "A mod") - .. " tried to " .. text - .. " at protected position " - .. minetest.pos_to_string(pos) - .. " with a bucket") - minetest.record_protection_violation(pos, name) - return true - end - return false -end - --- Register a new liquid --- source = name of the source node --- flowing = name of the flowing node --- itemname = name of the new bucket item (or nil if liquid is not takeable) --- inventory_image = texture of the new bucket item (ignored if itemname == nil) --- name = text description of the bucket item --- groups = (optional) groups of the bucket item, for example {water_bucket = 1} --- This function can be called from any mod (that depends on bucket). -function bucket.register_liquid(source, flowing, itemname, inventory_image, name, groups) - bucket.liquids[source] = { - source = source, - flowing = flowing, - itemname = itemname, - } - bucket.liquids[flowing] = bucket.liquids[source] - - if itemname ~= nil then - minetest.register_craftitem(itemname, { - description = name, - inventory_image = inventory_image, - stack_max = 1, - liquids_pointable = true, - groups = groups, - on_place = function(itemstack, user, pointed_thing) - -- Must be pointing to node - if pointed_thing.type ~= "node" then - return - end - - local node = minetest.get_node_or_nil(pointed_thing.under) - local ndef - if node then - ndef = minetest.registered_nodes[node.name] - end - -- Call on_rightclick if the pointed node defines it - if ndef and ndef.on_rightclick and - user and not user:get_player_control().sneak then - return ndef.on_rightclick( - pointed_thing.under, - node, user, - itemstack) or itemstack - end - - local place_liquid = function(pos, node, source, flowing) - if check_protection(pos, - user and user:get_player_name() or "", - "place "..source) then - return - end - minetest.add_node(pos, {name=source}) - end - - -- Check if pointing to a buildable node - if ndef and ndef.buildable_to then - -- buildable; replace the node - place_liquid(pointed_thing.under, node, - source, flowing) - else - -- not buildable to; place the liquid above - -- check if the node above can be replaced - local node = minetest.get_node_or_nil(pointed_thing.above) - if node and minetest.registered_nodes[node.name].buildable_to then - place_liquid(pointed_thing.above, - node, source, - flowing) - else - -- do not remove the bucket with the liquid - return - end - end - return {name="bucket:bucket_empty"} - end - }) - end -end - --- Empty Bucket code by Casimir. - -minetest.register_craftitem("bucket:bucket_empty", { - description = "Empty Bucket", - inventory_image = "bucket.png", - stack_max = 99, - liquids_pointable = true, - on_use = function(itemstack, user, pointed_thing) - -- Must be pointing to node - if pointed_thing.type ~= "node" then - return - end - -- Check if pointing to a liquid source - local node = minetest.get_node(pointed_thing.under) - local liquiddef = bucket.liquids[node.name] - local item_count = user:get_wielded_item():get_count() - - if liquiddef ~= nil - and liquiddef.itemname ~= nil - and node.name == liquiddef.source then - if check_protection(pointed_thing.under, - user:get_player_name(), - "take ".. node.name) then - return - end - - -- default set to return filled bucket - local giving_back = liquiddef.itemname - - -- check if holding more than 1 empty bucket - if item_count > 1 then - - -- if space in inventory add filled bucked, otherwise drop as item - local inv = user:get_inventory() - if inv:room_for_item("main", {name=liquiddef.itemname}) then - inv:add_item("main", liquiddef.itemname) - else - local pos = user:getpos() - pos.y = math.floor(pos.y + 0.5) - core.add_item(pos, liquiddef.itemname) - end - - -- set to return empty buckets minus 1 - giving_back = "bucket:bucket_empty "..tostring(item_count-1) - - end - - minetest.add_node(pointed_thing.under, {name="air"}) - - return ItemStack(giving_back) - end - end, -}) - -bucket.register_liquid( - "default:water_source", - "default:water_flowing", - "bucket:bucket_water", - "bucket_water.png", - "Water Bucket", - {water_bucket = 1, not_in_creative_inventory = 1} -) - -bucket.register_liquid( - "default:river_water_source", - "default:river_water_flowing", - "bucket:bucket_river_water", - "bucket_river_water.png", - "River Water Bucket", - {water_bucket = 1, not_in_creative_inventory = 1} -) - -bucket.register_liquid( - "default:lava_source", - "default:lava_flowing", - "bucket:bucket_lava", - "bucket_lava.png", - "Lava Bucket" -) - -bucket.register_liquid( - "default:acid_source", - "default:acid_flowing", - "bucket:bucket_acid", - "bucket_acid.png", - "Acid Bucket", - {not_in_creative_inventory = 1} -) - -bucket.register_liquid( - "default:sand_source", - "default:sand_flowing", - "bucket:bucket_sand", - "bucket_sand.png", - "Sand Bucket", - {not_in_creative_inventory = 1} -) - -minetest.register_craft({ - type = "fuel", - recipe = "bucket:bucket_lava", - burntime = 60, - replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, -}) - -minetest.register_craft({ - output = "bucket:bucket_sand", - recipe = { - {"group:sand"}, - {"group:sand"}, - {"bucket:bucket_water"}, - }, -}) diff --git a/minetestforfun_game/mods/bucket/textures/bucket.png b/minetestforfun_game/mods/bucket/textures/bucket.png deleted file mode 100755 index 17b0c493..00000000 Binary files a/minetestforfun_game/mods/bucket/textures/bucket.png and /dev/null differ diff --git a/minetestforfun_game/mods/bucket/textures/bucket_acid.png b/minetestforfun_game/mods/bucket/textures/bucket_acid.png deleted file mode 100755 index 86e58117..00000000 Binary files a/minetestforfun_game/mods/bucket/textures/bucket_acid.png and /dev/null differ diff --git a/minetestforfun_game/mods/bucket/textures/bucket_lava.png b/minetestforfun_game/mods/bucket/textures/bucket_lava.png deleted file mode 100755 index ac6108d9..00000000 Binary files a/minetestforfun_game/mods/bucket/textures/bucket_lava.png and /dev/null differ diff --git a/minetestforfun_game/mods/bucket/textures/bucket_river_water.png b/minetestforfun_game/mods/bucket/textures/bucket_river_water.png deleted file mode 100755 index d4648bb3..00000000 Binary files a/minetestforfun_game/mods/bucket/textures/bucket_river_water.png and /dev/null differ diff --git a/minetestforfun_game/mods/bucket/textures/bucket_sand.png b/minetestforfun_game/mods/bucket/textures/bucket_sand.png deleted file mode 100755 index efde998e..00000000 Binary files a/minetestforfun_game/mods/bucket/textures/bucket_sand.png and /dev/null differ diff --git a/minetestforfun_game/mods/bucket/textures/bucket_water.png b/minetestforfun_game/mods/bucket/textures/bucket_water.png deleted file mode 100755 index 5af836bc..00000000 Binary files a/minetestforfun_game/mods/bucket/textures/bucket_water.png and /dev/null differ diff --git a/minetestforfun_game/mods/creative/README.txt b/minetestforfun_game/mods/creative/README.txt deleted file mode 100755 index 82357f30..00000000 --- a/minetestforfun_game/mods/creative/README.txt +++ /dev/null @@ -1,12 +0,0 @@ -Minetest Game mod: creative -=========================== -See license.txt for license information. - -Authors of source code ----------------------- -Originally by Perttu Ahola (celeron55) (MIT) -Jean-Patrick G. (kilbith) (MIT) - -Author of media (textures) --------------------------- -Jean-Patrick G. (kilbith) (CC BY-SA 3.0) diff --git a/minetestforfun_game/mods/creative/depends.txt b/minetestforfun_game/mods/creative/depends.txt deleted file mode 100755 index 4ad96d51..00000000 --- a/minetestforfun_game/mods/creative/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/minetestforfun_game/mods/creative/init.lua b/minetestforfun_game/mods/creative/init.lua deleted file mode 100755 index cebbc2fa..00000000 --- a/minetestforfun_game/mods/creative/init.lua +++ /dev/null @@ -1,273 +0,0 @@ --- minetest/creative/init.lua - -creative = {} -local player_inventory = {} -local creative_mode = minetest.setting_getbool("creative_mode") - --- Create detached creative inventory after loading all mods -creative.init_creative_inventory = function(owner) - local owner_name = owner:get_player_name() - player_inventory[owner_name] = { - size = 0, - filter = "", - start_i = 1, - tab_id = 2, - } - - minetest.create_detached_inventory("creative_" .. owner_name, { - allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) - if creative_mode and not to_list == "main" then - return count - else - return 0 - end - end, - allow_put = function(inv, listname, index, stack, player) - return 0 - end, - allow_take = function(inv, listname, index, stack, player) - if creative_mode then - return -1 - else - return 0 - end - end, - on_move = function(inv, from_list, from_index, to_list, to_index, count, player) - end, - on_put = function(inv, listname, index, stack, player) - end, - on_take = function(inv, listname, index, stack, player) - local player_name, stack_name = player:get_player_name(), stack:get_name() - --print(player_name .. " takes item from creative inventory; listname = " .. listname .. ", index = " .. index .. ", stack = " .. dump(stack:to_table())) - if stack then - minetest.log("action", player_name .. " takes " .. stack_name .. " from creative inventory") - --print("Stack name: " .. stack_name .. ", Stack count: " .. stack:get_count()) - end - end, - }) - - creative.update_creative_inventory(owner_name) - --print("creative inventory size: " .. player_inventory[player_name].size) -end - -local function tab_category(tab_id) - local id_category = { - nil, -- Reserved for crafting tab. - minetest.registered_items, - minetest.registered_nodes, - minetest.registered_tools, - minetest.registered_craftitems - } - - -- If index out of range, show default ("All") page. - return id_category[tab_id] or id_category[2] -end - -function creative.update_creative_inventory(player_name) - local creative_list = {} - local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name}) - local inv = player_inventory[player_name] - - for name, def in pairs(tab_category(inv.tab_id)) do - if not (def.groups.not_in_creative_inventory == 1) and - def.description and def.description ~= "" and - (def.name:find(inv.filter, 1, true) or - def.description:lower():find(inv.filter, 1, true)) then - creative_list[#creative_list+1] = name - end - end - - table.sort(creative_list) - player_inv:set_size("main", #creative_list) - player_inv:set_list("main", creative_list) - inv.size = #creative_list -end - --- Create the trash field -local trash = minetest.create_detached_inventory("creative_trash", { - -- Allow the stack to be placed and remove it in on_put() - -- This allows the creative inventory to restore the stack - allow_put = function(inv, listname, index, stack, player) - if creative_mode then - return stack:get_count() - else - return 0 - end - end, - on_put = function(inv, listname) - inv:set_list(listname, {}) - end, -}) -trash:set_size("main", 1) - -creative.formspec_add = "" - -creative.set_creative_formspec = function(player, start_i) - local player_name = player:get_player_name() - local inv = player_inventory[player_name] - local pagenum = math.floor(start_i / (3*8) + 1) - local pagemax = math.ceil(inv.size / (3*8)) - - player:set_inventory_formspec([[ - size[8,8.6] - image[4.06,3.4;0.8,0.8;creative_trash_icon.png] - list[current_player;main;0,4.7;8,1;] - list[current_player;main;0,5.85;8,3;8] - list[detached:creative_trash;main;4,3.3;1,1;] - listring[] - tablecolumns[color;text;color;text] - tableoptions[background=#00000000;highlight=#00000000;border=false] - button[5.4,3.2;0.8,0.9;creative_prev;<] - button[7.25,3.2;0.8,0.9;creative_next;>] - button[2.1,3.4;0.8,0.5;creative_search;?] - button[2.75,3.4;0.8,0.5;creative_clear;X] - tooltip[creative_search;Search] - tooltip[creative_clear;Reset] - listring[current_player;main] - ]] .. - "field[0.3,3.5;2.2,1;creative_filter;;" .. minetest.formspec_escape(inv.filter) .. "]" .. - "field_close_on_enter[creative_filter;false]" .. - "listring[detached:creative_" .. player_name .. ";main]" .. - "tabheader[0,0;creative_tabs;Crafting,All,Nodes,Tools,Items;" .. tostring(inv.tab_id) .. ";true;false]" .. - "list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. - "table[6.05,3.35;1.15,0.5;pagenum;#FFFF00," .. tostring(pagenum) .. ",#FFFFFF,/ " .. tostring(pagemax) .. "]" .. - default.get_hotbar_bg(0,4.7) .. - default.gui_bg .. default.gui_bg_img .. default.gui_slots - .. creative.formspec_add - ) -end - -creative.set_crafting_formspec = function(player) - player:set_inventory_formspec([[ - size[8,8.6] - list[current_player;craft;2,0.75;3,3;] - list[current_player;craftpreview;6,1.75;1,1;] - list[current_player;main;0,4.7;8,1;] - list[current_player;main;0,5.85;8,3;8] - list[detached:creative_trash;main;0,2.75;1,1;] - image[0.06,2.85;0.8,0.8;creative_trash_icon.png] - image[5,1.75;1,1;gui_furnace_arrow_bg.png^[transformR270] - tabheader[0,0;creative_tabs;Crafting,All,Nodes,Tools,Items;1;true;false] - listring[current_player;main] - listring[current_player;craft] - ]] .. - default.get_hotbar_bg(0,4.7) .. - default.gui_bg .. default.gui_bg_img .. default.gui_slots - ) -end - -minetest.register_on_joinplayer(function(player) - -- If in creative mode, modify player's inventory forms - if not creative_mode then - return - end - creative.init_creative_inventory(player) - creative.set_creative_formspec(player, 0) -end) - -minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "" or not creative_mode then - return - end - - local player_name = player:get_player_name() - local inv = player_inventory[player_name] - - -- If creative is turned on mid game - if not inv then - creative.init_creative_inventory(player) - creative.set_creative_formspec(player, 0) - return - end - - if fields.quit then - if inv.tab_id == 1 then - creative.set_crafting_formspec(player) - end - elseif fields.creative_tabs then - local tab = tonumber(fields.creative_tabs) - inv.tab_id = tab - player_inventory[player_name].start_i = 1 - - if tab == 1 then - creative.set_crafting_formspec(player) - else - creative.update_creative_inventory(player_name) - creative.set_creative_formspec(player, 0) - end - elseif fields.creative_clear then - player_inventory[player_name].start_i = 1 - inv.filter = "" - creative.update_creative_inventory(player_name) - creative.set_creative_formspec(player, 0) - elseif fields.creative_search or - fields.key_enter_field == "creative_filter" then - player_inventory[player_name].start_i = 1 - inv.filter = fields.creative_filter:lower() - creative.update_creative_inventory(player_name) - creative.set_creative_formspec(player, 0) - else - local start_i = player_inventory[player_name].start_i or 0 - - if fields.creative_prev then - start_i = start_i - 3*8 - if start_i < 0 then - start_i = inv.size - (inv.size % (3*8)) - if inv.size == start_i then - start_i = math.max(0, inv.size - (3*8)) - end - end - elseif fields.creative_next then - start_i = start_i + 3*8 - if start_i >= inv.size then - start_i = 0 - end - end - - player_inventory[player_name].start_i = start_i - creative.set_creative_formspec(player, start_i) - end -end) - -if creative_mode then - local digtime = 0.5 - local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 3} - - minetest.register_item(":", { - type = "none", - wield_image = "wieldhand.png", - wield_scale = {x = 1, y = 1, z = 2.5}, - range = 10, - tool_capabilities = { - full_punch_interval = 0.5, - max_drop_level = 3, - groupcaps = { - crumbly = caps, - cracky = caps, - snappy = caps, - choppy = caps, - oddly_breakable_by_hand = caps, - }, - damage_groups = {fleshy = 10}, - } - }) - - minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) - return - end) - - function minetest.handle_node_drops(pos, drops, digger) - if not digger or not digger:is_player() then - return - end - local inv = digger:get_inventory() - if inv then - for _, item in ipairs(drops) do - item = ItemStack(item):get_name() - if not inv:contains_item("main", item) then - inv:add_item("main", item) - end - end - end - end -end diff --git a/minetestforfun_game/mods/creative/license.txt b/minetestforfun_game/mods/creative/license.txt deleted file mode 100644 index 4ad1d5ff..00000000 --- a/minetestforfun_game/mods/creative/license.txt +++ /dev/null @@ -1,60 +0,0 @@ -License of source code ----------------------- - -The MIT License (MIT) -Copyright (C) 2012-2016 Perttu Ahola (celeron55) -Copyright (C) 2015-2016 Jean-Patrick G. (kilbith) - -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) 2016 Jean-Patrick G. (kilbith) - -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/minetestforfun_game/mods/creative/textures/creative_trash_icon.png b/minetestforfun_game/mods/creative/textures/creative_trash_icon.png deleted file mode 100644 index e789ad63..00000000 Binary files a/minetestforfun_game/mods/creative/textures/creative_trash_icon.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/README.txt b/minetestforfun_game/mods/default/README.txt deleted file mode 100755 index d316f08e..00000000 --- a/minetestforfun_game/mods/default/README.txt +++ /dev/null @@ -1,246 +0,0 @@ -Minetest Game mod: default -========================== -See license.txt for license information. - -Authors of source code ----------------------- -Originally by celeron55, Perttu Ahola (LGPL 2.1) -Various Minetest developers and contributors (LGPL 2.1) - -Authors of media (textures, models and sounds) ----------------------------------------------- -Everything not listed in here: -celeron55, Perttu Ahola (CC BY-SA 3.0) - -Cisoun's texture pack (CC BY-SA 3.0): - default_jungletree.png - default_lava.png - default_leaves.png - default_sapling.png - default_stone.png - default_tree.png - default_tree_top.png - default_water.png - -Cisoun's conifers mod (CC BY-SA 3.0): - default_pine_needles.png - -Originating from G4JC's Almost MC Texture Pack (CC BY-SA 3.0): - default_torch.png - default_torch_on_ceiling.png - default_torch_on_floor.png - -VanessaE's animated torches (CC BY-SA 3.0): - default_torch_animated.png - default_torch_on_ceiling_animated.png - default_torch_on_floor_animated.png - default_torch_on_floor.png - -RealBadAngel's animated water (CC BY-SA 3.0): - default_water_source_animated.png - default_water_flowing_animated.png - -VanessaE (CC BY-SA 3.0): - default_desert_sand.png - default_desert_stone.png - default_sand.png - default_mese_crystal.png - default_mese_crystal_fragment.png - -Calinou (CC BY-SA 3.0): - default_brick.png - default_papyrus.png - default_mineral_copper.png - default_glass_detail.png - default_tool_goldsword.png - -MirceaKitsune (CC BY-SA 3.0): - character.x - -Jordach (CC BY-SA 3.0): - character.png - -PilzAdam (CC BY-SA 3.0): - default_jungleleaves.png - default_junglesapling.png - default_obsidian_glass.png - default_obsidian_shard.png - default_mineral_gold.png - default_snowball.png - -jojoa1997 (CC BY-SA 3.0): - default_obsidian.png - -InfinityProject (CC BY-SA 3.0): - default_mineral_diamond.png - -Splizard (CC BY-SA 3.0): - default_snow.png - default_snow_side.png - default_pine_sapling.png - -Zeg9 (CC BY-SA 3.0): - default_coal_block.png - default_steel_block.png - default_copper_block.png - default_bronze_block.png - default_gold_block.png - -paramat (CC BY-SA 3.0): - wieldhand.png -- Copied from character.png by Jordach (CC BY-SA 3.0) - default_pinetree.png - default_pinetree_top.png - default_pinewood.png - default_acacia_leaves.png - default_acacia_leaves_simple.png - default_acacia_sapling.png - default_acacia_tree.png - default_acacia_tree_top.png - default_acacia_wood.png - default_acacia_bush_stem.png - default_bush_stem.png - default_junglewood.png - default_jungletree_top.png - default_sandstone_brick.png - default_obsidian_brick.png - default_stone_brick.png - default_desert_stone_brick.png - default_sandstone_block.png - default_obsidian_block.png - default_stone_block.png - default_desert_stone_block.png - default_river_water.png - default_river_water_source_animated.png - default_river_water_flowing_animated.png - default_dry_grass.png - default_dry_grass_side.png - default_dry_grass_*.png - default_grass.png - default_grass_side.png - default_snow_side.png - default_mese_block.png - default_silver_sand.png - -brunob.santos (CC BY-SA 4.0): - default_desert_cobble.png - -BlockMen (CC BY-SA 3.0): - default_wood.png - default_clay_brick.png - default_iron_ingot.png - default_gold_ingot.png - default_tool_steelsword.png - default_diamond.png - default_book.png - default_tool_*.png - default_lava_source_animated.png - default_lava_flowing_animated.png - default_stick.png - default_chest_front.png - default_chest_lock.png - default_chest_side.png - default_chest_top.png - default_mineral_mese.png - default_meselamp.png - bubble.png - heart.png - gui_*.png - -Wuzzy (CC BY-SA 3.0): - default_bookshelf_slot.png (based on default_book.png) - -sofar (CC BY-SA 3.0): - default_book_written.png, based on default_book.png - default_aspen_sapling - default_aspen_leaves - default_aspen_tree - default_aspen_tree_top, derived from default_pine_tree_top (by paramat) - default_aspen_wood, derived from default_pine_wood (by paramat) - -sofar (WTFPL): - default_gravel.png -- Derived from Gambit's PixelBOX texture pack light gravel - -Neuromancer (CC BY-SA 2.0): - default_cobble.png, based on texture by Brane praefect - default_mossycobble.png, based on texture by Brane praefect - -Neuromancer (CC BY-SA 3.0): - default_dirt.png - default_furnace_*.png - -Gambit (CC BY-SA 3.0): - default_bronze_ingot.png - default_copper_ingot.png - default_copper_lump.png - default_iron_lump.png - default_gold_lump.png - default_clay_lump.png - default_coal.png - default_grass_*.png - default_paper.png - default_diamond_block.png - default_ladder_steel.png - default_sign_wall_wood.png - default_flint.png - default_snow.png - default_snow_side.png - default_snowball.png - -asl97 (CC BY-SA 3.0): - default_ice.png - -KevDoy (CC BY-SA 3.0) - heart.png - -Pithydon (CC BY-SA 3.0) - default_coral_brown.png - default_coral_orange.png - default_coral_skeleton.png - -Ferk (CC0 1.0) - default_item_smoke.png - default_item_smoke.ogg, based on sound by http://opengameart.org/users/bart - -Glass breaking sounds (CC BY 3.0): - 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ - 2: http://www.freesound.org/people/Tomlija/sounds/97669/ - 3: http://www.freesound.org/people/lsprice/sounds/88808/ - -sonictechtonic (CC BY 3.0): -https://www.freesound.org/people/sonictechtonic/sounds/241872/ - player_damage.ogg - -Mito551 (sounds) (CC BY-SA 3.0): - default_dig_choppy.ogg - default_dig_cracky.ogg - default_dig_crumbly.1.ogg - default_dig_crumbly.2.ogg - default_dig_dig_immediate.ogg - default_dig_oddly_breakable_by_hand.ogg - default_dug_node.1.ogg - default_dug_node.2.ogg - default_grass_footstep.1.ogg - default_grass_footstep.2.ogg - default_grass_footstep.3.ogg - default_gravel_footstep.1.ogg - default_gravel_footstep.2.ogg - default_gravel_footstep.3.ogg - default_gravel_footstep.4.ogg - default_grass_footstep.1.ogg - default_place_node.1.ogg - default_place_node.2.ogg - default_place_node.3.ogg - default_place_node_hard.1.ogg - default_place_node_hard.2.ogg - default_snow_footstep.1.ogg - default_snow_footstep.2.ogg - default_hard_footstep.1.ogg - default_hard_footstep.2.ogg - default_hard_footstep.3.ogg - default_sand_footstep.1.ogg - default_sand_footstep.2.ogg - default_wood_footstep.1.ogg - default_wood_footstep.2.ogg - default_dirt_footstep.1.ogg - default_dirt_footstep.2.ogg - default_glass_footstep.ogg diff --git a/minetestforfun_game/mods/default/aliases.lua b/minetestforfun_game/mods/default/aliases.lua deleted file mode 100755 index bd6f5925..00000000 --- a/minetestforfun_game/mods/default/aliases.lua +++ /dev/null @@ -1,100 +0,0 @@ --- mods/default/aliases.lua - --- Aliases to support loading worlds using nodes following the old naming convention --- These can also be helpful when using chat commands, for example /giveme -minetest.register_alias("stone", "default:stone") -minetest.register_alias("stone_with_coal", "default:stone_with_coal") -minetest.register_alias("stone_with_iron", "default:stone_with_iron") -minetest.register_alias("dirt_with_grass", "default:dirt_with_grass") -minetest.register_alias("dirt_with_grass_footsteps", "default:dirt_with_grass_footsteps") -minetest.register_alias("dirt", "default:dirt") -minetest.register_alias("sand", "default:sand") -minetest.register_alias("gravel", "default:gravel") -minetest.register_alias("sandstone", "default:sandstone") -minetest.register_alias("clay", "default:clay") -minetest.register_alias("brick", "default:brick") -minetest.register_alias("tree", "default:tree") -minetest.register_alias("jungletree", "default:jungletree") -minetest.register_alias("junglegrass", "default:junglegrass") -minetest.register_alias("leaves", "default:leaves") -minetest.register_alias("cactus", "default:cactus") -minetest.register_alias("papyrus", "default:papyrus") -minetest.register_alias("bookshelf", "default:bookshelf") -minetest.register_alias("glass", "default:glass") -minetest.register_alias("wooden_fence", "default:fence_wood") -minetest.register_alias("rail", "default:rail") -minetest.register_alias("ladder", "default:ladder_wood") -minetest.register_alias("wood", "default:wood") -minetest.register_alias("mese", "default:mese") -minetest.register_alias("cloud", "default:cloud") -minetest.register_alias("water_flowing", "default:water_flowing") -minetest.register_alias("water_source", "default:water_source") -minetest.register_alias("lava_flowing", "default:lava_flowing") -minetest.register_alias("lava_source", "default:lava_source") -minetest.register_alias("torch", "default:torch") -minetest.register_alias("sign_wall", "default:sign_wall_wood") -minetest.register_alias("furnace", "default:furnace") -minetest.register_alias("chest", "default:chest") -minetest.register_alias("locked_chest", "default:chest_locked") -minetest.register_alias("cobble", "default:cobble") -minetest.register_alias("mossycobble", "default:mossycobble") -minetest.register_alias("steelblock", "default:steelblock") -minetest.register_alias("sapling", "default:sapling") -minetest.register_alias("apple", "default:apple") - -minetest.register_alias("WPick", "default:pick_wood") -minetest.register_alias("STPick", "default:pick_stone") -minetest.register_alias("SteelPick", "default:pick_steel") -minetest.register_alias("MesePick", "default:pick_mese") -minetest.register_alias("WShovel", "default:shovel_wood") -minetest.register_alias("STShovel", "default:shovel_stone") -minetest.register_alias("SteelShovel", "default:shovel_steel") -minetest.register_alias("WAxe", "default:axe_wood") -minetest.register_alias("STAxe", "default:axe_stone") -minetest.register_alias("SteelAxe", "default:axe_steel") -minetest.register_alias("WSword", "default:sword_wood") -minetest.register_alias("STSword", "default:sword_stone") -minetest.register_alias("SteelSword", "default:sword_steel") - -minetest.register_alias("Stick", "default:stick") -minetest.register_alias("paper", "default:paper") -minetest.register_alias("book", "default:book") -minetest.register_alias("lump_of_coal", "default:coal_lump") -minetest.register_alias("lump_of_iron", "default:iron_lump") -minetest.register_alias("lump_of_clay", "default:clay_lump") -minetest.register_alias("steel_ingot", "default:steel_ingot") -minetest.register_alias("clay_brick", "default:clay_brick") -minetest.register_alias("snow", "default:snow") - --- 'mese_block' was used for a while for the block form of mese -minetest.register_alias("default:mese_block", "default:mese") - --- Aliases for corrected pine node names -minetest.register_alias("default:pinetree", "default:pine_tree") -minetest.register_alias("default:pinewood", "default:pine_wood") - -minetest.register_alias("default:ladder", "default:ladder_wood") -minetest.register_alias("default:sign_wall", "default:sign_wall_wood") - --- Those lines are for moreores integration -minetest.register_alias("moreores:pick_silver", "default:pick_silver") -minetest.register_alias("moreores:pick_mithril", "default:pick_mithril") -minetest.register_alias("moreores:shovel_silver", "default:shovel_silver") -minetest.register_alias("moreores:shovel_mithril", "default:shovel_mithril") -minetest.register_alias("moreores:axe_silver", "default:axe_silver") -minetest.register_alias("moreores:axe_mithril", "default:axe_mithril") -minetest.register_alias("moreores:sword_silver", "default:sword_silver") -minetest.register_alias("moreores:sword_mithril", "default:sword_mithril") -minetest.register_alias("moreores:mineral_silver", "default:stone_with_silver") -minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin") -minetest.register_alias("moreores:mineral_mithril", "default:stone_with_mithril") -minetest.register_alias("moreores:mithril_ingot", "default:mithril_ingot") -minetest.register_alias("moreores:silver_ingot", "default:silver_ingot") -minetest.register_alias("moreores:tin_ingot", "default:tin_ingot") -minetest.register_alias("moreores:mithril_lump", "default:mithril_lump") -minetest.register_alias("moreores:silver_lump", "default:silver_lump") -minetest.register_alias("moreores:tin_lump", "default:tin_lump") -minetest.register_alias("moreores:mithril_block", "default:mithrilblock") -minetest.register_alias("moreores:silver_block", "default:silverblock") -minetest.register_alias("moreores:tin_block", "default:tinblock") - diff --git a/minetestforfun_game/mods/default/crafting.lua b/minetestforfun_game/mods/default/crafting.lua deleted file mode 100755 index b84eb4a7..00000000 --- a/minetestforfun_game/mods/default/crafting.lua +++ /dev/null @@ -1,1379 +0,0 @@ --- mods/default/crafting.lua - -minetest.register_craft({ - output = 'default:wood 4', - recipe = { - {'default:tree'}, - } -}) - -minetest.register_craft({ - output = 'default:cherry_plank 6', - recipe = { - {'default:cherry_log'}, - } -}) - -minetest.register_craft({ - output = 'default:junglewood 4', - recipe = { - {'default:jungletree'}, - } -}) - -minetest.register_craft({ - output = 'default:pine_wood 4', - recipe = { - {'default:pine_tree'}, - } -}) - -minetest.register_craft({ - output = 'default:acacia_wood 4', - recipe = { - {'default:acacia_tree'}, - } -}) - -minetest.register_craft({ - output = 'default:aspen_wood 4', - recipe = { - {'default:aspen_tree'}, - } -}) - -minetest.register_craft({ - output = 'default:wood', - recipe = { - {'default:bush_stem'}, - } -}) - -minetest.register_craft({ - output = 'default:acacia_wood', - recipe = { - {'default:acacia_bush_stem'}, - } -}) - -minetest.register_craft({ - output = 'default:stick 9', - recipe = { - {'group:wood'}, - } -}) - -minetest.register_craft({ - output = 'default:sign_wall_steel 3', - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:sign_wall_wood 3', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:torch 4', - recipe = { - {'default:coal_lump'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:pick_wood', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_stone', - recipe = { - {'group:stone', 'group:stone', 'group:stone'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_bronze', - recipe = { - {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_silver', - recipe = { - {'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_gold', - recipe = { - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_mese', - recipe = { - {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_mithril', - recipe = { - {'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_diamond', - recipe = { - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_nyan', - recipe = { - {'default:nyancat', 'default:nyancat', 'default:nyancat'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_wood', - recipe = { - {'group:wood'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_stone', - recipe = { - {'group:stone'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_steel', - recipe = { - {'default:steel_ingot'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_bronze', - recipe = { - {'default:bronze_ingot'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_silver', - recipe = { - {'default:silver_ingot'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_gold', - recipe = { - {'default:gold_ingot'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_mese', - recipe = { - {'default:mese_crystal'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_mithril', - recipe = { - {'default:mithril_ingot'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_diamond', - recipe = { - {'default:diamond'}, - {'group:stick'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = "default:shovel_nyan", - recipe = { - {"default:nyancat"}, - {"group:stick"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = 'default:axe_wood', - recipe = { - {'group:wood', 'group:wood'}, - {'group:wood', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_stone', - recipe = { - {'group:stone', 'group:stone'}, - {'group:stone', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_bronze', - recipe = { - {'default:bronze_ingot', 'default:bronze_ingot'}, - {'default:bronze_ingot', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_silver', - recipe = { - {'default:silver_ingot', 'default:silver_ingot'}, - {'default:silver_ingot', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = "default:axe_gold", - recipe = { - {"default:gold_ingot", "default:gold_ingot"}, - {"default:gold_ingot", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = 'default:axe_mese', - recipe = { - {'default:mese_crystal', 'default:mese_crystal'}, - {'default:mese_crystal', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_mithril', - recipe = { - {'default:mithril_ingot', 'default:mithril_ingot'}, - {'default:mithril_ingot', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_diamond', - recipe = { - {'default:diamond', 'default:diamond'}, - {'default:diamond', 'group:stick'}, - {'', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = "default:axe_nyan", - recipe = { - {"default:nyancat", "default:nyancat"}, - {"default:nyancat", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = 'default:axe_wood', - recipe = { - {'group:wood', 'group:wood'}, - {'group:stick', 'group:wood'}, - {'group:stick',''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_stone', - recipe = { - {'group:stone', 'group:stone'}, - {'group:stick', 'group:stone'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot'}, - {'group:stick', 'default:steel_ingot'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_bronze', - recipe = { - {'default:bronze_ingot', 'default:bronze_ingot'}, - {'group:stick', 'default:bronze_ingot'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_silver', - recipe = { - {'default:silver_ingot', 'default:silver_ingot'}, - {'group:stick', 'default:silver_ingot'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_gold', - recipe = { - {'default:gold_ingot', 'default:gold_ingot'}, - {'group:stick', 'default:gold_ingot'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_mese', - recipe = { - {'default:mese_crystal', 'default:mese_crystal'}, - {'group:stick', 'default:mese_crystal'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_mithril', - recipe = { - {'default:mithril_ingot', 'default:mithril_ingot'}, - {'group:stick', 'default:mithril_ingot'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_diamond', - recipe = { - {'default:diamond', 'default:diamond'}, - {'group:stick', 'default:diamond'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:axe_nyan', - recipe = { - {'default:nyancat', 'default:nyancat'}, - {'group:stick', 'default:nyancat'}, - {'group:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:sword_wood', - recipe = { - {'group:wood'}, - {'group:wood'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_stone', - recipe = { - {'group:stone'}, - {'group:stone'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_steel', - recipe = { - {'default:steel_ingot'}, - {'default:steel_ingot'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_bronze', - recipe = { - {'default:bronze_ingot'}, - {'default:bronze_ingot'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_silver', - recipe = { - {'default:silver_ingot'}, - {'default:silver_ingot'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = "default:sword_gold", - recipe = { - {"default:gold_ingot"}, - {"default:gold_ingot"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = 'default:sword_mese', - recipe = { - {'default:mese_crystal'}, - {'default:mese_crystal'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_mithril', - recipe = { - {'default:mithril_ingot'}, - {'default:mithril_ingot'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_diamond', - recipe = { - {'default:diamond'}, - {'default:diamond'}, - {'group:stick'}, - } -}) - -minetest.register_craft({ - output = "default:sword_nyan", - recipe = { - {"default:nyancat"}, - {"default:nyancat"}, - {"group:stick"}, - } -}) - - -minetest.register_craft({ -- Ultimate Warrior weapon - output = 'default:dungeon_master_s_blood_sword', - recipe = { - {"mobs:dungeon_master_blood", "nether:white", "mobs:dungeon_master_blood"}, - {"mobs:dungeon_master_blood", "mobs:dungeon_master_diamond", "mobs:dungeon_master_blood"}, - {"default:mithrilblock", "mobs:zombie_tibia", "default:mithrilblock"}, - } -}) - -minetest.register_craft({ - output = 'default:rail 24', - recipe = { - {'default:steel_ingot', '', 'default:steel_ingot'}, - {'default:steel_ingot', 'group:stick', 'default:steel_ingot'}, - {'default:steel_ingot', '', 'default:steel_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:chest', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', '', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - } -}) - -minetest.register_craft({ - output = 'default:chest_locked', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:ingot', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - } -}) - -minetest.register_craft({ - type = "shapeless", - output = "default:chest_locked", - recipe = {"default:chest", "group:ingot"}, -}) - -minetest.register_craft({ - output = 'default:furnace', - recipe = { - {'group:stone', 'group:stone', 'group:stone'}, - {'group:stone', '', 'group:stone'}, - {'group:stone', 'group:stone', 'group:stone'}, - } -}) - -minetest.register_craft({ - output = "default:furnace_locked", - recipe = { - {"group:stone", "group:stone", "group:stone"}, - {"group:stone", "group:ingot", "group:stone"}, - {"group:stone", "group:stone", "group:stone"}, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "default:furnace_locked", - recipe = {"default:furnace", "group:ingot"}, -}) - -minetest.register_craft({ - type = "shapeless", - output = "default:bronze_ingot", - recipe = {"default:steel_ingot", "default:copper_ingot"}, -}) - -minetest.register_craft({ - type = "shapeless", - output = "default:bronze_ingot 3", - recipe = { - "default:tin_ingot", - "default:copper_ingot", - "default:copper_ingot", - } -}) - -minetest.register_craft({ - output = 'default:coalblock', - recipe = { - {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, - {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, - {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, - } -}) - -minetest.register_craft({ - output = 'default:coal_lump 9', - recipe = { - {'default:coalblock'}, - } -}) - -minetest.register_craft({ - output = 'default:steelblock', - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:steel_ingot 9', - recipe = { - {'default:steelblock'}, - } -}) - -minetest.register_craft({ - output = 'default:copperblock', - recipe = { - {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, - {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, - {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:copper_ingot 9', - recipe = { - {'default:copperblock'}, - } -}) - -minetest.register_craft({ - output = 'default:tinblock', - recipe = { - {'default:tin_ingot', 'default:tin_ingot', 'default:tin_ingot'}, - {'default:tin_ingot', 'default:tin_ingot', 'default:tin_ingot'}, - {'default:tin_ingot', 'default:tin_ingot', 'default:tin_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:tin_ingot 9', - recipe = { - {'default:tinblock'}, - } -}) - - -minetest.register_craft({ - output = 'default:bronzeblock', - recipe = { - {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, - {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, - {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:bronze_ingot 9', - recipe = { - {'default:bronzeblock'}, - } -}) - -minetest.register_craft({ - output = 'default:silverblock', - recipe = { - {'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'}, - {'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'}, - {'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:silver_ingot 9', - recipe = { - {'default:silverblock'}, - } -}) - -minetest.register_craft({ - output = 'default:goldblock', - recipe = { - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:mithrilblock', - recipe = { - {'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'}, - {'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'}, - {'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:mithril_ingot 9', - recipe = { - {'default:mithrilblock'}, - } -}) - -minetest.register_craft({ - output = 'default:gold_ingot 9', - recipe = { - {'default:goldblock'}, - } -}) - -minetest.register_craft({ - output = 'default:diamondblock', - recipe = { - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'default:diamond', 'default:diamond', 'default:diamond'}, - } -}) - -minetest.register_craft({ - output = 'default:diamond 9', - recipe = { - {'default:diamondblock'}, - } -}) - -minetest.register_craft({ - output = 'default:sandstone 2', - recipe = { - {'default:sand', 'default:sand'}, - {'default:sand', 'default:sand'}, - } -}) - -minetest.register_craft({ - output = 'default:sand 4', - recipe = { - {'default:sandstone'}, - } -}) - -minetest.register_craft({ - output = 'default:sandstonebrick 4', - recipe = { - {'default:sandstone', 'default:sandstone'}, - {'default:sandstone', 'default:sandstone'}, - } -}) - - -minetest.register_craft({ - output = "default:desert_sand", - recipe = { - {"default:sand"}, - } -}) - -minetest.register_craft({ - output = 'default:sandstone_block 9', - recipe = { - {'default:sandstone', 'default:sandstone', 'default:sandstone'}, - {'default:sandstone', 'default:sandstone', 'default:sandstone'}, - {'default:sandstone', 'default:sandstone', 'default:sandstone'}, - } -}) - -minetest.register_craft({ - output = "default:cactus 2", - recipe = { - {"default:cactus_spiky", "default:cactus_spiky"}, - }, -}) - -minetest.register_craft({ - output = "default:cactus_spiky 2", - recipe = { - {"default:cactus", "default:cactus"}, - }, -}) - -minetest.register_craft({ - output = 'default:clay', - recipe = { - {'default:clay_lump', 'default:clay_lump'}, - {'default:clay_lump', 'default:clay_lump'}, - } -}) - -minetest.register_craft({ - output = 'default:clay_lump 4', - recipe = { - {'default:clay'}, - } -}) - -minetest.register_craft({ - output = 'default:brick', - recipe = { - {'default:clay_brick', 'default:clay_brick'}, - {'default:clay_brick', 'default:clay_brick'}, - } -}) - -minetest.register_craft({ - output = 'default:clay_brick 4', - recipe = { - {'default:brick'}, - } -}) - -minetest.register_craft({ - output = 'default:paper', - recipe = { - {'default:papyrus', 'default:papyrus', 'default:papyrus'}, - } -}) - -minetest.register_craft({ - output = 'default:book', - recipe = { - {'default:paper'}, - {'default:paper'}, - {'default:paper'}, - } -}) - -minetest.register_craft({ - output = 'default:bookshelf', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'default:book', 'default:book', 'default:book'}, - {'group:wood', 'group:wood', 'group:wood'}, - } -}) - -minetest.register_craft({ - output = 'default:ladder_wood 3', - recipe = { - {'group:stick', '', 'group:stick'}, - {'group:stick', 'group:stick', 'group:stick'}, - {'group:stick', '', 'group:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:ladder_steel 15', - recipe = { - {'default:steel_ingot', '', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', '', 'default:steel_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:mese', - recipe = { - {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, - {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, - {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, - } -}) - -minetest.register_craft({ - output = 'default:mese_crystal 9', - recipe = { - {'default:mese'}, - } -}) - -minetest.register_craft({ - output = 'default:mese_crystal_fragment 9', - recipe = { - {'default:mese_crystal'}, - } -}) - -minetest.register_craft({ - output = "default:mese_crystal", - recipe = { - {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, - {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, - {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, - } -}) - -minetest.register_craft({ - output = "default:sand", - recipe = { - {"default:gravel"}, - } -}) - -minetest.register_craft({ - output = "default:dirt 4", - type = "shapeless", - recipe = {"default:gravel", "default:gravel", "default:gravel", "default:gravel"} -}) - -minetest.register_craft({ - output = "default:gravel", - recipe = { - {"default:cobble"}, - } -}) - -minetest.register_craft({ - output = "default:desert_stone 2", - recipe = { - {"default:desert_sand", "default:desert_sand"}, - {"default:desert_sand", "default:desert_sand"}, - } -}) - - -minetest.register_craft({ - output = 'default:meselamp 1', - recipe = { - {'', 'default:mese_crystal',''}, - {'default:mese_crystal', 'default:glass', 'default:mese_crystal'}, - } -}) - -minetest.register_craft({ - output = 'default:obsidian_shard 9', - recipe = { - {'default:obsidian'} - } -}) - -minetest.register_craft({ - output = 'default:obsidian', - recipe = { - {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, - {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, - {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, - } -}) - -minetest.register_craft({ - output = 'default:obsidianbrick 4', - recipe = { - {'default:obsidian', 'default:obsidian'}, - {'default:obsidian', 'default:obsidian'} - } -}) - -minetest.register_craft({ - output = 'default:obsidian_block 9', - recipe = { - {'default:obsidian', 'default:obsidian', 'default:obsidian'}, - {'default:obsidian', 'default:obsidian', 'default:obsidian'}, - {'default:obsidian', 'default:obsidian', 'default:obsidian'}, - } -}) - -minetest.register_craft({ - output = "default:ladder_obsidian 4", - recipe = { - {"default:obsidianbrick", "", "default:obsidianbrick"}, - {"default:obsidianbrick", "default:obsidianbrick", "default:obsidianbrick"}, - {"default:obsidianbrick", "", "default:obsidianbrick"} - } -}) - -minetest.register_craft({ - output = 'default:stonebrick 4', - recipe = { - {'default:stone', 'default:stone'}, - {'default:stone', 'default:stone'}, - } -}) - -minetest.register_craft({ - output = 'default:stone_block 9', - recipe = { - {'default:stone', 'default:stone', 'default:stone'}, - {'default:stone', 'default:stone', 'default:stone'}, - {'default:stone', 'default:stone', 'default:stone'}, - } -}) - -minetest.register_craft({ - output = 'default:desert_stonebrick 4', - recipe = { - {'default:desert_stone', 'default:desert_stone'}, - {'default:desert_stone', 'default:desert_stone'}, - } -}) - -minetest.register_craft({ - output = 'default:desert_stone_block 9', - recipe = { - {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, - {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, - {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, - } -}) - -minetest.register_craft({ - output = 'default:snowblock', - recipe = { - {'default:snow', 'default:snow', 'default:snow'}, - {'default:snow', 'default:snow', 'default:snow'}, - {'default:snow', 'default:snow', 'default:snow'}, - } -}) - -minetest.register_craft({ - output = 'default:snow 9', - recipe = { - {'default:snowblock'}, - } -}) - -minetest.register_craft({ - output = "maptools:superapple", - type = "shapeless", - recipe = {"default:apple", "default:mese", "default:mese"}, -}) - --- --- Crafting (tool repair) --- -minetest.register_craft({ - type = "toolrepair", - additional_wear = -0.02, -}) - --- --- Cooking recipes --- - -minetest.register_craft({ - type = "cooking", - output = "default:glass", - recipe = "group:sand", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:obsidian_glass", - recipe = "default:obsidian_shard", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:stone", - recipe = "default:cobble", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:stone", - recipe = "default:mossycobble", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:desert_stone", - recipe = "default:desert_cobble", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:steel_ingot", - recipe = "default:iron_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:copper_ingot", - recipe = "default:copper_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:tin_ingot", - recipe = "default:tin_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:silver_ingot", - recipe = "default:silver_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:gold_ingot", - recipe = "default:gold_lump", -}) - - --- --- Fuels --- - --- Support use of group:tree -minetest.register_craft({ - type = "cooking", - output = "default:gold_ingot", - recipe = "default:gold_lump", -}) - --- Burn time for all woods are in order of wood density, --- which is also the order of wood colour darkness: --- aspen, pine, apple, acacia, jungle - -minetest.register_craft({ - type = "cooking", - output = "default:mithril_ingot", - recipe = "default:mithril_lump", -}) - -minetest.register_craft({ - type = "cooking", - cooktime = 2, -- //MFF(Mg|07/24/15) - output = "default:clay_brick", - recipe = "default:clay_lump", -}) - ---[[minetest.register_craft({ - type = "cooking", - output = "default:clay_burned", - recipe = "default:clay", -}) ---]] - --- --- Fuels --- - -minetest.register_craft({ - type = "fuel", - recipe = "group:tree", - burntime = 40, -}) - - --- Support use of group:wood -minetest.register_craft({ - type = "fuel", - recipe = "group:stick", - burntime = 1, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:junglegrass", - burntime = 5, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "group:leaves", - burntime = 4, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:cactus", - burntime = 20, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:papyrus", - burntime = 3, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:bookshelf", - burntime = 50, -}) - - --- Support use of group:sapling -minetest.register_craft({ - type = "fuel", - recipe = "default:fence_wood", - burntime = 4, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:fence_acacia_wood", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:fence_junglewood", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:fence_pine_wood", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:acacia_sapling", - burntime = 11, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:junglesapling", - burntime = 12, -}) - - -minetest.register_craft({ - type = "fuel", - recipe = "default:fence_aspen_wood", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:ladder_wood", - burntime = 3, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "group:wood", - burntime = 10, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:lava_source", - burntime = 80, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:torch", - burntime = 5, -}) - - -minetest.register_craft({ - type = "fuel", - recipe = "default:sign_wall_wood", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:bush_stem", - burntime = 7, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:acacia_bush_stem", - burntime = 8, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:chest", - burntime = 80, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:chest_locked", - burntime = 85, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:nyancat", - burntime = 7200, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:nyancat_rainbow", - burntime = 1200, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "group:sapling", - burntime = 10, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:chest", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:chest_locked", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:apple", - burntime = 5, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:coal_lump", - burntime = 40, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:coalblock", - burntime = 370, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:grass_1", - burntime = 3, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:dry_grass_1", - burntime = 2, -}) - diff --git a/minetestforfun_game/mods/default/craftitems.lua b/minetestforfun_game/mods/default/craftitems.lua deleted file mode 100755 index d932971f..00000000 --- a/minetestforfun_game/mods/default/craftitems.lua +++ /dev/null @@ -1,375 +0,0 @@ --- mods/default/craftitems.lua - -minetest.register_craftitem("default:stick", { - description = "Stick", - stack_max = 1000, - inventory_image = "default_stick.png", - groups = {stick = 1, flammable = 2}, -}) - -minetest.register_craftitem("default:paper", { - description = "Paper", - inventory_image = "default_paper.png", - groups = {flammable = 3}, -}) - - -local lpp = 14 -- Lines per book's page -local function book_on_use(itemstack, user) - local player_name = user:get_player_name() - local meta = itemstack:get_meta() - local title, text, owner = "", "", player_name - local page, page_max, lines, string = 1, 1, {}, "" - - -- Backwards compatibility - local old_data = minetest.deserialize(itemstack:get_metadata()) - if old_data then - meta:from_table({ fields = old_data }) - end - - local data = meta:to_table().fields - - if data.owner then - title = data.title - text = data.text - owner = data.owner - - for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do - lines[#lines+1] = str - end - - if data.page then - page = data.page - page_max = data.page_max - - for i = ((lpp * page) - lpp) + 1, lpp * page do - if not lines[i] then break end - string = string .. lines[i] .. "\n" - end - end - end - - local formspec - if owner == player_name then - formspec = "size[8,8]" .. default.gui_bg .. - default.gui_bg_img .. - "field[0.5,1;7.5,0;title;Title:;" .. - minetest.formspec_escape(title) .. "]" .. - "textarea[0.5,1.5;7.5,7;text;Contents:;" .. - minetest.formspec_escape(text) .. "]" .. - "button_exit[2.5,7.5;3,1;save;Save]" - else - formspec = "size[8,8]" .. default.gui_bg .. - default.gui_bg_img .. - "label[0.5,0.5;by " .. owner .. "]" .. - "tablecolumns[color;text]" .. - "tableoptions[background=#00000000;highlight=#00000000;border=false]" .. - "table[0.4,0;7,0.5;title;#FFFF00," .. minetest.formspec_escape(title) .. "]" .. - "textarea[0.5,1.5;7.5,7;;" .. - minetest.formspec_escape(string ~= "" and string or text) .. ";]" .. - "button[2.4,7.6;0.8,0.8;book_prev;<]" .. - "label[3.2,7.7;Page " .. page .. " of " .. page_max .. "]" .. - "button[4.9,7.6;0.8,0.8;book_next;>]" - end - - minetest.show_formspec(player_name, "default:book", formspec) -end - -local max_text_size = 10000 -local max_title_size = 80 -local short_title_size = 35 -minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "default:book" then return end - local inv = player:get_inventory() - local stack = player:get_wielded_item() - - if fields.save and fields.title and fields.text - and fields.title ~= "" and fields.text ~= "" then - local new_stack, data - if stack:get_name() ~= "default:book_written" then - local count = stack:get_count() - if count == 1 then - stack:set_name("default:book_written") - else - stack:set_count(count - 1) - new_stack = ItemStack("default:book_written") - end - else - data = stack:get_meta():to_table().fields - end - - if data and data.owner and data.owner ~= player:get_player_name() then - return - end - - if not data then data = {} end - data.title = fields.title:sub(1, max_title_size) - data.owner = player:get_player_name() - local short_title = data.title - -- Don't bother triming the title if the trailing dots would make it longer - if #short_title > short_title_size + 3 then - short_title = short_title:sub(1, short_title_size) .. "..." - end - data.description = "\""..short_title.."\" by "..data.owner - data.text = fields.text:sub(1, max_text_size) - data.page = 1 - data.page_max = math.ceil((#data.text:gsub("[^\n]", "") + 1) / lpp) - - if new_stack then - new_stack:get_meta():from_table({ fields = data }) - if inv:room_for_item("main", new_stack) then - inv:add_item("main", new_stack) - else - minetest.add_item(player:getpos(), new_stack) - end - else - stack:get_meta():from_table({ fields = data }) - end - - elseif fields.book_next or fields.book_prev then - local data = stack:get_meta():to_table().fields - if not data or not data.page then - return - end - - data.page = tonumber(data.page) - data.page_max = tonumber(data.page_max) - - if fields.book_next then - data.page = data.page + 1 - if data.page > data.page_max then - data.page = 1 - end - else - data.page = data.page - 1 - if data.page == 0 then - data.page = data.page_max - end - end - - stack:get_meta():from_table({fields = data}) - stack = book_on_use(stack, player) - end - - -- Update stack - player:set_wielded_item(stack) -end) - -minetest.register_craftitem("default:book", { - description = "Book", - inventory_image = "default_book.png", - groups = {book = 1, flammable = 3}, - on_use = book_on_use, -}) - -minetest.register_craftitem("default:book_written", { - description = "Book With Text", - inventory_image = "default_book_written.png", - groups = {book = 1, not_in_creative_inventory = 1, flammable = 3}, - stack_max = 1, - on_use = book_on_use, -}) - -minetest.register_craft({ - type = "shapeless", - output = "default:book_written", - recipe = {"default:book", "default:book_written"} -}) - -minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) - if itemstack:get_name() ~= "default:book_written" then - return - end - - local original - local index - for i = 1, player:get_inventory():get_size("craft") do - if old_craft_grid[i]:get_name() == "default:book_written" then - original = old_craft_grid[i] - index = i - end - end - if not original then - return - end - local copymeta = original:get_meta():to_table() - -- copy of the book held by player's mouse cursor - itemstack:get_meta():from_table(copymeta) - -- put the book with metadata back in the craft grid - craft_inv:set_stack("craft", index, original) -end) - -minetest.register_craftitem("default:skeleton_key", { - description = "Skeleton Key", - inventory_image = "default_key_skeleton.png", - groups = {key = 1}, - on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - - local pos = pointed_thing.under - local node = minetest.get_node(pos) - - if not node then - return itemstack - end - - local on_skeleton_key_use = minetest.registered_nodes[node.name].on_skeleton_key_use - if not on_skeleton_key_use then - return itemstack - end - - -- make a new key secret in case the node callback needs it - local random = math.random - local newsecret = string.format( - "%04x%04x%04x%04x", - random(2^16) - 1, random(2^16) - 1, - random(2^16) - 1, random(2^16) - 1) - - local secret, _, _ = on_skeleton_key_use(pos, user, newsecret) - - if secret then - local inv = minetest.get_inventory({type="player", name=user:get_player_name()}) - - -- update original itemstack - itemstack:take_item() - - -- finish and return the new key - local new_stack = ItemStack("default:key") - local meta = new_stack:get_meta() - meta:set_string("secret", secret) - meta:set_string("description", "Key to "..user:get_player_name().."'s " - ..minetest.registered_nodes[node.name].description) - - if itemstack:get_count() == 0 then - itemstack = new_stack - else - if inv:add_item("main", new_stack):get_count() > 0 then - minetest.add_item(user:getpos(), new_stack) - end -- else: added to inventory successfully - end - - return itemstack -- FIXME: See if this return is a problem - end - end -}) - -minetest.register_craftitem("default:coal_lump", { - description = "Coal Lump", - inventory_image = "default_coal_lump.png", - groups = {coal = 1, flammable = 1} -}) - -minetest.register_craftitem("default:iron_lump", { - description = "Iron Lump", - inventory_image = "default_iron_lump.png", -}) - -minetest.register_craftitem("default:copper_lump", { - description = "Copper Lump", - inventory_image = "default_copper_lump.png", -}) - -minetest.register_craftitem("default:tin_lump", { - description = "Tin Lump", - inventory_image = "default_tin_lump.png", -}) - -minetest.register_craftitem("default:silver_lump", { - description = "Silver Lump", - inventory_image = "default_silver_lump.png", -}) - -minetest.register_craftitem("default:mese_crystal", { - description = "Mese Crystal", - inventory_image = "default_mese_crystal.png", -}) - -minetest.register_craftitem("default:gold_lump", { - description = "Gold Lump", - inventory_image = "default_gold_lump.png", -}) - -minetest.register_craftitem("default:mithril_lump", { - description = "Mithril Lump", - inventory_image = "default_mithril_lump.png", -}) - -minetest.register_craftitem("default:diamond", { - description = "Diamond", - inventory_image = "default_diamond.png", -}) - -minetest.register_craftitem("default:clay_lump", { - description = "Clay Lump", - stack_max = 200, - inventory_image = "default_clay_lump.png", -}) - -minetest.register_craftitem("default:steel_ingot", { - description = "Steel Ingot", - inventory_image = "default_steel_ingot.png", - groups = {ingot = 1}, -}) - -minetest.register_craftitem("default:copper_ingot", { - description = "Copper Ingot", - inventory_image = "default_copper_ingot.png", - groups = {ingot = 1}, -}) - -minetest.register_craftitem("default:tin_ingot", { - description = "Tin Ingot", - inventory_image = "default_tin_ingot.png", - groups = {ingot = 1}, -}) - -minetest.register_craftitem("default:bronze_ingot", { - description = "Bronze Ingot", - inventory_image = "default_bronze_ingot.png", - groups = {ingot = 1}, -}) - -minetest.register_craftitem("default:silver_ingot", { - description = "Silver Ingot", - inventory_image = "default_silver_ingot.png", - groups = {ingot = 1}, -}) - -minetest.register_craftitem("default:gold_ingot", { - description = "Gold Ingot", - groups = {ingot = 1}, - inventory_image = "default_gold_ingot.png" -}) - -minetest.register_craftitem("default:mese_crystal_fragment", { - description = "Mese Crystal Fragment", - inventory_image = "default_mese_crystal_fragment.png", -}) - -minetest.register_craftitem("default:mithril_ingot", { - description = "Mithril Ingot", - groups = {ingot = 1}, - inventory_image = "default_mithril_ingot.png", -}) - -minetest.register_craftitem("default:clay_brick", { - description = "Clay Brick", - inventory_image = "default_clay_brick.png", -}) - -minetest.register_craftitem("default:scorched_stuff", { - description = "Scorched Stuff", - inventory_image = "default_scorched_stuff.png", -}) - -minetest.register_craftitem("default:obsidian_shard", { - description = "Obsidian Shard", - inventory_image = "default_obsidian_shard.png", -}) - -minetest.register_craftitem("default:flint", { - description = "Flint", - inventory_image = "default_flint.png" -}) diff --git a/minetestforfun_game/mods/default/depends.txt b/minetestforfun_game/mods/default/depends.txt deleted file mode 100644 index a3d73590..00000000 --- a/minetestforfun_game/mods/default/depends.txt +++ /dev/null @@ -1 +0,0 @@ -_misc_init? diff --git a/minetestforfun_game/mods/default/functions.lua b/minetestforfun_game/mods/default/functions.lua deleted file mode 100755 index a3c5d0eb..00000000 --- a/minetestforfun_game/mods/default/functions.lua +++ /dev/null @@ -1,513 +0,0 @@ --- mods/default/functions.lua - --- --- Sounds --- - -function default.node_sound_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "", gain = 1.0} - table.dug = table.dug or - {name = "default_dug_node", gain = 0.25} - table.place = table.place or - {name = "default_place_node_hard", gain = 1.0} - return table -end - -function default.node_sound_stone_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_hard_footstep", gain = 0.5} - table.dug = table.dug or - {name = "default_hard_footstep", gain = 1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_dirt_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_dirt_footstep", gain = 1.0} - table.dug = table.dug or - {name = "default_dirt_footstep", gain = 1.5} - table.place = table.place or - {name = "default_place_node", gain = 1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_sand_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_sand_footstep", gain = 0.12} - table.dug = table.dug or - {name = "default_sand_footstep", gain = 0.24} - table.place = table.place or - {name = "default_place_node", gain = 1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_gravel_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_gravel_footstep", gain = 0.5} - table.dug = table.dug or - {name = "default_gravel_footstep", gain = 1.0} - table.place = table.place or - {name = "default_place_node", gain = 1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_wood_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_wood_footstep", gain = 0.5} - table.dug = table.dug or - {name = "default_wood_footstep", gain = 1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_leaves_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_grass_footstep", gain = 0.35} - table.dug = table.dug or - {name = "default_grass_footstep", gain = 0.7} - table.dig = table.dig or - {name = "default_dig_crumbly", gain = 0.4} - table.place = table.place or - {name = "default_place_node", gain = 1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_glass_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_glass_footstep", gain = 0.5} - table.dug = table.dug or - {name = "default_break_glass", gain = 1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_metal_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name = "default_metal_footstep", gain = 0.5} - table.dig = table.dig or - {name = "default_dig_metal", gain = 0.5} - table.dug = table.dug or - {name = "default_dug_metal", gain = 0.5} - table.place = table.place or - {name = "default_place_node_metal", gain = 0.5} - default.node_sound_defaults(table) - return table -end - --- --- Lavacooling --- - -default.cool_lava = function(pos, node) - if node.name == "default:lava_source" then - minetest.set_node(pos, {name = "default:obsidian"}) - else -- Lava flowing - minetest.set_node(pos, {name = "default:stone"}) - end - minetest.sound_play("default_cool_lava", - {pos = pos, max_hear_distance = 16, gain = 0.25}) -end - -minetest.register_abm({ - label = "Lava cooling", - nodenames = {"default:lava_source", "default:lava_flowing"}, - neighbors = {"group:water"}, - interval = 1, - chance = 1, - catch_up = false, - action = function(...) - default.cool_lava(...) - end, -}) - - --- --- optimized helper to put all items in an inventory into a drops list --- - -function default.get_inventory_drops(pos, inventory, drops) - local inv = minetest.get_meta(pos):get_inventory() - local n = #drops - for i = 1, inv:get_size(inventory) do - local stack = inv:get_stack(inventory, i) - if stack:get_count() > 0 then - drops[n+1] = stack:to_table() - n = n + 1 - end - end -end - --- --- Papyrus and cactus growing --- - --- wrapping the functions in abm action is necessary to make overriding them possible - -function default.grow_cactus(pos, node) - if node.param2 >= 4 then - return - end - pos.y = pos.y - 1 - local name = minetest.get_node(pos).name --MFF - if minetest.get_item_group(name, "sand") == 0 and name ~= "default:dirt_with_dry_grass" then --MFF - return - end - pos.y = pos.y + 1 - local height = 0 - while node.name == "default:cactus" and height < 4 do - height = height + 1 - pos.y = pos.y + 1 - node = minetest.get_node(pos) - end - if height == 4 or node.name ~= "air" then - return - end - minetest.set_node(pos, {name = "default:cactus"}) - return true -end - -function default.grow_papyrus(pos, node) - pos.y = pos.y - 1 - local name = minetest.get_node(pos).name - if name ~= "default:dirt_with_grass" and name ~= "default:dirt" and name ~= "default:sand" and name ~= "default:desert_sand" then --MFF - return - end - if not minetest.find_node_near(pos, 3, {"group:water"}) then - return - end - pos.y = pos.y + 1 - local height = 0 - while node.name == "default:papyrus" and height < 4 do - height = height + 1 - pos.y = pos.y + 1 - node = minetest.get_node(pos) - end - if height == 4 or node.name ~= "air" then - return - end - minetest.set_node(pos, {name = "default:papyrus"}) - return true -end - -minetest.register_abm({ - label = "Grow cactus", - nodenames = {"default:cactus"}, - neighbors = {"group:sand", "default:dirt_with_dry_grass"}, --MFF - interval = 12, - chance = 83, - action = function(...) - default.grow_cactus(...) - end -}) - -minetest.register_abm({ - label = "Grow papyrus", - nodenames = {"default:papyrus"}, - neighbors = {"default:dirt", "default:dirt_with_grass", "default:sand", "default:desert_sand"}, --MFF - interval = 14, - chance = 71, - action = function(...) - default.grow_papyrus(...) - end -}) - - --- --- dig upwards --- - -function default.dig_up(pos, node, digger) - if digger == nil then return end - local np = {x = pos.x, y = pos.y + 1, z = pos.z} - local nn = minetest.get_node(np) - if nn.name == node.name then - minetest.node_dig(np, nn, digger) - end -end - - --- --- Fence registration helper --- - -function default.register_fence(name, def) - minetest.register_craft({ - output = name .. " 4", - recipe = { - { def.material, 'group:stick', def.material }, - { def.material, 'group:stick', def.material }, - } - }) - - local fence_texture = "default_fence_overlay.png^" .. def.texture .. - "^default_fence_overlay.png^[makealpha:255,126,126" - -- Allow almost everything to be overridden - local default_fields = { - paramtype = "light", - drawtype = "nodebox", - node_box = { - type = "connected", - fixed = {{-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}}, - -- connect_top = - -- connect_bottom = - connect_front = {{-1/16,3/16,-1/2,1/16,5/16,-1/8}, - {-1/16,-5/16,-1/2,1/16,-3/16,-1/8}}, - connect_left = {{-1/2,3/16,-1/16,-1/8,5/16,1/16}, - {-1/2,-5/16,-1/16,-1/8,-3/16,1/16}}, - connect_back = {{-1/16,3/16,1/8,1/16,5/16,1/2}, - {-1/16,-5/16,1/8,1/16,-3/16,1/2}}, - connect_right = {{1/8,3/16,-1/16,1/2,5/16,1/16}, - {1/8,-5/16,-1/16,1/2,-3/16,1/16}}, - }, - connects_to = {"group:fence", "group:wood", "group:tree"}, - inventory_image = fence_texture, - wield_image = fence_texture, - tiles = {def.texture}, - sunlight_propagates = true, - is_ground_content = false, - groups = {}, - } - for k, v in pairs(default_fields) do - if not def[k] then - def[k] = v - end - end - - -- Always add to the fence group, even if no group provided - def.groups.fence = 1 - - def.texture = nil - def.material = nil - - minetest.register_node(name, def) -end - - --- --- Leafdecay --- - --- Prevent decay of placed leaves - -default.after_place_leaves = function(pos, placer, itemstack, pointed_thing) - if placer and not placer:get_player_control().sneak then - local node = minetest.get_node(pos) - node.param2 = 1 - minetest.set_node(pos, node) - end -end - --- Leafdecay ABM - -minetest.register_abm({ - label = "Leaf decay", - nodenames = {"group:leafdecay"}, - neighbors = {"air"}, - interval = 2, - chance = 10, - catch_up = false, - - action = function(pos, node, _, _) - -- Check if leaf is placed - if node.param2 ~= 0 then - return - end - - local rad = minetest.registered_nodes[node.name].groups.leafdecay - -- Assume ignore is a trunk, to make this - -- work at the border of a loaded area - if minetest.find_node_near(pos, rad, {"ignore", "group:tree"}) then - return - end - -- Drop stuff - local itemstacks = minetest.get_node_drops(node.name) - for _, itemname in ipairs(itemstacks) do - if itemname ~= node.name or - minetest.get_item_group(node.name, "leafdecay_drop") ~= 0 then - local p_drop = { - x = pos.x - 0.5 + math.random(), - y = pos.y - 0.5 + math.random(), - z = pos.z - 0.5 + math.random(), - } - minetest.add_item(p_drop, itemname) - end - end - -- Remove node - minetest.remove_node(pos) - nodeupdate(pos) - end -}) - - --- --- Convert dirt to something that fits the environment --- - -minetest.register_abm({ - label = "Grass spread", - nodenames = {"default:dirt"}, - neighbors = { - "default:dirt_with_grass", - "default:dirt_with_dry_grass", - "default:dirt_with_snow", - "group:grass", - "group:dry_grass", - "default:snow", - }, - interval = 6, - chance = 50, - catch_up = false, - action = function(pos, node) - -- Check for darkness: night, shadow or under a light-blocking node - -- Returns if ignore above - local above = {x = pos.x, y = pos.y + 1, z = pos.z} - if (minetest.get_node_light(above) or 0) < 13 then - return - end - - -- Look for spreading dirt-type neighbours - local p2 = minetest.find_node_near(pos, 1, "group:spreading_dirt_type") - if p2 then - local n3 = minetest.get_node(p2) - minetest.set_node(pos, {name = n3.name}) - return - end - - -- Else, any seeding nodes on top? - local name = minetest.get_node(above).name - -- Snow check is cheapest, so comes first - if name == "default:snow" then - minetest.set_node(pos, {name = "default:dirt_with_snow"}) - -- Most likely case first - elseif minetest.get_item_group(name, "grass") ~= 0 then - minetest.set_node(pos, {name = "default:dirt_with_grass"}) - elseif minetest.get_item_group(name, "dry_grass") ~= 0 then - minetest.set_node(pos, {name = "default:dirt_with_dry_grass"}) - end - end -}) - - --- --- Grass and dry grass removed in darkness --- - -minetest.register_abm({ - label = "Grass covered", - nodenames = {"group:spreading_dirt_type"}, - interval = 8, - chance = 50, - catch_up = false, - action = function(pos, node) - local above = {x = pos.x, y = pos.y + 1, z = pos.z} - local name = minetest.get_node(above).name - local nodedef = minetest.registered_nodes[name] - if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or - nodedef.paramtype == "light") and - nodedef.liquidtype == "none") then - minetest.set_node(pos, {name = "default:dirt"}) - end - end -}) - - --- --- Moss growth on cobble near water --- - -minetest.register_abm({ - label = "Moss growth", - nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble"}, - neighbors = {"group:water"}, - interval = 16, - chance = 200, - catch_up = false, - action = function(pos, node) - if node.name == "default:cobble" then - minetest.set_node(pos, {name = "default:mossycobble"}) - elseif node.name == "stairs:slab_cobble" then - minetest.set_node(pos, {name = "stairs:slab_mossycobble", param2 = node.param2}) - elseif node.name == "stairs:stair_cobble" then - minetest.set_node(pos, {name = "stairs:stair_mossycobble", param2 = node.param2}) - end - end -}) - - --- --- Checks if specified volume intersects a protected volume --- - -function default.intersects_protection(minp, maxp, player_name, interval) - -- 'interval' is the largest allowed interval for the 3D lattice of checks - - -- Compute the optimal float step 'd' for each axis so that all corners and - -- borders are checked. 'd' will be smaller or equal to 'interval'. - -- Subtracting 1e-4 ensures that the max co-ordinate will be reached by the - -- for loop (which might otherwise not be the case due to rounding errors). - local d = {} - for _, c in pairs({"x", "y", "z"}) do - if maxp[c] > minp[c] then - d[c] = (maxp[c] - minp[c]) / math.ceil((maxp[c] - minp[c]) / interval) - 1e-4 - elseif maxp[c] == minp[c] then - d[c] = 1 -- Any value larger than 0 to avoid division by zero - else -- maxp[c] < minp[c], print error and treat as protection intersected - minetest.log("error", "maxp < minp in 'default.intersects_protection()'") - return true - end - end - - for zf = minp.z, maxp.z, d.z do - local z = math.floor(zf + 0.5) - for yf = minp.y, maxp.y, d.y do - local y = math.floor(yf + 0.5) - for xf = minp.x, maxp.x, d.x do - local x = math.floor(xf + 0.5) - if minetest.is_protected({x = x, y = y, z = z}, player_name) then - return true - end - end - end - end - - return false -end - --- --- NOTICE: This method is not an official part of the API yet! --- This method may change in future. --- - -function default.can_interact_with_node(player, pos) - if player then - if minetest.check_player_privs(player, "protection_bypass") then - return true - end - else - return false - end - - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - - if not owner or owner == "" or owner == player:get_player_name() then - return true - end - - return false -end diff --git a/minetestforfun_game/mods/default/furnace.lua b/minetestforfun_game/mods/default/furnace.lua deleted file mode 100755 index cd36f522..00000000 --- a/minetestforfun_game/mods/default/furnace.lua +++ /dev/null @@ -1,317 +0,0 @@ - --- --- Formspecs --- - -local function active_formspec(fuel_percent, item_percent) - local formspec = - "size[8,8.5]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - "list[current_name;src;2.75,0.5;1,1;]".. - "list[current_name;fuel;2.75,2.5;1,1;]".. - "image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:".. - (100-fuel_percent)..":default_furnace_fire_fg.png]".. - "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. - (item_percent)..":gui_furnace_arrow_fg.png^[transformR270]".. - "list[current_name;dst;4.75,0.96;2,2;]".. - "list[current_player;main;0,4.25;8,1;]".. - "list[current_player;main;0,5.5;8,3;8]".. - "listring[current_name;dst]".. - "listring[current_player;main]".. - "listring[current_name;src]".. - "listring[current_player;main]".. - "listring[current_name;fuel]".. - "listring[current_player;main]".. - default.get_hotbar_bg(0, 4.25) - return formspec -end - -local inactive_formspec = - "size[8,8.5]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - "list[current_name;src;2.75,0.5;1,1;]".. - "list[current_name;fuel;2.75,2.5;1,1;]".. - "image[2.75,1.5;1,1;default_furnace_fire_bg.png]".. - "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. - "list[current_name;dst;4.75,0.96;2,2;]".. - "list[current_player;main;0,4.25;8,1;]".. - "list[current_player;main;0,5.5;8,3;8]".. - "listring[current_name;dst]".. - "listring[current_player;main]".. - "listring[current_name;src]".. - "listring[current_player;main]".. - "listring[current_name;fuel]".. - "listring[current_player;main]".. - default.get_hotbar_bg(0, 4.25) - --- --- Node callback functions that are the same for active and inactive furnace --- - -local function can_dig(pos, player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src") -end - -local function allow_metadata_inventory_put(pos, listname, index, stack, player) - if minetest.is_protected(pos, player:get_player_name()) then - return 0 - end - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - if listname == "fuel" then - if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then - if inv:is_empty("src") then - meta:set_string("infotext", "Furnace is empty") - end - return stack:get_count() - else - return 0 - end - elseif listname == "src" then - return stack:get_count() - elseif listname == "dst" then - return 0 - end -end - -local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local stack = inv:get_stack(from_list, from_index) - return allow_metadata_inventory_put(pos, to_list, to_index, stack, player) -end - -local function allow_metadata_inventory_take(pos, listname, index, stack, player) - if minetest.is_protected(pos, player:get_player_name()) then - return 0 - end - return stack:get_count() -end - -local function swap_node(pos, name) - local node = minetest.get_node(pos) - if node.name == name then - return - end - node.name = name - minetest.swap_node(pos, node) -end - -local function furnace_node_timer(pos, elapsed) - -- - -- Inizialize metadata - -- - local meta = minetest.get_meta(pos) - local fuel_time = meta:get_float("fuel_time") or 0 - local src_time = meta:get_float("src_time") or 0 - local fuel_totaltime = meta:get_float("fuel_totaltime") or 0 - - local inv = meta:get_inventory() - local srclist = inv:get_list("src") - local fuellist = inv:get_list("fuel") - - -- - -- Cooking - -- - - -- Check if we have cookable content - local cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) - local cookable = true - - if cooked.time == 0 then - cookable = false - end - - -- Check if we have enough fuel to burn - if fuel_time < fuel_totaltime then - -- The furnace is currently active and has enough fuel - fuel_time = fuel_time + 1 - - -- If there is a cookable item then check if it is ready yet - if cookable then - src_time = src_time + 1 - if src_time >= cooked.time then - -- Place result in dst list if possible - if inv:room_for_item("dst", cooked.item) then - inv:add_item("dst", cooked.item) - inv:set_stack("src", 1, aftercooked.items[1]) - src_time = 0 - end - end - end - else - -- Furnace ran out of fuel - if cookable then - -- We need to get new fuel - local fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) - - if fuel.time == 0 then - -- No valid fuel in fuel list - fuel_totaltime = 0 - fuel_time = 0 - src_time = 0 - else - -- Take fuel from fuel list - inv:set_stack("fuel", 1, afterfuel.items[1]) - - fuel_totaltime = fuel.time - fuel_time = 0 - end - else - -- We don't need to get new fuel since there is no cookable item - fuel_totaltime = 0 - fuel_time = 0 - src_time = 0 - end - end - - -- - -- Update formspec, infotext and node - -- - local formspec = inactive_formspec - local item_state - local item_percent = 0 - if cookable then - item_percent = math.floor(src_time / cooked.time * 100) - if item_percent > 100 then - item_state = "100% (output full)" - else - item_state = item_percent .. "%" - end - else - if srclist[1]:is_empty() then - item_state = "Empty" - else - item_state = "Not cookable" - end - end - - local fuel_state = "Empty" - local active = "inactive " - local result = false - - if fuel_time <= fuel_totaltime and fuel_totaltime ~= 0 then - active = "active " - local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100) - fuel_state = fuel_percent .. "%" - formspec = active_formspec(fuel_percent, item_percent) - swap_node(pos, "default:furnace_active") - -- make sure timer restarts automatically - result = true - else - if not fuellist[1]:is_empty() then - fuel_state = "0%" - end - swap_node(pos, "default:furnace") - -- stop timer on the inactive furnace - local timer = minetest.get_node_timer(pos) - timer:stop() - end - - local infotext = "Furnace " .. active .. "(Item: " .. item_state .. "; Fuel: " .. fuel_state .. ")" - - -- - -- Set meta values - -- - meta:set_float("fuel_totaltime", fuel_totaltime) - meta:set_float("fuel_time", fuel_time) - meta:set_float("src_time", src_time) - meta:set_string("formspec", formspec) - meta:set_string("infotext", infotext) - - return result -end - --- --- Node definitions --- - -minetest.register_node("default:furnace", { - description = "Furnace", - tiles = { - "default_furnace_top.png", "default_furnace_bottom.png", - "default_furnace_side.png", "default_furnace_side.png", - "default_furnace_side.png", "default_furnace_front.png" - }, - paramtype2 = "facedir", - groups = {cracky=2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - - can_dig = can_dig, - - on_timer = furnace_node_timer, - - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", inactive_formspec) - local inv = meta:get_inventory() - inv:set_size('src', 1) - inv:set_size('fuel', 1) - inv:set_size('dst', 4) - end, - - on_metadata_inventory_move = function(pos) - local timer = minetest.get_node_timer(pos) - timer:start(1.0) - end, - on_metadata_inventory_put = function(pos) - -- start timer function, it will sort out whether furnace can burn or not. - local timer = minetest.get_node_timer(pos) - timer:start(1.0) - end, - on_blast = function(pos) - local drops = {} - default.get_inventory_drops(pos, "src", drops) - default.get_inventory_drops(pos, "fuel", drops) - default.get_inventory_drops(pos, "dst", drops) - drops[#drops+1] = "default:furnace" - minetest.remove_node(pos) - return drops - end, - - allow_metadata_inventory_put = allow_metadata_inventory_put, - allow_metadata_inventory_move = allow_metadata_inventory_move, - allow_metadata_inventory_take = allow_metadata_inventory_take, -}) - -minetest.register_node("default:furnace_active", { - description = "Furnace", - tiles = { - "default_furnace_top.png", "default_furnace_bottom.png", - "default_furnace_side.png", "default_furnace_side.png", - "default_furnace_side.png", - { - image = "default_furnace_front_active.png", - backface_culling = false, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1.5 - }, - } - }, - paramtype2 = "facedir", - light_source = 8, - drop = "default:furnace", - groups = {cracky=2, not_in_creative_inventory=1}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - on_timer = furnace_node_timer, - - can_dig = can_dig, - - allow_metadata_inventory_put = allow_metadata_inventory_put, - allow_metadata_inventory_move = allow_metadata_inventory_move, - allow_metadata_inventory_take = allow_metadata_inventory_take, -}) - diff --git a/minetestforfun_game/mods/default/init.lua b/minetestforfun_game/mods/default/init.lua deleted file mode 100755 index 42dcab02..00000000 --- a/minetestforfun_game/mods/default/init.lua +++ /dev/null @@ -1,51 +0,0 @@ --- Minetest 0.4 mod: default --- See README.txt for licensing and other information. - --- The API documentation in here was moved into game_api.txt - --- Definitions made by this mod that other mods can use too -default = {} - -default.LIGHT_MAX = 14 - --- GUI related stuff -default.gui_bg = "bgcolor[#080808BB;true]" -default.gui_bg_img = "background[5,5;1,1;gui_formbg.png;true]" -default.gui_slots = "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" - -function default.get_hotbar_bg(x,y) - local out = "" - for i=0,7,1 do - out = out .."image["..x+i..","..y..";1,1;gui_hb_bg.png]" - end - return out -end - -default.gui_survival_form = "size[8,8.5]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - "list[current_player;main;0,4.25;8,1;]".. - "list[current_player;main;0,5.5;8,3;8]".. - "list[current_player;craft;1.75,0.5;3,3;]".. - "list[current_player;craftpreview;5.75,1.5;1,1;]".. - "image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. - "listring[current_player;main]".. - "listring[current_player;craft]".. - default.get_hotbar_bg(0,4.25) - --- Load files -local default_path = minetest.get_modpath("default") - -dofile(default_path.."/functions.lua") -dofile(default_path.."/trees.lua") -dofile(default_path.."/nodes.lua") -dofile(default_path.."/furnace.lua") -dofile(default_path.."/tools.lua") ---dofile(default_path.."/item_entity.lua") --remove due to crash and we have already builtin_item -dofile(default_path.."/craftitems.lua") -dofile(default_path.."/crafting.lua") -dofile(default_path.."/mapgen.lua") -dofile(default_path.."/player.lua") -dofile(default_path.."/aliases.lua") -dofile(default_path.."/legacy.lua") diff --git a/minetestforfun_game/mods/default/item_entity.lua b/minetestforfun_game/mods/default/item_entity.lua deleted file mode 100644 index c34e60e9..00000000 --- a/minetestforfun_game/mods/default/item_entity.lua +++ /dev/null @@ -1,74 +0,0 @@ --- mods/default/item_entity.lua - -local builtin_item = minetest.registered_entities["__builtin:item"] - -local item = { - set_item = function(self, itemstring) - builtin_item.set_item(self, itemstring) - - local stack = ItemStack(itemstring) - local itemdef = minetest.registered_items[stack:get_name()] - if itemdef and itemdef.groups.flammable ~= 0 then - self.flammable = itemdef.groups.flammable - end - end, - - burn_up = function(self) - -- disappear in a smoke puff - self.object:remove() - local p = self.object:getpos() - minetest.sound_play("default_item_smoke", { - pos = p, - max_hear_distance = 8, - }) - minetest.add_particlespawner({ - amount = 3, - time = 0.1, - minpos = {x = p.x - 0.1, y = p.y + 0.1, z = p.z - 0.1 }, - maxpos = {x = p.x + 0.1, y = p.y + 0.2, z = p.z + 0.1 }, - minvel = {x = 0, y = 2.5, z = 0}, - maxvel = {x = 0, y = 2.5, z = 0}, - minacc = {x = -0.15, y = -0.02, z = -0.15}, - maxacc = {x = 0.15, y = -0.01, z = 0.15}, - minexptime = 4, - maxexptime = 6, - minsize = 5, - maxsize = 5, - collisiondetection = true, - texture = "default_item_smoke.png" - }) - end, - - on_step = function(self, dtime) - builtin_item.on_step(self, dtime) - - if self.flammable then - -- flammable, check for igniters - self.ignite_timer = (self.ignite_timer or 0) + dtime - if self.ignite_timer > 10 then - self.ignite_timer = 0 - - local node = minetest.get_node_or_nil(self.object:getpos()) - if not node then - return - end - - -- Immediately burn up flammable items in lava - if minetest.get_item_group(node.name, "lava") > 0 then - self:burn_up() - else - -- otherwise there'll be a chance based on its igniter value - local burn_chance = self.flammable - * minetest.get_item_group(node.name, "igniter") - if burn_chance > 0 and math.random(0, burn_chance) ~= 0 then - self:burn_up() - end - end - end - end - end, -} - --- set defined item as new __builtin:item, with the old one as fallback table -setmetatable(item, builtin_item) -minetest.register_entity(":__builtin:item", item) diff --git a/minetestforfun_game/mods/default/legacy.lua b/minetestforfun_game/mods/default/legacy.lua deleted file mode 100755 index a8c8ad56..00000000 --- a/minetestforfun_game/mods/default/legacy.lua +++ /dev/null @@ -1,25 +0,0 @@ --- mods/default/legacy.lua - --- Horrible stuff to support old code registering falling nodes --- Don't use this and never do what this does, it's completely wrong! --- (More specifically, the client and the C++ code doesn't get the group) -function default.register_falling_node(nodename, texture) - minetest.log("error", debug.traceback()) - minetest.log('error', "WARNING: default.register_falling_node is deprecated") - if minetest.registered_nodes[nodename] then - minetest.registered_nodes[nodename].groups.falling_node = 1 - end -end - -function default.spawn_falling_node(p, nodename) - spawn_falling_node(p, nodename) -end - --- Liquids -WATER_ALPHA = minetest.registered_nodes["default:water_source"].alpha -WATER_VISC = minetest.registered_nodes["default:water_source"].liquid_viscosity -LAVA_VISC = minetest.registered_nodes["default:lava_source"].liquid_viscosity -LIGHT_MAX = default.LIGHT_MAX - --- Formspecs -default.gui_suvival_form = default.gui_survival_form diff --git a/minetestforfun_game/mods/default/license.txt b/minetestforfun_game/mods/default/license.txt deleted file mode 100644 index 137923c8..00000000 --- a/minetestforfun_game/mods/default/license.txt +++ /dev/null @@ -1,171 +0,0 @@ -License of source code ----------------------- - -GNU Lesser General Public License, version 2.1 -Copyright (C) 2011-2016 celeron55, Perttu Ahola -Copyright (C) 2011-2016 Various Minetest developers and contributors - -This program is free software; you can redistribute it and/or modify it under the terms -of the GNU Lesser General Public License as published by the Free Software Foundation; -either version 2.1 of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -See the GNU Lesser General Public License for more details: -https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - - -Licenses of media (textures, models and sounds) ------------------------------------------------ - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2010-2016: - celeron55, Perttu Ahola - Cisoun - G4JC - VanessaE - RealBadAngel - Calinou - MirceaKitsune - Jordach - PilzAdam - jojoa1997 - InfinityProject - Splizard - Zeg9 - paramat - BlockMen - sofar - Neuromancer - Gambit - asl97 - KevDoy - Mito551 - -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/ - ------------------------ - -Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) -Copyright (C) 2014-2016 brunob.santos - -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/4.0/ - ------------------------ - -Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0) -Copyright (C) 2014-2016 Neuromancer - - -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/2.0/ - ------------------------ - -Attribution 3.0 Unported (CC BY 3.0) -Copyright (C) 2009 cmusounddesign -Copyright (C) 2010 Tomlija -Copyright (C) 2010 lsprice -Copyright (C) 2014 sonictechtonic - -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. - -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/3.0/ diff --git a/minetestforfun_game/mods/default/mapgen.lua b/minetestforfun_game/mods/default/mapgen.lua deleted file mode 100755 index 7e5ac55f..00000000 --- a/minetestforfun_game/mods/default/mapgen.lua +++ /dev/null @@ -1,1838 +0,0 @@ --- --- Aliases for map generator outputs --- - -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:river_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") -minetest.register_alias("mapgen_desert_sand", "default:desert_sand") -minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow") -minetest.register_alias("mapgen_snowblock", "default:snowblock") -minetest.register_alias("mapgen_snow", "default:snow") -minetest.register_alias("mapgen_ice", "default:ice") -minetest.register_alias("mapgen_sandstone", "default:sandstone") - --- Flora - -minetest.register_alias("mapgen_tree", "default:tree") -minetest.register_alias("mapgen_leaves", "default:leaves") -minetest.register_alias("mapgen_apple", "default:apple") -minetest.register_alias("mapgen_jungletree", "default:jungletree") -minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves") -minetest.register_alias("mapgen_junglegrass", "default:junglegrass") -minetest.register_alias("mapgen_pine_tree", "default:pine_tree") -minetest.register_alias("mapgen_pine_needles", "default:pine_needles") - --- Dungeons - -minetest.register_alias("mapgen_cobble", "default:cobble") -minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") -minetest.register_alias("mapgen_mossycobble", "default:mossycobble") -minetest.register_alias("mapgen_sandstonebrick", "default:sandstonebrick") -minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstonebrick") - - --- --- Register ores --- - -function default.register_ores() - -- Blob ores - -- These first to avoid other ores in blobs - - -- Clay - -- This first to avoid clay in sand blobs - - minetest.register_ore({ - ore_type = "blob", - ore = "default:clay", - wherein = {"default:sand"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, - y_min = -15, - y_max = 0, - noise_threshold = 0.0, - noise_params = { - offset = 0.5, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = -316, - octaves = 1, - persist = 0.0 - }, - }) - - -- Sand - - minetest.register_ore({ - ore_type = "blob", - ore = "default:sand", - wherein = {"default:stone", "default:sandstone", - "default:desert_stone"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, - y_min = -63, - y_max = 4, - noise_threshold = 0.0, - noise_params = { - offset = 0.5, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = 2316, - octaves = 1, - persist = 0.0 - }, - }) - - -- Dirt - - minetest.register_ore({ - ore_type = "blob", - ore = "default:dirt", - wherein = {"default:stone", "default:sandstone"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, - y_min = -63, - y_max = 31000, - noise_threshold = 0.0, - noise_params = { - offset = 0.5, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = 17676, - octaves = 1, - persist = 0.0 - }, - }) - - -- Gravel - - minetest.register_ore({ - ore_type = "blob", - ore = "default:gravel", - wherein = {"default:stone"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, - y_min = -31000, - y_max = 31000, - noise_threshold = 0.0, - noise_params = { - offset = 0.5, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = 766, - octaves = 1, - persist = 0.0 - }, - }) - - -- Scatter ores - - -- Coal - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coal", - wherein = "default:stone", - clust_scarcity = 9 * 9 * 9, - clust_num_ores = 8, - clust_size = 3, - y_min = -30000, - y_max = 64, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_stone_with_coal", - wherein = "default:desert_stone", - clust_scarcity = 9 * 9 * 9, - clust_num_ores = 10, - clust_size = 3, - y_min = 0, - y_max = 64, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coal", - wherein = "default:stone", - clust_scarcity = 24 * 24 * 24, - clust_num_ores = 27, - clust_size = 6, - y_min = -30000, - y_max = 0, - flags = "absheight", - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coal", - wherein = "default:stone", - clust_scarcity = 32 * 32 * 32, - clust_num_ores = 40, - clust_size = 4, - y_max = 64, - y_min = -30000, - }) - - -- Iron - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 12 * 12 * 12, - clust_num_ores = 3, - clust_size = 2, - y_min = -15, - y_max = 2, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 9 * 9 * 9, - clust_num_ores = 5, - clust_size = 3, - y_min = -63, - y_max = -16, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 7 * 7 * 7, - clust_num_ores = 5, - clust_size = 3, - y_min = -30000, - y_max = -64, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 24 * 24 * 24, - clust_num_ores = 27, - clust_size = 6, - y_min = -30000, - y_max = -64, - }) - - -- Copper - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 48 * 48 * 48, - clust_num_ores = 40, - clust_size = 4, - y_max = 64, - y_min = -30000, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_mese", - wherein = "default:stone", - clust_scarcity = 18 * 18 * 18, - clust_num_ores = 3, - clust_size = 2, - y_min = -255, - y_max = -128, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_mese", - wherein = "default:stone", - clust_scarcity = 14 * 14 * 14, - clust_num_ores = 5, - clust_size = 3, - y_min = -1024, - y_max = -256, - }) - - -- Gold - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:mese", - wherein = "default:stone", - clust_scarcity = 20 * 20 * 20, - clust_num_ores = 3, - clust_size = 2, - y_min = -30000, - y_max = -1024, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:mese", - wherein = "default:stone", - clust_scarcity = 40 * 40 * 40, - clust_num_ores = 3, - clust_size = 2, - y_min = -1024, - y_max = 64, - flags = "absheight", - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:mese", - wherein = "default:desert_stone", - clust_scarcity = 40 * 40 * 40, - clust_num_ores = 3, - clust_size = 2, - y_min = -1024, - y_max = 64, - flags = "absheight", - }) - - -- Beware of Meze - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:meze", - wherein = "default:stone", - clust_scarcity = 40 * 40 * 40, - clust_num_ores = 3, - clust_size = 2, - y_min = 0, - y_max = 64, - flags = "absheight", - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:meze", - wherein = "default:desert_stone", - clust_scarcity = 40 * 40 * 40, - clust_num_ores = 3, - clust_size = 2, - y_min = 0, - y_max = 64, - flags = "absheight", - }) - - - -- Tin - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_tin", - wherein = "default:stone", - clust_scarcity = 7 * 7 * 7, - clust_num_ores = 3, - clust_size = 7, - y_min = -31000, - y_max = 12, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_stone_with_tin", - wherein = "default:desert_stone", - clust_scarcity = 7 * 7 * 7, - clust_num_ores = 3, - clust_size = 7, - y_min = -31000, - y_max = 12, - }) - - -- Silver - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_silver", - wherein = "default:stone", - clust_scarcity = 11 * 11 * 11, - clust_num_ores = 4, - clust_size = 11, - y_min = -31000, - y_max = -12, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_stone_with_silver", - wherein = "default:desert_stone", - clust_scarcity = 11 * 11 * 11, - clust_num_ores = 4, - clust_size = 11, - y_min = -31000, - y_max = -12, - }) - - -- Mithril - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_mithril", - wherein = "default:stone", - clust_scarcity = 11 * 11 * 11, - clust_num_ores = 1, - clust_size = 11, - y_min = -31000, - y_max = -1024, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_mithril", - wherein = "default:stone", - clust_scarcity = 15 * 15 * 15, - clust_num_ores = 2, - clust_size = 3, - y_min = -31000, - y_max = -2048, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_mithril", - wherein = "default:stone", - clust_scarcity = 22 * 22 * 22, - clust_num_ores = 5, - clust_size = 5, - y_min = -31000, - y_max = -4096, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_mithril", - wherein = "default:stone", - clust_scarcity = 28 * 28 * 28, - clust_num_ores = 20, - clust_size = 7, - y_min = -31000, - y_max = -12288, - }) - - -- Gold - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_gold", - wherein = "default:stone", - clust_scarcity = 15 * 15 * 15, - clust_num_ores = 3, - clust_size = 2, - y_min = -255, - y_max = -64, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_gold", - wherein = "default:stone", - clust_scarcity = 13 * 13 * 13, - clust_num_ores = 5, - clust_size = 3, - y_min = -30000, - y_max = -256, - }) - - -- Diamond - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_diamond", - wherein = "default:stone", - clust_scarcity = 17 * 17 * 17, - clust_num_ores = 4, - clust_size = 3, - y_min = -512, - y_max = -256, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_diamond", - wherein = "default:stone", - clust_scarcity = 15 * 15 * 15, - clust_num_ores = 4, - clust_size = 3, - y_min = -30000, - y_max = -512, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_diamond", - wherein = "default:stone", - clust_scarcity = 30 * 30 * 30, - clust_num_ores = 32, - clust_size = 5, - y_max = -4096, - y_min = -30000, - }) - - -- Copper - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_copper", - wherein = "default:stone", - clust_scarcity = 12 * 12 * 12, - clust_num_ores = 4, - clust_size = 3, - y_min = -63, - y_max = -16, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_stone_with_copper", - wherein = "default:desert_stone", - clust_scarcity = 11 * 11 * 11, - clust_num_ores = 6, - clust_size = 3, - y_min = 0, - y_max = 64, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_copper", - wherein = "default:stone", - clust_scarcity = 10 * 10 * 10, - clust_num_ores = 5, - clust_size = 3, - y_min = -30000, - y_max = -64, - }) - - -- Gold Coins - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coin", - wherein = "default:stone", - clust_scarcity = 26 * 26 * 26, - clust_num_ores = 1, - clust_size = 1, - y_min = -30000, - y_max = 0, - flags = "absheight", - }) - - -- Super Apples - - minetest.register_ore({ - ore_type = "scatter", - ore = "maptools:superapple", - wherein = "default:apple", - clust_scarcity = 6 * 6 * 6, - clust_num_ores = 5, - clust_size = 2, - y_min = 0, - y_max = 64, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "maptools:superapple", - wherein = "default:jungleleaves", - clust_scarcity = 16 * 16 * 16, - clust_num_ores = 5, - clust_size = 2, - y_min = 0, - y_max = 64, - }) - - -- Underground springs: - - -- The fissures noise from watershed mapgen. Used to avoid liquid ores near fissures, that would sink for hundreds of nodes below. - local noise_fissure = { - offset = 0, - scale = 1, - spread = {x=256,y=512,z=256}, - persist = 0.5, - octaves = 5, - seed = 20099, - } - - -- Inverted fissure noise to generate ores on both sides of the fissures - local noise_fissure_inv = table.copy(noise_fissure) - noise_fissure_inv.scale = - noise_fissure.scale - - local threshold = 0.08 - - local function register_liquid_ore(oredef) - local neworedef = table.copy(oredef) -- Do not modify original table - neworedef.noise_params = noise_fissure -- Fissure noise - neworedef.noise_threshold = threshold - minetest.register_ore(neworedef) - - neworedef = table.copy(neworedef) - neworedef.noise_params = noise_fissure_inv -- Inverted fissure noise - minetest.register_ore(neworedef) - end - - register_liquid_ore({ - ore_type = "scatter", - ore = "default:water_source", - ore_param2 = 128, - wherein = "default:stone", - clust_scarcity = 20 * 20 * 20, - clust_num_ores = 10, - clust_size = 4, - y_min = -10000, - y_max = -10, - }) - - register_liquid_ore({ - ore_type = "scatter", - ore = "default:lava_source", - ore_param2 = 128, - wherein = "default:stone", - clust_scarcity = 32 * 32 * 32, - clust_num_ores = 5, - clust_size = 2, - y_min = -30000, - y_max = -100, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:dirt", - wherein = "default:stone", - clust_scarcity = 16 * 16 * 16, - clust_num_ores = 64, - clust_size = 5, - y_max = 64, - y_min = -4096, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:gravel", - wherein = "default:stone", - clust_scarcity = 16 * 16 * 16, - clust_num_ores = 64, - clust_size = 5, - y_max = 64, - y_min = -30000, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:sand", - wherein = "default:stone", - clust_scarcity = 24 * 24 * 24, - clust_num_ores = 32, - clust_size = 4, - y_max = 64, - y_min = -1024, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:clay", - wherein = "default:stone", - clust_scarcity = 32 * 32 * 32, - clust_num_ores = 32, - clust_size = 4, - y_max = 64, - y_min = -1024, - }) - - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:cobble", - wherein = "default:stone", - clust_scarcity = 40 * 40 * 40, - clust_num_ores = 512, - clust_size = 9, - y_max = 64, - y_min = -4096, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_cobble", - wherein = "default:desert_stone", - clust_scarcity = 40 * 40 * 40, - clust_num_ores = 512, - clust_size = 9, - y_max = 64, - y_min = 0, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "default:clay", - wherein = "default:sand", - clust_scarcity = 14 * 14 * 14, - clust_num_ores = 64, - clust_size = 5, - y_max = 4, - y_min = -8, - }) - - -- Air rooms in dirt: - - minetest.register_ore({ - ore_type = "scatter", - ore = "air", - wherein = "default:dirt", - clust_scarcity = 24 * 24 * 24, - clust_num_ores = 200, - clust_size = 7, - y_min = -30000, - y_max = 64, - }) - - -- Acid lakes in gravel: - - register_liquid_ore({ - ore_type = "scatter", - ore = "default:acid_source", - wherein = "default:gravel", - clust_scarcity = 26 * 26 * 26, - clust_num_ores = 64, - clust_size = 5, - y_min = -30000, - y_max = 64, - }) -end - - --- --- Register biomes --- - --- All mapgens except mgv6 and singlenode - -function default.register_biomes() - minetest.clear_registered_biomes() - - -- Permanent ice - - minetest.register_biome({ - name = "glacier", - node_dust = "default:snowblock", - node_top = "default:snowblock", - depth_top = 1, - node_filler = "default:snowblock", - depth_filler = 3, - node_stone = "default:ice", - node_water_top = "default:ice", - depth_water_top = 10, - --node_water = "", - node_river_water = "default:ice", - node_riverbed = "default:gravel", - depth_riverbed = 2, - y_min = -8, - y_max = 31000, - heat_point = 0, - humidity_point = 50, - }) - - minetest.register_biome({ - name = "glacier_ocean", - node_dust = "default:snowblock", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - y_min = -112, - y_max = -9, - heat_point = 0, - humidity_point = 50, - }) - - -- Cold - - minetest.register_biome({ - name = "tundra", - --node_dust = "", - node_top = "default:dirt_with_snow", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 1, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:gravel", - depth_riverbed = 2, - y_min = 2, - y_max = 31000, - heat_point = 15, - humidity_point = 35, - }) - - minetest.register_biome({ - name = "tundra_beach", - --node_dust = "", - node_top = "default:gravel", - depth_top = 1, - node_filler = "default:gravel", - depth_filler = 2, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:gravel", - depth_riverbed = 2, - y_min = -3, - y_max = 1, - heat_point = 15, - humidity_point = 35, - }) - - minetest.register_biome({ - name = "tundra_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:gravel", - depth_riverbed = 2, - y_min = -112, - y_max = -4, - heat_point = 15, - humidity_point = 35, - }) - - - minetest.register_biome({ - name = "taiga", - node_dust = "default:snow", - node_top = "default:dirt_with_snow", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 2, - y_max = 31000, - heat_point = 15, - humidity_point = 65, - }) - - minetest.register_biome({ - name = "taiga_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = 1, - heat_point = 15, - humidity_point = 65, - }) - - -- Temperate - - minetest.register_biome({ - name = "stone_grassland", - --node_dust = "", - node_top = "default:dirt_with_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 1, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 6, - y_max = 31000, - heat_point = 40, - humidity_point = 35, - }) - - minetest.register_biome({ - name = "stone_grassland_dunes", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 2, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 5, - y_max = 5, - heat_point = 40, - humidity_point = 35, - }) - - minetest.register_biome({ - name = "stone_grassland_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = 4, - heat_point = 40, - humidity_point = 35, - }) - - - minetest.register_biome({ - name = "coniferous_forest", - --node_dust = "", - node_top = "default:dirt_with_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 6, - y_max = 31000, - heat_point = 40, - humidity_point = 65, - }) - - minetest.register_biome({ - name = "coniferous_forest_dunes", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 5, - y_max = 5, - heat_point = 40, - humidity_point = 65, - }) - - minetest.register_biome({ - name = "coniferous_forest_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = 4, - heat_point = 40, - humidity_point = 65, - }) - - - minetest.register_biome({ - name = "sandstone_grassland", - --node_dust = "", - node_top = "default:dirt_with_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 1, - node_stone = "default:sandstone", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 6, - y_max = 31000, - heat_point = 60, - humidity_point = 35, - }) - - minetest.register_biome({ - name = "sandstone_grassland_dunes", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 2, - node_stone = "default:sandstone", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 5, - y_max = 5, - heat_point = 60, - humidity_point = 35, - }) - - minetest.register_biome({ - name = "sandstone_grassland_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - node_stone = "default:sandstone", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = 4, - heat_point = 60, - humidity_point = 35, - }) - - - minetest.register_biome({ - name = "deciduous_forest", - --node_dust = "", - node_top = "default:dirt_with_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 1, - y_max = 31000, - heat_point = 60, - humidity_point = 65, - }) - - minetest.register_biome({ - name = "deciduous_forest_swamp", - --node_dust = "", - node_top = "default:dirt", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -3, - y_max = 0, - heat_point = 60, - humidity_point = 65, - }) - - minetest.register_biome({ - name = "deciduous_forest_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = -4, - heat_point = 60, - humidity_point = 65, - }) - - -- Hot - - minetest.register_biome({ - name = "desert", - --node_dust = "", - node_top = "default:desert_sand", - depth_top = 1, - node_filler = "default:desert_sand", - depth_filler = 1, - node_stone = "default:desert_stone", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 5, - y_max = 31000, - heat_point = 85, - humidity_point = 20, - }) - - minetest.register_biome({ - name = "desert_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - node_stone = "default:desert_stone", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = 4, - heat_point = 85, - humidity_point = 20, - }) - - - minetest.register_biome({ - name = "savanna", - --node_dust = "", - node_top = "default:dirt_with_dry_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 1, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 1, - y_max = 31000, - heat_point = 85, - humidity_point = 50, - }) - - minetest.register_biome({ - name = "savanna_swamp", - --node_dust = "", - node_top = "default:dirt", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -3, - y_max = 0, - heat_point = 85, - humidity_point = 50, - }) - - minetest.register_biome({ - name = "savanna_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = -4, - heat_point = 85, - humidity_point = 50, - }) - - - minetest.register_biome({ - name = "rainforest", - --node_dust = "", - node_top = "default:dirt_with_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = 1, - y_max = 31000, - heat_point = 85, - humidity_point = 80, - }) - - minetest.register_biome({ - name = "rainforest_swamp", - --node_dust = "", - node_top = "default:dirt", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -3, - y_max = 0, - heat_point = 85, - humidity_point = 80, - }) - - minetest.register_biome({ - name = "rainforest_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - node_riverbed = "default:sand", - depth_riverbed = 2, - y_min = -112, - y_max = -4, - heat_point = 85, - humidity_point = 80, - }) - - -- Underground - - minetest.register_biome({ - name = "underground", - --node_dust = "", - --node_top = "", - --depth_top = , - --node_filler = "", - --depth_filler = , - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - --node_river_water = "", - y_min = -31000, - y_max = -113, - heat_point = 50, - humidity_point = 50, - }) -end - - --- --- Register decorations --- - --- Mgv6 - -function default.register_mgv6_decorations() - minetest.clear_registered_decorations() - - -- Papyrus - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = -0.3, - scale = 0.7, - spread = {x = 100, y = 100, z = 100}, - seed = 354, - octaves = 3, - persist = 0.7 - }, - y_min = 1, - y_max = 1, - decoration = "default:papyrus", - height = 2, - height_max = 4, - spawn_by = "default:water_source", - num_spawn_by = 1, - }) - - -- Cacti - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:desert_sand"}, - sidelen = 16, - noise_params = { - offset = -0.012, - scale = 0.024, - spread = {x = 100, y = 100, z = 100}, - seed = 230, - octaves = 3, - persist = 0.6 - }, - y_min = 1, - y_max = 30, - decoration = "default:cactus", - height = 3, - height_max = 4, - }) - - -- Long grasses - - for length = 1, 5 do - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.007, - spread = {x = 100, y = 100, z = 100}, - seed = 329, - octaves = 3, - persist = 0.6 - }, - y_min = 1, - y_max = 30, - decoration = "default:grass_"..length, - }) - end - - -- Dry shrubs - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:desert_sand", "default:dirt_with_snow"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.035, - spread = {x = 100, y = 100, z = 100}, - seed = 329, - octaves = 3, - persist = 0.6 - }, - y_min = 1, - y_max = 30, - decoration = "default:dry_shrub", - }) - - -- Cherry tree - minetest.register_decoration({ - deco_type = "simple", - place_on = "default:dirt_with_grass", - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.005, - spread = {x=100, y=100, z=100}, - seed = 278, - octaves = 2, - persist = 0.7 - }, - decoration = "default:mg_cherry_sapling", - height = 1, - }) -end - --- All mapgens except mgv6 and singlenode - -local function register_grass_decoration(offset, scale, length) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass", "default:sand"}, - sidelen = 16, - noise_params = { - offset = offset, - scale = scale, - spread = {x = 200, y = 200, z = 200}, - seed = 329, - octaves = 3, - persist = 0.6 - }, - biomes = {"stone_grassland", "sandstone_grassland", - "deciduous_forest", "coniferous_forest", - "stone_grassland_dunes", "sandstone_grassland_dunes", - "coniferous_forest_dunes"}, - y_min = 1, - y_max = 31000, - decoration = "default:grass_"..length, - }) -end - -local function register_dry_grass_decoration(offset, scale, length) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_dry_grass"}, - sidelen = 16, - noise_params = { - offset = offset, - scale = scale, - spread = {x = 200, y = 200, z = 200}, - seed = 329, - octaves = 3, - persist = 0.6 - }, - biomes = {"savanna"}, - y_min = 1, - y_max = 31000, - decoration = "default:dry_grass_"..length, - }) -end - -function default.register_decorations() - minetest.clear_registered_decorations() - - -- Apple tree and log - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0.036, - scale = 0.022, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"deciduous_forest"}, - y_min = 1, - y_max = 31000, - schematic = minetest.get_modpath("default").."/schematics/apple_tree.mts", - flags = "place_center_x, place_center_z", - }) - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0.0018, - scale = 0.0011, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"deciduous_forest"}, - y_min = 1, - y_max = 31000, - schematic = { - size = {x = 3, y = 3, z = 1}, - data = { - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "default:tree", param2 = 12, prob = 191}, - {name = "default:tree", param2 = 12}, - {name = "default:tree", param2 = 12, prob = 127}, - {name = "air", prob = 0}, - {name = "flowers:mushroom_brown", prob = 63}, - {name = "air", prob = 0}, - }, - }, - flags = "place_center_x", - rotation = "random", - }) - - -- Jungle tree and log - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_grass", "default:dirt"}, - sidelen = 80, - fill_ratio = 0.1, - biomes = {"rainforest", "rainforest_swamp"}, - y_min = 0, - y_max = 31000, - schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts", - flags = "place_center_x, place_center_z", - rotation = "random", - }) - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_grass", "default:dirt"}, - sidelen = 80, - fill_ratio = 0.005, - biomes = {"rainforest", "rainforest_swamp"}, - y_min = 1, - y_max = 31000, - schematic = { - size = {x = 3, y = 3, z = 1}, - data = { - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "default:jungletree", param2 = 12, prob = 191}, - {name = "default:jungletree", param2 = 12}, - {name = "default:jungletree", param2 = 12, prob = 127}, - {name = "air", prob = 0}, - {name = "flowers:mushroom_brown", prob = 127}, - {name = "air", prob = 0}, - }, - }, - flags = "place_center_x", - rotation = "random", - }) - - -- Taiga and temperate coniferous forest pine tree and log - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_snow", "default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0.036, - scale = 0.022, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"taiga", "coniferous_forest"}, - y_min = 2, - y_max = 31000, - schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts", - flags = "place_center_x, place_center_z", - }) - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_snow", "default:dirt_with_grass"}, - sidelen = 80, - noise_params = { - offset = 0.0018, - scale = 0.0011, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"taiga", "coniferous_forest"}, - y_min = 1, - y_max = 31000, - schematic = { - size = {x = 3, y = 3, z = 1}, - data = { - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "default:pine_tree", param2 = 12, prob = 191}, - {name = "default:pine_tree", param2 = 12}, - {name = "default:pine_tree", param2 = 12, prob = 127}, - {name = "air", prob = 0}, - {name = "flowers:mushroom_red", prob = 63}, - {name = "air", prob = 0}, - }, - }, - flags = "place_center_x", - rotation = "random", - }) - - -- Acacia tree and log - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_dry_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.002, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"savanna"}, - y_min = 1, - y_max = 31000, - schematic = minetest.get_modpath("default").."/schematics/acacia_tree.mts", - flags = "place_center_x, place_center_z", - rotation = "random", - }) - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_dry_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.001, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"savanna"}, - y_min = 1, - y_max = 31000, - schematic = { - size = {x = 3, y = 2, z = 1}, - data = { - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "default:acacia_tree", param2 = 12, prob = 191}, - {name = "default:acacia_tree", param2 = 12}, - {name = "default:acacia_tree", param2 = 12, prob = 127}, - }, - }, - flags = "place_center_x", - rotation = "random", - }) - - -- Aspen tree and log - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0.0, - scale = -0.015, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"deciduous_forest"}, - y_min = 1, - y_max = 31000, - schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts", - flags = "place_center_x, place_center_z", - }) - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0.0, - scale = -0.0008, - spread = {x = 250, y = 250, z = 250}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"deciduous_forest"}, - y_min = 1, - y_max = 31000, - schematic = { - size = {x = 3, y = 3, z = 1}, - data = { - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "air", prob = 0}, - {name = "default:aspen_tree", param2 = 12}, - {name = "default:aspen_tree", param2 = 12}, - {name = "default:aspen_tree", param2 = 12, prob = 127}, - {name = "flowers:mushroom_red", prob = 63}, - {name = "flowers:mushroom_brown", prob = 63}, - {name = "air", prob = 0}, - }, - }, - flags = "place_center_x", - rotation = "random", - }) - -- Large cactus - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:desert_sand"}, - sidelen = 16, - noise_params = { - offset = -0.0003, - scale = 0.0009, - spread = {x = 200, y = 200, z = 200}, - seed = 230, - octaves = 3, - persist = 0.6 - }, - biomes = {"desert"}, - y_min = 5, - y_max = 31000, - schematic = minetest.get_modpath("default").."/schematics/large_cactus.mts", - flags = "place_center_x", - rotation = "random", - }) - - -- Cactus - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:desert_sand"}, - sidelen = 16, - noise_params = { - offset = -0.0003, - scale = 0.0009, - spread = {x = 200, y = 200, z = 200}, - seed = 230, - octaves = 3, - persist = 0.6 - }, - biomes = {"desert"}, - y_min = 5, - y_max = 31000, - decoration = "default:cactus", - height = 2, - height_max = 5, - }) - - -- Papyrus - - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt"}, - sidelen = 16, - noise_params = { - offset = -0.3, - scale = 0.7, - spread = {x = 200, y = 200, z = 200}, - seed = 354, - octaves = 3, - persist = 0.7 - }, - biomes = {"savanna_swamp"}, - y_min = 0, - y_max = 0, - schematic = minetest.get_modpath("default").."/schematics/papyrus.mts", - }) - - -- Grasses - - register_grass_decoration(-0.03, 0.09, 5) - register_grass_decoration(-0.015, 0.075, 4) - register_grass_decoration(0, 0.06, 3) - register_grass_decoration(0.015, 0.045, 2) - register_grass_decoration(0.03, 0.03, 1) - - -- Dry grasses - - register_dry_grass_decoration(0.01, 0.05, 5) - register_dry_grass_decoration(0.03, 0.03, 4) - register_dry_grass_decoration(0.05, 0.01, 3) - register_dry_grass_decoration(0.07, -0.01, 2) - register_dry_grass_decoration(0.09, -0.03, 1) - - -- Junglegrass - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 80, - fill_ratio = 0.1, - biomes = {"rainforest"}, - y_min = 1, - y_max = 31000, - decoration = "default:junglegrass", - }) - - -- Dry shrub - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:desert_sand", "default:dirt_with_snow"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.02, - spread = {x = 200, y = 200, z = 200}, - seed = 329, - octaves = 3, - persist = 0.6 - }, - biomes = {"desert", "tundra"}, - y_min = 2, - y_max = 31000, - decoration = "default:dry_shrub", - }) -end - - --- --- Detect mapgen to select functions --- ---local mg_params = minetest.get_mapgen_params() --(1) MFF IMPORTANT for mt <= 0.14.4 stable ---if mg_params.mgname == "v6" then --(1) -local mg_name = minetest.get_mapgen_setting("mg_name") --(2) for mt > 0.14.4 stable -if mg_name == "v6" then--(2) - default.register_ores() - default.register_mgv6_decorations() -else - default.register_biomes() - default.register_ores() - default.register_decorations() -end diff --git a/minetestforfun_game/mods/default/models/character.b3d b/minetestforfun_game/mods/default/models/character.b3d deleted file mode 100755 index bc9d9273..00000000 Binary files a/minetestforfun_game/mods/default/models/character.b3d and /dev/null differ diff --git a/minetestforfun_game/mods/default/models/character.png b/minetestforfun_game/mods/default/models/character.png deleted file mode 100644 index 05021781..00000000 Binary files a/minetestforfun_game/mods/default/models/character.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/nodes.lua b/minetestforfun_game/mods/default/nodes.lua deleted file mode 100755 index f1a1c750..00000000 --- a/minetestforfun_game/mods/default/nodes.lua +++ /dev/null @@ -1,2701 +0,0 @@ --- mods/default/nodes.lua - - ---[[ Node name convention: - -Although many node names are in combined-word form, the required form for new -node names is words separated by underscores. If both forms are used in written -language (for example pinewood and pine wood) the underscore form should be used. - ---]] - - ---[[ Index: - -Stone ------ -(1. Material 2. Cobble variant 3. Brick variant 4. Modified forms) - -default:stone -default:cobble -default:stonebrick -default:stone_block -default:mossycobble - -default:desert_stone -default:desert_cobble -default:desert_stonebrick -default:desert_stone_block - -default:sandstone -default:sandstonebrick -default:sandstone_block - -default:obsidian -default:obsidian_cooled -default:obsidianbrick -default:obsidian_block - -Soft / Non-Stone ----------------- -(1. Material 2. Modified forms) - -default:dirt -default:dirt_with_grass -default:dirt_with_grass_footsteps -default:dirt_with_dry_grass -default:dirt_with_snow - -default:sand -default:desert_sand -default:silver_sand - -default:gravel - -default:clay -default:clay_burned - -default:snow -default:snowblock - -default:ice - -Trees ------ -(1. Trunk 2. Fabricated trunk 3. Leaves 4. Sapling 5. Fruits) - -default:tree -default:wood -default:leaves -default:sapling -default:apple - -default:jungletree -default:junglewood -default:jungleleaves -default:junglesapling - -default:pine_tree -default:pine_wood -default:pine_needles -default:pine_sapling - -default:acacia_tree -default:acacia_wood -default:acacia_leaves -default:acacia_sapling - -default:aspen_tree -default:aspen_wood -default:aspen_leaves -default:aspen_sapling - -default:cherry_tree -default:cherry_log -default:cherry_plank -default:cherry_blossom_leaves -default:cherry_leaves_deco - -Ores ----- -(1. In stone 2. Blocks) - -default:stone_with_coal -default:desert_stone_with_coal -default:coalblock - -default:stone_with_iron -default:steelblock - -default:stone_with_copper -default:desert_stone_with_copper -default:copperblock - -default:stone_with_tin -default:desert_stone_with_tin -default:tinblock - -default:bronzeblock - -default:stone_with_silver -default:desert_stone_with_silver -default:silverblock - -default:stone_with_mithril -default:mithrilblock - -default:stone_with_gold -default:goldblock - -default:stone_with_mese -default:mese -default:meze - -default:stone_with_diamond -default:diamondblock - -default:stone_with_coin - -Plantlife ---------- - -default:cactus -default:papyrus -default:dry_shrub -default:junglegrass - -default:grass_1 -default:grass_2 -default:grass_3 -default:grass_4 -default:grass_5 - -default:dry_grass_1 -default:dry_grass_2 -default:dry_grass_3 -default:dry_grass_4 -default:dry_grass_5 - -default:bush_stem -default:bush_leaves -default:acacia_bush_stem -default:acacia_bush_leaves - -Corals ------- - -default:coral_brown -default:coral_orange -default:coral_skeleton - -Liquids -------- -(1. Source 2. Flowing) - -default:water_source -default:water_flowing - -default:river_water_source -default:river_water_flowing - -default:lava_source -default:lava_flowing - -default:acid_source -default:acid_flowing - -default:sand_source -default:sand_flowing - -Tools / "Advanced" crafting / Non-"natural" -------------------------------------------- - -default:torch - -default:chest -default:chest_locked - -default:bookshelf - -default:sign_wall_wood -default:sign_wall_steel - -default:ladder_wood -default:ladder_steel -default:ladder_obsidian - -default:fence_wood -default:fence_acacia_wood -default:fence_junglewood -default:fence_pine_wood -default:fence_aspen_wood -default:fence_cobble -default:fence_desert_cobble -default:fence_steelblock -default:fence_brick - -default:glass -default:obsidian_glass - -default:rail - -default:brick - -default:meselamp - -Misc ----- - -default:cloud - ---]] - --- --- Stone --- - -minetest.register_node("default:stone", { - description = "Stone", - tiles = {"default_stone.png"}, - groups = {cracky = 3, stone = 1}, - drop = 'default:cobble', - legacy_mineral = true, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:cobble", { - description = "Cobblestone", - tiles = {"default_cobble.png"}, - is_ground_content = false, - groups = {cracky=3, stone=2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:cobble_cooled", { - description = "Cobblestone (cooled)", - tiles = {"default_cobble.png"}, - is_ground_content = true, - drop = "default:cobble", - groups = {cracky = 3, stone = 2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:stonebrick", { - description = "Stone Brick", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_stone_brick.png"}, - is_ground_content = false, - groups = {cracky = 2, stone = 1}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:stone_block", { - description = "Stone Block", - tiles = {"default_stone_block.png"}, - is_ground_content = false, - groups = {cracky = 2, stone = 1}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:mossycobble", { - description = "Mossy Cobblestone", - tiles = {"default_mossycobble.png"}, - is_ground_content = false, - groups = {cracky = 3, stone = 1}, - sounds = default.node_sound_stone_defaults(), -}) - - -minetest.register_node("default:desert_stone", { - description = "Desert Stone", - tiles = {"default_desert_stone.png"}, - groups = {cracky = 3, stone = 1}, - drop = 'default:desert_cobble', - legacy_mineral = true, - drop = { - items = { - {items = {"default:desert_cobble"}}, - {items = {"maptools:copper_coin"}, rarity = 20}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:desert_cobble", { - description = "Desert Cobblestone", - tiles = {"default_desert_cobble.png"}, - is_ground_content = false, - groups = {cracky = 3, stone = 2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:desert_stonebrick", { - description = "Desert Stone Brick", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_desert_stone_brick.png"}, - is_ground_content = false, - groups = {cracky = 2, stone = 1}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:desert_stone_block", { - description = "Desert Stone Block", - tiles = {"default_desert_stone_block.png"}, - is_ground_content = false, - groups = {cracky = 2, stone = 1}, - sounds = default.node_sound_stone_defaults(), -}) - - -minetest.register_node("default:sandstone", { - description = "Sandstone", - tiles = {"default_sandstone.png"}, - groups = {crumbly = 1, cracky = 3}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:sandstonebrick", { - description = "Sandstone Brick", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_sandstone_brick.png"}, - is_ground_content = false, - groups = {cracky = 2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:sandstone_block", { - description = "Sandstone Block", - tiles = {"default_sandstone_block.png"}, - is_ground_content = false, - groups = {cracky = 2}, - sounds = default.node_sound_stone_defaults(), -}) - - -minetest.register_node("default:obsidian", { - description = "Obsidian", - tiles = {"default_obsidian.png"}, - is_ground_content = true, - sounds = default.node_sound_stone_defaults(), - groups = {cracky = 1, level = 2}, -}) - -minetest.register_node("default:obsidian_cooled", { - description = "Obsidian (cooled)", - tiles = {"default_obsidian.png"}, - is_ground_content = true, - drop = "default:obsidian", - sounds = default.node_sound_stone_defaults(), - groups = {cracky = 1, level = 2}, -}) - -minetest.register_node("default:obsidianbrick", { - description = "Obsidian Brick", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_obsidian_brick.png"}, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - groups = {cracky = 1, level = 2}, -}) - -minetest.register_node("default:obsidian_block", { - description = "Obsidian Block", - tiles = {"default_obsidian_block.png"}, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - groups = {cracky = 1, level = 2}, -}) - --- --- Soft / Non-Stone --- - -minetest.register_node("default:dirt", { - description = "Dirt", - tiles = {"default_dirt.png"}, - groups = {crumbly = 3, soil = 1}, - drop = { - items = { - {items = {"default:dirt"}}, - {items = {"maptools:copper_coin"}, rarity = 32}, - }, - }, - sounds = default.node_sound_dirt_defaults(), -}) - -minetest.register_node("default:dirt_with_grass", { - description = "Dirt with Grass", - tiles = {"default_grass.png", "default_dirt.png", - {name = "default_dirt.png^default_grass_side.png", - tileable_vertical = false}}, - groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, - drop = 'default:dirt', - sounds = default.node_sound_dirt_defaults({ - footstep = {name = "default_grass_footstep", gain = 0.25}, - }), -}) - -minetest.register_node("default:dirt_with_grass_footsteps", { - description = "Dirt with Grass and Footsteps", - tiles = {"default_grass.png^default_footprint.png", "default_dirt.png", - {name = "default_dirt.png^default_grass_side.png", - tileable_vertical = false}}, - groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1}, - drop = 'default:dirt', - sounds = default.node_sound_dirt_defaults({ - footstep = {name = "default_grass_footstep", gain = 0.25}, - }), -}) - -minetest.register_node("default:dirt_with_dry_grass", { - description = "Dirt with Dry Grass", - tiles = {"default_dry_grass.png", - "default_dirt.png", - {name = "default_dirt.png^default_dry_grass_side.png", - tileable_vertical = false}}, - groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, - drop = 'default:dirt', - sounds = default.node_sound_dirt_defaults({ - footstep = {name = "default_grass_footstep", gain = 0.4}, - }), -}) - -minetest.register_node("default:dirt_with_snow", { - description = "Dirt with Snow", - tiles = {"default_snow.png", "default_dirt.png", - {name = "default_dirt.png^default_snow_side.png", - tileable_vertical = false}}, - groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, - drop = { - items = { - {items = {"default:dirt"}}, - {items = {"default:snow"}}, - }, - }, - sounds = default.node_sound_dirt_defaults({ - footstep = {name = "default_snow_footstep", gain = 0.15}, - }), -}) - -minetest.register_node("default:sand", { - description = "Sand", - tiles = {"default_sand.png"}, - groups = {crumbly = 3, falling_node = 1, sand = 1}, - sounds = default.node_sound_sand_defaults(), -}) - -minetest.register_node("default:desert_sand", { - description = "Desert Sand", - tiles = {"default_desert_sand.png"}, - groups = {crumbly = 3, falling_node = 1, sand = 1}, - sounds = default.node_sound_sand_defaults(), -}) - -minetest.register_node("default:silver_sand", { - description = "Silver Sand", - tiles = {"default_silver_sand.png"}, - groups = {crumbly = 3, falling_node = 1, sand = 1}, - sounds = default.node_sound_sand_defaults(), -}) - - -minetest.register_node("default:gravel", { - description = "Gravel", - tiles = {"default_gravel.png"}, - groups = {crumbly = 2, falling_node = 1}, - sounds = default.node_sound_gravel_defaults(), - drop = { - max_items = 1, - items = { - {items = {'default:flint'}, rarity = 16}, - {items = {'default:gravel'}} - } - } -}) - -minetest.register_node("default:clay", { - description = "Clay", - tiles = {"default_clay.png"}, - is_ground_content = true, - groups = {crumbly=3}, - drop = { - items = { - {items = {"default:clay_lump 4"}}, - }, - }, - stack_max = 200, -- /MFF(Mg|07/24/25) - sounds = default.node_sound_dirt_defaults(), -}) - ---[[minetest.register_node("default:clay_burned", { - description = "Burned Clay", - tiles = {"default_clay_burned.png"}, - is_ground_content = true, - groups = {crumbly = 3}, - drop = 'default:clay_lump 4', - sounds = default.node_sound_dirt_defaults(), -}) ---]] - -minetest.register_node("default:snow", { - description = "Snow", - tiles = {"default_snow.png"}, - inventory_image = "default_snowball.png", - wield_image = "default_snowball.png", - paramtype = "light", - buildable_to = true, - floodable = true, - walkable = false, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - }, - }, - groups = {crumbly = 3, falling_node = 1, puts_out_fire = 1}, - sounds = default.node_sound_dirt_defaults({ - footstep = {name = "default_snow_footstep", gain = 0.15}, - dug = {name = "default_snow_footstep", gain = 0.2}, - dig = {name = "default_snow_footstep", gain = 0.2} - }), - - on_construct = function(pos) - pos.y = pos.y - 1 - if minetest.get_node(pos).name == "default:dirt_with_grass" then - minetest.set_node(pos, {name = "default:dirt_with_snow"}) - end - end, -}) - -minetest.register_node("default:snowblock", { - description = "Snow Block", - tiles = {"default_snow.png"}, - groups = {crumbly = 3, puts_out_fire = 1}, - sounds = default.node_sound_dirt_defaults({ - footstep = {name = "default_snow_footstep", gain = 0.15}, - dug = {name = "default_snow_footstep", gain = 0.2}, - dig = {name = "default_snow_footstep", gain = 0.2} - }), - - on_construct = function(pos) - pos.y = pos.y - 1 - if minetest.get_node(pos).name == "default:dirt_with_grass" then - minetest.set_node(pos, {name = "default:dirt_with_snow"}) - end - end, -}) - -minetest.register_node("default:ice", { - description = "Ice", - tiles = {"default_ice.png"}, - is_ground_content = false, - paramtype = "light", - groups = {cracky = 3, puts_out_fire = 1}, - sounds = default.node_sound_glass_defaults(), -}) - --- --- Trees --- - -minetest.register_node("default:tree", { - description = "Tree", - tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - - on_place = minetest.rotate_node -}) - -minetest.register_node("default:wood", { - description = "Wooden Planks", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_wood.png"}, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:sapling", { - description = "Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_sapling.png"}, - inventory_image = "default_sapling.png", - wield_image = "default_sapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - on_timer = default.grow_sapling, - selection_box = { - type = "fixed", - fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} - }, - groups = {snappy = 2, dig_immediate = 3, flammable = 2, - attached_node = 1, sapling = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_construct = function(pos) - minetest.get_node_timer(pos):start(math.random(2400,4800)) - end, - - on_place = function(itemstack, placer, pointed_thing) - itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, - "default:sapling", - -- minp, maxp to be checked, relative to sapling pos - -- minp_relative.y = 1 because sapling pos has been checked - {x = -2, y = 1, z = -2}, - {x = 2, y = 6, z = 2}, - -- maximum interval of interior volume check - 4) - - return itemstack - end, -}) - -minetest.register_node("default:leaves", { - description = "Leaves", - drawtype = "allfaces_optional", - waving = 1, - tiles = {"default_leaves.png"}, - special_tiles = {"default_leaves_simple.png"}, - paramtype = "light", - is_ground_content = false, - groups = {snappy = 3, leafdecay = 3, leafdecay_drop = 1, flammable = 2, leaves = 1}, - drop = { - max_items = 1, - items = { - { - -- player will get sapling with 1/20 chance - items = {'default:sapling'}, - rarity = 20, - }, - { - -- player will get leaves only if he get no saplings, - -- this is because max_items is 1 - items = {'default:leaves'}, - } - } - }, - sounds = default.node_sound_leaves_defaults(), - - after_place_node = default.after_place_leaves, -}) - -minetest.register_node("default:apple", { - description = "Apple", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_apple.png"}, - inventory_image = "default_apple.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - is_ground_content = false, - selection_box = { - type = "fixed", - fixed = {-3 / 16, -7 / 16, -3 / 16, 3 / 16, 4 / 16, 3 / 16} - }, - groups = {fleshy = 3, dig_immediate = 3, flammable = 2, - leafdecay = 3, leafdecay_drop = 1}, - on_use = minetest.item_eat(2), - sounds = default.node_sound_leaves_defaults(), - - after_place_node = function(pos, placer, itemstack) - if placer:is_player() then - minetest.set_node(pos, {name = "default:apple", param2 = 1}) - end - end, -}) - - -minetest.register_node("default:jungletree", { - description = "Jungle Tree", - tiles = {"default_jungletree_top.png", "default_jungletree_top.png", - "default_jungletree.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - - on_place = minetest.rotate_node -}) - -minetest.register_node("default:junglewood", { - description = "Junglewood Planks", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_junglewood.png"}, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:jungleleaves", { - description = "Jungle Leaves", - drawtype = "allfaces_optional", - waving = 1, - tiles = {"default_jungleleaves.png"}, - special_tiles = {"default_jungleleaves_simple.png"}, - paramtype = "light", - is_ground_content = false, - groups = {snappy = 3, leafdecay = 3, leafdecay_drop = 1, flammable = 2, leaves = 1}, - drop = { - max_items = 1, - items = { - {items = {'default:junglesapling'}, rarity = 20}, - {items = {'default:jungleleaves'}} - } - }, - sounds = default.node_sound_leaves_defaults(), - - after_place_node = default.after_place_leaves, -}) - -minetest.register_node("default:junglesapling", { - description = "Jungle Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_junglesapling.png"}, - inventory_image = "default_junglesapling.png", - wield_image = "default_junglesapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - on_timer = default.grow_sapling, - selection_box = { - type = "fixed", - fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} - }, - groups = {snappy = 2, dig_immediate = 3, flammable = 2, - attached_node = 1, sapling = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_construct = function(pos) - minetest.get_node_timer(pos):start(math.random(2400,4800)) - end, - - on_place = function(itemstack, placer, pointed_thing) - itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, - "default:junglesapling", - -- minp, maxp to be checked, relative to sapling pos - -- minp_relative.y = 1 because sapling pos has been checked - {x = -2, y = 1, z = -2}, - {x = 2, y = 15, z = 2}, - -- maximum interval of interior volume check - 4) - - return itemstack - end, -}) - - -minetest.register_node("default:pine_tree", { - description = "Pine Tree", - tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png", - "default_pine_tree.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3}, - sounds = default.node_sound_wood_defaults(), - - on_place = minetest.rotate_node -}) - -minetest.register_node("default:pine_wood", { - description = "Pine Wood Planks", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_pine_wood.png"}, - is_ground_content = false, - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:pine_needles",{ - description = "Pine Needles", - drawtype = "allfaces_optional", - tiles = {"default_pine_needles.png"}, - waving = 1, - paramtype = "light", - is_ground_content = false, - groups = {snappy = 3, leafdecay = 3, leafdecay_drop = 1, flammable = 2, leaves = 1}, - drop = { - max_items = 1, - items = { - {items = {"default:pine_sapling"}, rarity = 20}, - {items = {"default:pine_needles"}} - } - }, - sounds = default.node_sound_leaves_defaults(), - - after_place_node = default.after_place_leaves, -}) - -minetest.register_node("default:pine_sapling", { - description = "Pine Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_pine_sapling.png"}, - inventory_image = "default_pine_sapling.png", - wield_image = "default_pine_sapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - on_timer = default.grow_sapling, - selection_box = { - type = "fixed", - fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} - }, - groups = {snappy = 2, dig_immediate = 3, flammable = 3, - attached_node = 1, sapling = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_construct = function(pos) - minetest.get_node_timer(pos):start(math.random(2400,4800)) - end, - - on_place = function(itemstack, placer, pointed_thing) - itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, - "default:pine_sapling", - -- minp, maxp to be checked, relative to sapling pos - -- minp_relative.y = 1 because sapling pos has been checked - {x = -2, y = 1, z = -2}, - {x = 2, y = 12, z = 2}, - -- maximum interval of interior volume check - 4) - - return itemstack - end, -}) - - -minetest.register_node("default:acacia_tree", { - description = "Acacia Tree", - tiles = {"default_acacia_tree_top.png", "default_acacia_tree_top.png", - "default_acacia_tree.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - - on_place = minetest.rotate_node -}) - -minetest.register_node("default:acacia_wood", { - description = "Acacia Wood Planks", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_acacia_wood.png"}, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:acacia_leaves", { - description = "Acacia Leaves", - drawtype = "allfaces_optional", - tiles = {"default_acacia_leaves.png"}, - special_tiles = {"default_acacia_leaves_simple.png"}, - waving = 1, - paramtype = "light", - is_ground_content = false, - groups = {snappy = 3, leafdecay = 3, leafdecay_drop = 1, flammable = 2, leaves = 1}, - drop = { - max_items = 1, - items = { - {items = {"default:acacia_sapling"}, rarity = 20}, - {items = {"default:acacia_leaves"}} - } - }, - sounds = default.node_sound_leaves_defaults(), - - after_place_node = default.after_place_leaves, -}) - -minetest.register_node("default:acacia_sapling", { - description = "Acacia Tree Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_acacia_sapling.png"}, - inventory_image = "default_acacia_sapling.png", - wield_image = "default_acacia_sapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - on_timer = default.grow_sapling, - selection_box = { - type = "fixed", - fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} - }, - groups = {snappy = 2, dig_immediate = 3, flammable = 2, - attached_node = 1, sapling = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_construct = function(pos) - minetest.get_node_timer(pos):start(math.random(2400,4800)) - end, - - on_place = function(itemstack, placer, pointed_thing) - itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, - "default:acacia_sapling", - -- minp, maxp to be checked, relative to sapling pos - -- minp_relative.y = 1 because sapling pos has been checked - {x = -4, y = 1, z = -4}, - {x = 4, y = 6, z = 4}, - -- maximum interval of interior volume check - 4) - - return itemstack - end, -}) - -minetest.register_node("default:aspen_tree", { - description = "Aspen Tree", - tiles = {"default_aspen_tree_top.png", "default_aspen_tree_top.png", - "default_aspen_tree.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3}, - sounds = default.node_sound_wood_defaults(), - - on_place = minetest.rotate_node -}) - -minetest.register_node("default:aspen_wood", { - description = "Aspen Wood Planks", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_aspen_wood.png"}, - is_ground_content = false, - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:aspen_leaves", { - description = "Aspen Leaves", - drawtype = "allfaces_optional", - tiles = {"default_aspen_leaves.png"}, - waving = 1, - paramtype = "light", - is_ground_content = false, - groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, - drop = { - max_items = 1, - items = { - {items = {"default:aspen_sapling"}, rarity = 20}, - {items = {"default:aspen_leaves"}} - } - }, - sounds = default.node_sound_leaves_defaults(), - - after_place_node = default.after_place_leaves, -}) - -minetest.register_node("default:aspen_sapling", { - description = "Aspen Tree Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_aspen_sapling.png"}, - inventory_image = "default_aspen_sapling.png", - wield_image = "default_aspen_sapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - on_timer = default.grow_sapling, - selection_box = { - type = "fixed", - fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, 0.5, 3 / 16} - }, - groups = {snappy = 2, dig_immediate = 3, flammable = 3, - attached_node = 1, sapling = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_construct = function(pos) - minetest.get_node_timer(pos):start(math.random(2400,4800)) - end, - - on_place = function(itemstack, placer, pointed_thing) - itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, - "default:aspen_sapling", - -- minp, maxp to be checked, relative to sapling pos - -- minp_relative.y = 1 because sapling pos has been checked - {x = -2, y = 1, z = -2}, - {x = 2, y = 12, z = 2}, - -- maximum interval of interior volume check - 4) - - return itemstack - end, -}) - --- From BFD, cherry tree -minetest.register_node("default:cherry_tree", { - description = "Cherry Log", - tiles = {"default_cherry_top.png", "default_cherry_top.png", "default_cherry_tree.png"}, - is_ground_content = false, - groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, - sounds = default.node_sound_wood_defaults(), - drop = "default:cherry_log" -}) - -minetest.register_node("default:cherry_log", { - description = "Cherry Log", - tiles = {"default_cherry_top.png", "default_cherry_top.png", "default_cherry_tree.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2}, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node("default:cherry_plank", { - description = "Cherry Planks", - tiles = {"default_wood_cherry_planks.png"}, - sounds = default.node_sound_wood_defaults(), - groups = {oddly_breakable_by_hand=1, flammable=1, choppy=3, wood=1}, -}) - -minetest.register_node("default:cherry_blossom_leaves", { - description = "Cherry Blossom Leaves", - drawtype = "allfaces_optional", - visual_scale = 1.3, - tiles = {"default_cherry_blossom_leaves.png"}, - paramtype = "light", - waving = 1, - is_ground_content = false, - groups = {snappy=3, leafdecay=3, leafdecay_drop = 1, flammable=2, leaves=1}, - drop = { - max_items = 1, - items = { - { - items = {'default:cherry_sapling'}, - rarity = 32, - }, - { - items = {'default:cherry_blossom_leaves'}, - } - } - }, - sounds = default.node_sound_leaves_defaults(), - on_place = function(itemstack, placer, pointed_thing) - -- place a random grass node - local stack = ItemStack("default:cherry_leaves_deco") - local ret = minetest.item_place(stack, placer, pointed_thing) - return ItemStack("default:cherry_blossom_leaves".." "..itemstack:get_count()-(1-ret:get_count())) - end, -}) - -minetest.register_node("default:cherry_leaves_deco", { - description = "Cherry Leaves", - drawtype = "allfaces_optional", - visual_scale = 1.3, - tiles = {"default_cherry_blossom_leaves.png"}, - paramtype = "light", - waving=1, - is_ground_content = false, - groups = {snappy=3, flammable=2, leaves=1}, - sounds = default.node_sound_leaves_defaults(), - drop = {'default:cherry_blossom_leaves'}, -}) - -minetest.register_node("default:cherry_sapling", { - description = "Cherry Sapling", - waving = 1, - visual_scale = 1.0, - inventory_image = "default_cherry_sapling.png", - wield_image = "default_cherry_sapling.png", - drawtype = "plantlike", - paramtype = "light", - tiles = {"default_cherry_sapling.png"}, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy = 2, dig_immediate = 3, flammable = 2, - attached_node = 1, sapling = 1}, - sounds = default.node_sound_leaves_defaults(), -}) --- --- Ores --- - -minetest.register_node("default:stone_with_coal", { - description = "Coal Ore", - tiles = {"default_stone.png^default_mineral_coal.png"}, - groups = {cracky = 3}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:coal_lump"}}, - {items = {"maptools:copper_coin"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:desert_stone_with_coal", { - description = "Coal Ore", - tiles = {"default_desert_stone.png^default_mineral_coal.png"}, - is_ground_content = true, - groups = {crumbly = 1, cracky = 3}, - drop = { - items = { - {items = {"default:desert_cobble"}}, - {items = {"default:coal_lump"}}, - {items = {"maptools:copper_coin"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:coalblock", { - description = "Coal Block", - tiles = {"default_coal_block.png"}, - is_ground_content = false, - groups = {cracky = 3}, - sounds = default.node_sound_stone_defaults(), -}) - - -minetest.register_node("default:stone_with_iron", { - description = "Iron Ore", - tiles = {"default_stone.png^default_mineral_iron.png"}, - groups = {cracky = 2}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:iron_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:steelblock", { - description = "Steel Block", - tiles = {"default_steel_block.png"}, - is_ground_content = false, - groups = {cracky = 1, level = 2}, - sounds = default.node_sound_metal_defaults(), -}) - - -minetest.register_node("default:stone_with_copper", { - description = "Copper Ore", - tiles = {"default_stone.png^default_mineral_copper.png"}, - groups = {cracky = 2}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:copper_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:desert_stone_with_copper", { - description = "Copper Ore", - tiles = {"default_desert_stone.png^default_mineral_copper.png"}, - is_ground_content = true, - groups = {crumbly = 1, cracky = 3}, - drop = { - items = { - {items = {"default:desert_cobble"}}, - {items = {"default:copper_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:copperblock", { - description = "Copper Block", - tiles = {"default_copper_block.png"}, - is_ground_content = false, - groups = {cracky = 1, level = 2}, - sounds = default.node_sound_metal_defaults(), -}) - -minetest.register_node("default:bronzeblock", { - description = "Bronze Block", - tiles = {"default_bronze_block.png"}, - is_ground_content = false, - groups = {cracky = 1, level = 2}, - sounds = default.node_sound_metal_defaults(), -}) - -minetest.register_node("default:stone_with_tin", { - description = "Tin Ore", - tiles = {"default_stone.png^default_mineral_tin.png"}, - is_ground_content = true, - groups = {cracky = 3}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:tin_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:desert_stone_with_tin", { - description = "Tin Ore", - tiles = {"default_desert_stone.png^default_mineral_tin.png"}, - is_ground_content = true, - groups = {crumbly = 1, cracky = 3}, - drop = { - items = { - {items = {"default:desert_cobble"}}, - {items = {"default:tin_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:tinblock", { - description = "Tin Block", - tiles = {"default_tin_block.png"}, - is_ground_content = false, - groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:stone_with_silver", { - description = "Silver Ore", - tiles = {"default_stone.png^default_mineral_silver.png"}, - is_ground_content = true, - groups = {cracky = 3}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:silver_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:desert_stone_with_silver", { - description = "Silver Ore", - tiles = {"default_desert_stone.png^default_mineral_silver.png"}, - is_ground_content = true, - groups = {crumbly = 1, cracky = 3}, - drop = { - items = { - {items = {"default:desert_cobble"}}, - {items = {"default:silver_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:silverblock", { - description = "Silver Block", - tiles = {"default_silver_block.png"}, - is_ground_content = false, - groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:stone_with_mese", { - description = "Mese Ore", - tiles = {"default_stone.png^default_mineral_mese.png"}, - groups = {cracky = 1}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:mese_crystal"}}, - {items = {"maptools:silver_coin 2", rarity = 75}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:mese", { - description = "Mese Block", - tiles = {"default_mese_block.png"}, - paramtype = "light", - groups = {cracky = 1, level = 2}, - sounds = default.node_sound_stone_defaults(), - light_source = 3, -}) - -local function die_later(digger) - digger:set_hp(0) -end - -minetest.register_node("default:meze", { - description = "Meze Block", - tiles = {"default_meze_block.png"}, - is_ground_content = true, - drop = "", - groups = {cracky = 1, level = 2, fall_damage_add_percent = -75}, - sounds = default.node_sound_wood_defaults(), -- Intended. - - on_dig = function(pos, node, digger) - if digger and minetest.setting_getbool("enable_damage") and not minetest.setting_getbool("creative_mode") then - minetest.after(3, die_later, digger) - minetest.chat_send_player(digger:get_player_name(), "You feel like you did a mistake.") - minetest.node_dig(pos, node, digger) - elseif digger then - minetest.node_dig(pos, node, digger) - end - end, -}) -minetest.register_alias("default:meze_block", "default:meze") - - -minetest.register_node("default:stone_with_gold", { - description = "Gold Ore", - tiles = {"default_stone.png^default_mineral_gold.png"}, - groups = {cracky = 2}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:gold_lump"}}, - {items = {"maptools:silver_coin", rarity = 80}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:goldblock", { - description = "Gold Block", - tiles = {"default_gold_block.png"}, - is_ground_content = false, - groups = {cracky = 1}, - sounds = default.node_sound_metal_defaults(), -}) - -minetest.register_node("default:stone_with_mithril", { - description = "Mithril Ore", - tiles = {"default_stone.png^default_mineral_mithril.png"}, - is_ground_content = true, - groups = {cracky = 3}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:mithril_lump"}}, - {items = {"maptools:copper_coin 3"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:mithrilblock", { - description = "Mithril Block", - tiles = {"default_mithril_block.png"}, - is_ground_content = false, - groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:stone_with_diamond", { - description = "Diamond Ore", - tiles = {"default_stone.png^default_mineral_diamond.png"}, - groups = {cracky = 1}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"default:diamond"}}, - {items = {"maptools:silver_coin 1"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:diamondblock", { - description = "Diamond Block", - tiles = {"default_diamond_block.png"}, - is_ground_content = false, - groups = {cracky = 1, level = 3}, - sounds = default.node_sound_defaults(), -}) - - -minetest.register_node("default:stone_with_coin", { - description = "Stone with Coin", - tiles = {"default_stone.png^maptools_gold_coin.png"}, - is_ground_content = true, - groups = {cracky = 3}, - drop = { - items = { - {items = {"default:cobble"}}, - {items = {"maptools:gold_coin"}}, - }, - }, - sounds = default.node_sound_stone_defaults(), -}) - --- --- Plantlife (non-cubic) --- - -minetest.register_node("default:cactus", { - description = "Cactus", - tiles = {"default_cactus_top.png", "default_cactus_top.png", - "default_cactus_side.png"}, - paramtype2 = "facedir", - groups = {snappy = 1, choppy = 3, flammable = 2}, - drop = { - items = { - {items = {"default:cactus"}}, - }, - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, - - after_dig_node = function(pos, node, metadata, digger) - default.dig_up(pos, node, digger) - end, -}) - -minetest.register_node("default:cactus_spiky", { - description = "Spiky Cactus", - tiles = {"default_cactus_top.png", "default_cactus_top.png", - "default_cactus_spiky.png"}, - paramtype2 = "facedir", - groups = {snappy = 1, choppy = 3, flammable = 2}, - drop = { - items = { - {items = {"default:cactus_spiky"}}, - }, - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, - - after_dig_node = function(pos, node, metadata, digger) - default.dig_up(pos, node, digger) - end, -}) - -minetest.register_node("default:papyrus", { - description = "Papyrus", - drawtype = "plantlike", - tiles = {"default_papyrus.png"}, - inventory_image = "default_papyrus.png", - wield_image = "default_papyrus.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, - }, - groups = {snappy = 3, flammable = 2}, - sounds = default.node_sound_leaves_defaults(), - - after_dig_node = function(pos, node, metadata, digger) - default.dig_up(pos, node, digger) - end, -}) - -minetest.register_node("default:dry_shrub", { - description = "Dry Shrub", - drawtype = "plantlike", - waving = 1, - visual_scale = 1.0, - tiles = {"default_dry_shrub.png"}, - inventory_image = "default_dry_shrub.png", - wield_image = "default_dry_shrub.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, flammable = 3, attached_node = 1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 4 / 16, 5 / 16}, - }, -}) - -minetest.register_node("default:junglegrass", { - description = "Jungle Grass", - drawtype = "plantlike", - waving = 1, - visual_scale = 1.3, - tiles = {"default_junglegrass.png"}, - inventory_image = "default_junglegrass.png", - wield_image = "default_junglegrass.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, flammable = 1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 1.19, 7 / 16}, - }, -}) - - -minetest.register_node("default:grass_1", { - description = "Grass", - drawtype = "plantlike", - waving = 1, - tiles = {"default_grass_1.png"}, - -- Use texture of a taller grass stage in inventory - inventory_image = "default_grass_3.png", - wield_image = "default_grass_3.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, grass = 1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16, 6 / 16}, - }, - - on_place = function(itemstack, placer, pointed_thing) - -- place a random grass node - local stack = ItemStack("default:grass_" .. math.random(1,5)) - local ret = minetest.item_place(stack, placer, pointed_thing) - return ItemStack("default:grass_1 " .. - itemstack:get_count() - (1 - ret:get_count())) - end, -}) - -for i = 2, 5 do - minetest.register_node("default:grass_" .. i, { - description = "Grass", - drawtype = "plantlike", - waving = 1, - tiles = {"default_grass_" .. i .. ".png"}, - inventory_image = "default_grass_" .. i .. ".png", - wield_image = "default_grass_" .. i .. ".png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "default:grass_1", - groups = {snappy = 3, flora = 1, attached_node = 1, - not_in_creative_inventory = 1, grass = 1, flammable = 1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16}, - }, - }) -end - - -minetest.register_node("default:dry_grass_1", { - description = "Dry Grass", - drawtype = "plantlike", - waving = 1, - tiles = {"default_dry_grass_1.png"}, - inventory_image = "default_dry_grass_3.png", - wield_image = "default_dry_grass_3.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, flammable = 3, flora = 1, - attached_node = 1, dry_grass = 1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16}, - }, - - on_place = function(itemstack, placer, pointed_thing) - -- place a random dry grass node - local stack = ItemStack("default:dry_grass_" .. math.random(1, 5)) - local ret = minetest.item_place(stack, placer, pointed_thing) - return ItemStack("default:dry_grass_1 " .. - itemstack:get_count() - (1 - ret:get_count())) - end, -}) - -for i = 2, 5 do - minetest.register_node("default:dry_grass_" .. i, { - description = "Dry Grass", - drawtype = "plantlike", - waving = 1, - tiles = {"default_dry_grass_" .. i .. ".png"}, - inventory_image = "default_dry_grass_" .. i .. ".png", - wield_image = "default_dry_grass_" .. i .. ".png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, - not_in_creative_inventory=1, dry_grass = 1}, - drop = "default:dry_grass_1", - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -1 / 16, 6 / 16}, - }, - }) -end - - -minetest.register_node("default:bush_stem", { - description = "Bush Stem", - drawtype = "plantlike", - visual_scale = 1.18, - tiles = {"default_bush_stem.png"}, - inventory_image = "default_bush_stem.png", - wield_image = "default_bush_stem.png", - paramtype = "light", - sunlight_propagates = true, - groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - selection_box = { - type = "fixed", - fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.54, 7 / 16}, - }, -}) - -minetest.register_node("default:bush_leaves", { - description = "Bush Leaves", - drawtype = "allfaces_optional", - waving = 1, - tiles = {"default_leaves_simple.png"}, - paramtype = "light", - groups = {snappy = 3, flammable = 2, leaves = 1}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_node("default:acacia_bush_stem", { - description = "Acacia Bush Stem", - drawtype = "plantlike", - visual_scale = 1.18, - tiles = {"default_acacia_bush_stem.png"}, - inventory_image = "default_acacia_bush_stem.png", - wield_image = "default_acacia_bush_stem.png", - paramtype = "light", - sunlight_propagates = true, - groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - selection_box = { - type = "fixed", - fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.54, 7 / 16}, - }, -}) - -minetest.register_node("default:acacia_bush_leaves", { - description = "Acacia Bush Leaves", - drawtype = "allfaces_optional", - waving = 1, - tiles = {"default_acacia_leaves_simple.png"}, - paramtype = "light", - groups = {snappy = 3, flammable = 2, leaves = 1}, - sounds = default.node_sound_leaves_defaults(), -}) - - --- --- Corals --- - -minetest.register_node("default:coral_brown", { - description = "Brown Coral", - tiles = {"default_coral_brown.png"}, - groups = {cracky = 3}, - drop = "default:coral_skeleton", - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:coral_orange", { - description = "Orange Coral", - tiles = {"default_coral_orange.png"}, - groups = {cracky = 3}, - drop = "default:coral_skeleton", - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:coral_skeleton", { - description = "Coral Skeleton", - tiles = {"default_coral_skeleton.png"}, - groups = {cracky = 3}, - sounds = default.node_sound_stone_defaults(), -}) - - --- --- Liquids --- - -minetest.register_node("default:water_source", { - description = "Water Source", - 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 = 16, - aspect_h = 16, - length = 2.0, - }, - backface_culling = false, - }, - }, - alpha = 160, - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "default:water_flowing", - liquid_alternative_source = "default:water_source", - liquid_viscosity = 1, - post_effect_color = {a = 103, r = 30, g = 60, b = 90}, - liquid_range = 6, - groups = {water = 3, liquid = 3, puts_out_fire = 1}, -}) - -minetest.register_node("default:water_flowing", { - description = "Flowing Water", - drawtype = "flowingliquid", - tiles = {"default_water.png"}, - special_tiles = { - { - name = "default_water_flowing_animated.png", - backface_culling = false, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 0.8, - }, - }, - { - name = "default_water_flowing_animated.png", - backface_culling = true, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 0.8, - }, - }, - }, - alpha = 160, - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "default:water_flowing", - liquid_alternative_source = "default:water_source", - liquid_viscosity = 1, - post_effect_color = {a = 103, r = 30, g = 60, b = 90}, - liquid_range = 6, - groups = {water = 3, liquid = 3, puts_out_fire = 1, - not_in_creative_inventory = 1}, -}) - - -minetest.register_node("default:river_water_source", { - description = "River Water Source", - drawtype = "liquid", - tiles = { - { - name = "default_river_water_source_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 2.0, - }, - }, - }, - special_tiles = { - { - name = "default_river_water_source_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 2.0, - }, - backface_culling = false, - }, - }, - alpha = 160, - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "default:river_water_flowing", - liquid_alternative_source = "default:river_water_source", - liquid_viscosity = 1, - liquid_renewable = false, - liquid_range = 2, - post_effect_color = {a = 103, r = 30, g = 76, b = 90}, - groups = {water = 3, liquid = 3, puts_out_fire = 1}, -}) - -minetest.register_node("default:river_water_flowing", { - description = "Flowing River Water", - drawtype = "flowingliquid", - tiles = {"default_river_water.png"}, - special_tiles = { - { - name = "default_river_water_flowing_animated.png", - backface_culling = false, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 0.8, - }, - }, - { - name = "default_river_water_flowing_animated.png", - backface_culling = true, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 0.8, - }, - }, - }, - alpha = 160, - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "default:river_water_flowing", - liquid_alternative_source = "default:river_water_source", - liquid_viscosity = 1, - liquid_renewable = false, - liquid_range = 2, - post_effect_color = {a = 103, r = 30, g = 76, b = 90}, - groups = {water = 3, liquid = 3, puts_out_fire = 1, - not_in_creative_inventory = 1}, -}) - - -minetest.register_node("default:lava_source", { - description = "Lava Source", - drawtype = "liquid", - tiles = { - { - name = "default_lava_source_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 3.0, - }, - }, - }, - special_tiles = { - -- New-style lava source material (mostly unused) - { - name = "default_lava_source_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 3.0, - }, - backface_culling = false, - }, - }, - paramtype = "light", - light_source = default.LIGHT_MAX - 1, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "default:lava_flowing", - liquid_alternative_source = "default:lava_source", - liquid_viscosity = 7, - liquid_range = 6, - liquid_renewable = false, - damage_per_second = 4 * 2, - post_effect_color = {a = 191, r = 255, g = 64, b = 0}, - groups = {lava = 3, liquid = 2, hot = 3, igniter = 1}, -}) - -minetest.register_node("default:lava_flowing", { - description = "Flowing Lava", - drawtype = "flowingliquid", - tiles = {"default_lava.png"}, - special_tiles = { - { - name = "default_lava_flowing_animated.png", - backface_culling = false, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 3.3, - }, - }, - { - name = "default_lava_flowing_animated.png", - backface_culling = true, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 3.3, - }, - }, - }, - paramtype = "light", - paramtype2 = "flowingliquid", - light_source = default.LIGHT_MAX - 1, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "default:lava_flowing", - liquid_alternative_source = "default:lava_source", - liquid_viscosity = 7, - liquid_range = 6, - liquid_renewable = false, - damage_per_second = 4 * 2, - post_effect_color = {a = 191, r = 255, g = 64, b = 0}, - groups = {lava = 3, liquid = 2, hot = 3, igniter = 1, - not_in_creative_inventory = 1}, -}) - -minetest.register_node("default:acid_source", { - description = "Acid Source", - inventory_image = minetest.inventorycube("default_acid.png"), - drawtype = "liquid", - tiles = { - {name = "default_acid_source_animated.png", animation={type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.5}} - }, - special_tiles = { - -- New-style acid source material (mostly unused) - { - name = "default_acid_source_animated.png", - animation = {type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 1.5}, - backface_culling = false, - } - }, - alpha = 160, - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - drop = "", - drowning = 2, - liquidtype = "source", - liquid_alternative_flowing = "default:acid_flowing", - liquid_alternative_source = "default:acid_source", - liquid_viscosity = 1, - liquid_range = 4, - damage_per_second = 3, - post_effect_color = {a = 120, r = 50, g = 90, b = 30}, - groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1}, -}) - -minetest.register_node("default:acid_flowing", { - description = "Flowing Acid", - inventory_image = minetest.inventorycube("default_acid.png"), - drawtype = "flowingliquid", - tiles = {"default_acid.png"}, - special_tiles = { - { - image = "default_acid_flowing_animated.png", - backface_culling=false, - animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} - }, - { - image = "default_acid_flowing_animated.png", - backface_culling=true, - animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} - }, - }, - alpha = 160, - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - drop = "", - drowning = 2, - liquidtype = "flowing", - liquid_alternative_flowing = "default:acid_flowing", - liquid_alternative_source = "default:acid_source", - liquid_viscosity = 1, - liquid_range = 4, - damage_per_second = 3, - post_effect_color = {a = 120, r = 50, g = 90, b = 30}, - groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1, not_in_creative_inventory = 1}, -}) - -minetest.register_node("default:sand_source", { - description = "Sand Source", - inventory_image = minetest.inventorycube("default_sand.png"), - drawtype = "liquid", - tiles = {"default_sand.png"}, - alpha = 255, - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - drop = "", - drowning = 4, - liquidtype = "source", - liquid_alternative_flowing = "default:sand_flowing", - liquid_alternative_source = "default:sand_source", - liquid_viscosity = 20, - liquid_renewable = false, - post_effect_color = {a = 250, r = 0, g = 0, b = 0}, - groups = {liquid = 3}, -}) - -minetest.register_node("default:sand_flowing", { - description = "Flowing Sand", - inventory_image = minetest.inventorycube("default_sand.png"), - drawtype = "flowingliquid", - tiles = {"default_sand.png"}, - special_tiles = { - { - image = "default_sand_flowing_animated.png", - backface_culling=false, - animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} - }, - { - image = "default_sand_flowing_animated.png", - backface_culling=true, - animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} - }, - }, - alpha = 255, - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - drop = "", - drowning = 4, - liquidtype = "flowing", - liquid_alternative_flowing = "default:sand_flowing", - liquid_alternative_source = "default:sand_source", - liquid_viscosity = 20, - post_effect_color = {a = 250, r = 0, g = 0, b = 0}, - groups = {liquid = 3, not_in_creative_inventory = 1}, -}) - --- --- Tools / "Advanced" crafting / Non-"natural" --- - -minetest.register_node("default:torch", { - description = "Torch", - drawtype = "nodebox", - tiles = { - { - name = "default_torch_new_top.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 3.0 - }, - }, - { - name="default_torch_new_bottom.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 3.0 - }, - }, - { - name="default_torch_new_side.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 3.0 - }, - }, - }, - inventory_image = "default_torch_new_inv.png", - wield_image = "default_torch_new_inv.png", - wield_scale = {x = 1, y = 1, z = 1.25}, - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - is_ground_content = false, - walkable = false, - light_source = default.LIGHT_MAX - 1, - node_box = { - type = "wallmounted", - wall_top = {-0.0625, -0.0625, -0.0625, 0.0625, 0.5 , 0.0625}, - wall_bottom = {-0.0625, -0.5 , -0.0625, 0.0625, 0.0625, 0.0625}, - wall_side = {-0.5 , -0.5 , -0.0625, -0.375, 0.0625, 0.0625}, - }, - selection_box = { - type = "wallmounted", - wall_top = {-0.25, -0.0625, -0.25, 0.25, 0.5 , 0.25}, - wall_bottom = {-0.25, -0.5 , -0.25, 0.25, 0.0625, 0.25}, - wall_side = {-0.25, -0.5 , -0.25, -0.5, 0.0625, 0.25}, - }, - groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1, - hot = 2}, - legacy_wallmounted = true, - sounds = default.node_sound_defaults(), -}) - - -local chest_formspec = - "size[8,9]" .. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[current_name;main;0,0.3;8,4;]" .. - "list[current_player;main;0,4.85;8,1;]" .. - "list[current_player;main;0,6.08;8,3;8]" .. - "listring[current_name;main]" .. - "listring[current_player;main]" .. - default.get_hotbar_bg(0,4.85) - -local function get_locked_chest_formspec(pos) - local spos = pos.x .. "," .. pos.y .. "," .. pos.z - local formspec = - "size[8,9]" .. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[nodemeta:" .. spos .. ";main;0,0.3;8,4;]" .. - "list[current_player;main;0,4.85;8,1;]" .. - "list[current_player;main;0,6.08;8,3;8]" .. - "listring[nodemeta:" .. spos .. ";main]" .. - "listring[current_player;main]" .. - default.get_hotbar_bg(0,4.85) - return formspec -end - -local function has_locked_chest_privilege(meta, player) - local name = "" - if player then - if minetest.check_player_privs(player, "protection_bypass") then - return true - end - name = player:get_player_name() - end - if name ~= meta:get_string("owner") then - return false - end - return true -end - -minetest.register_node("default:chest", { - description = "Chest", - tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", - "default_chest_side.png", "default_chest_side.png", "default_chest_front.png"}, - paramtype2 = "facedir", - groups = {choppy = 2, oddly_breakable_by_hand = 2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_wood_defaults(), - - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", chest_formspec) - meta:set_string("infotext", "Chest") - local inv = meta:get_inventory() - inv:set_size("main", 8*4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") - end, - on_metadata_inventory_move = function(pos, from_list, from_index, - to_list, to_index, count, player) - minetest.log("action", player:get_player_name() .. - " moves stuff in chest at " .. minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " moves " .. stack:get_name() .. - " to chest at " .. minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " takes " .. stack:get_name() .. - " from chest at " .. minetest.pos_to_string(pos)) - end, - on_blast = function(pos) - local drops = {} - default.get_inventory_drops(pos, "main", drops) - drops[#drops+1] = "default:chest" - minetest.remove_node(pos) - return drops - end, -}) - -minetest.register_node("default:chest_locked", { - description = "Locked Chest", - tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png", - "default_chest_side.png", "default_chest_side.png", "default_chest_lock.png"}, - paramtype2 = "facedir", - groups = {choppy = 2, oddly_breakable_by_hand = 2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_wood_defaults(), - - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name() or "") - meta:set_string("infotext", "Locked Chest (owned by " .. - meta:get_string("owner") .. ")") - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("infotext", "Locked Chest") - meta:set_string("owner", "") - local inv = meta:get_inventory() - inv:set_size("main", 8 * 4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") and has_locked_chest_privilege(meta, player) - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, - to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - return 0 - end - return count - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - return 0 - end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - return 0 - end - return stack:get_count() - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " moves " .. stack:get_name() .. - " to locked chest at " .. minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " takes " .. stack:get_name() .. - " from locked chest at " .. minetest.pos_to_string(pos)) - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - local meta = minetest.get_meta(pos) - if has_locked_chest_privilege(meta, clicker) then - minetest.show_formspec( - clicker:get_player_name(), - "default:chest_locked", - get_locked_chest_formspec(pos) - ) - end - return itemstack - end, - on_blast = function() end, -}) - - -local bookshelf_formspec = - "size[8,7;]" .. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[context;books;0,0.3;8,2;]" .. - "list[current_player;main;0,2.85;8,1;]" .. - "list[current_player;main;0,4.08;8,3;8]" .. - "listring[context;books]" .. - "listring[current_player;main]" .. - default.get_hotbar_bg(0,2.85) - --- Inventory slots overlay -local bx, by = 0, 0.3 -for i = 1, 16 do - if i == 9 then - bx = 0 - by = by + 1 - end - bookshelf_formspec = bookshelf_formspec .. - "image[" .. bx .. "," .. by .. ";1,1;default_bookshelf_slot.png]" - bx = bx + 1 -end - -minetest.register_node("default:bookshelf", { - description = "Bookshelf", - tiles = {"default_wood.png", "default_wood.png", "default_wood.png", - "default_wood.png", "default_bookshelf.png", "default_bookshelf.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, - sounds = default.node_sound_wood_defaults(), - - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", bookshelf_formspec) - local inv = meta:get_inventory() - inv:set_size("books", 8 * 2) - end, - can_dig = function(pos,player) - local inv = minetest.get_meta(pos):get_inventory() - return inv:is_empty("books") - end, - allow_metadata_inventory_put = function(pos, listname, index, stack) - if minetest.get_item_group(stack:get_name(), "book") ~= 0 then - return stack:get_count() - end - return 0 - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name() .. - " moves stuff in bookshelf at " .. minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " moves stuff to bookshelf at " .. minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " takes stuff from bookshelf at " .. minetest.pos_to_string(pos)) - end, - on_blast = function(pos) - local drops = {} - default.get_inventory_drops(pos, "books", drops) - drops[#drops+1] = "default:bookshelf" - minetest.remove_node(pos) - return drops - end, -}) - -local function register_sign(material, desc, def) - minetest.register_node("default:sign_wall_" .. material, { - description = desc .. " Sign", - drawtype = "nodebox", - tiles = {"default_sign_wall_" .. material .. ".png"}, - inventory_image = "default_sign_" .. material .. ".png", - wield_image = "default_sign_" .. material .. ".png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - is_ground_content = false, - walkable = false, - node_box = { - type = "wallmounted", - wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, - wall_bottom = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, - wall_side = {-0.5, -0.3125, -0.4375, -0.4375, 0.3125, 0.4375}, - }, - groups = def.groups, - legacy_wallmounted = true, - sounds = def.sounds, - - on_construct = function(pos) - --local n = minetest.get_node(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", "field[text;;${text}]") - end, - on_receive_fields = function(pos, formname, fields, sender) - --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) - local player_name = sender:get_player_name() - if minetest.is_protected(pos, player_name) then - minetest.record_protection_violation(pos, player_name) - return - end - local meta = minetest.get_meta(pos) - if not fields.text then return end - minetest.log("action", (player_name or "") .. " wrote \"" .. - fields.text .. "\" to sign at " .. minetest.pos_to_string(pos)) - meta:set_string("text", fields.text) - meta:set_string("infotext", '"' .. fields.text .. '"') - end, - }) -end - -register_sign("wood", "Wooden", { - sounds = default.node_sound_wood_defaults(), - groups = {choppy = 2, attached_node = 1, flammable = 2, oddly_breakable_by_hand = 3} -}) - -register_sign("steel", "Steel", { - sounds = default.node_sound_metal_defaults(), - groups = {cracky = 2, attached_node = 1} -}) - -minetest.register_node("default:ladder_wood", { - description = "Wooden Ladder", - drawtype = "signlike", - tiles = {"default_ladder_wood.png"}, - inventory_image = "default_ladder_wood.png", - wield_image = "default_ladder_wood.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - climbable = true, - is_ground_content = false, - selection_box = { - type = "wallmounted", - --wall_top = = - --wall_bottom = = - --wall_side = = - }, - groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2}, - legacy_wallmounted = true, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:ladder_obsidian", { - description = "Obsidian Ladder", - drawtype = "signlike", - tiles = {"default_ladder_obsidian.png"}, - inventory_image = "default_ladder_obsidian.png", - wield_image = "default_ladder_obsidian.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - climbable = true, - is_ground_content = false, - selection_box = { - type = "wallmounted", - --wall_top = = - --wall_bottom = = - --wall_side = = - }, - groups = {cracky = 2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:ladder_steel", { - description = "Steel Ladder", - drawtype = "signlike", - tiles = {"default_ladder_steel.png"}, - inventory_image = "default_ladder_steel.png", - wield_image = "default_ladder_steel.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - climbable = true, - is_ground_content = false, - selection_box = { - type = "wallmounted", - --wall_top = = - --wall_bottom = = - --wall_side = = - }, - groups = {cracky = 2}, - sounds = default.node_sound_metal_defaults(), -}) - -default.register_fence("default:fence_wood", { - description = "Wooden Fence", - texture = "default_fence_wood.png", - inventory_image = "default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - wield_image = "default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - material = "default:wood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_acacia_wood", { - description = "Acacia Fence", - texture = "default_fence_acacia_wood.png", - inventory_image = "default_fence_overlay.png^default_acacia_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - wield_image = "default_fence_overlay.png^default_acacia_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - material = "default:acacia_wood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_junglewood", { - description = "Junglewood Fence", - texture = "default_fence_junglewood.png", - inventory_image = "default_fence_overlay.png^default_junglewood.png^default_fence_overlay.png^[makealpha:255,126,126", - wield_image = "default_fence_overlay.png^default_junglewood.png^default_fence_overlay.png^[makealpha:255,126,126", - material = "default:junglewood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_pine_wood", { - description = "Pine Fence", - texture = "default_fence_pine_wood.png", - inventory_image = "default_fence_overlay.png^default_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - wield_image = "default_fence_overlay.png^default_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - material = "default:pine_wood", - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_aspen_wood", { - description = "Aspen Fence", - texture = "default_fence_aspen_wood.png", - inventory_image = "default_fence_overlay.png^default_aspen_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - wield_image = "default_fence_overlay.png^default_aspen_wood.png^default_fence_overlay.png^[makealpha:255,126,126", - material = "default:aspen_wood", - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_cobble", { - description = "Cobble Fence", - texture = "default_fence_cobble.png", - material = "default:cobble", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_desert_cobble", { - description = "Desert Cobble Fence", - texture = "default_fence_desert_cobble.png", - material = "default:desert_cobble", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_steelblock", { - description = "Steel Block Fence", - texture = "default_fence_steelblock.png", - material = "default:steelblock", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults() -}) - -default.register_fence("default:fence_brick", { - description = "Brick Fence", - texture = "default_fence_brick.png", - material = "default:brick", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults() -}) - -minetest.register_node("default:glass", { - description = "Glass", - drawtype = "glasslike_framed_optional", - tiles = {"default_glass.png", "default_glass_detail.png"}, - paramtype = "light", - sunlight_propagates = true, - is_ground_content = false, - groups = {cracky = 3, oddly_breakable_by_hand = 3}, - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_node("default:obsidian_glass", { - description = "Obsidian Glass", - drawtype = "glasslike_framed_optional", - tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"}, - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - sounds = default.node_sound_glass_defaults(), - groups = {cracky = 3, oddly_breakable_by_hand = 3}, -}) - - -minetest.register_node("default:rail", { - description = "Rail", - drawtype = "raillike", - tiles = {"default_rail.png", "default_rail_curved.png", - "default_rail_t_junction.png", "default_rail_crossing.png"}, - inventory_image = "default_rail.png", - wield_image = "default_rail.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - is_ground_content = false, - selection_box = { - type = "fixed", - -- 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 = {dig_immediate = 2, attached_node = 1, - connect_to_raillike = minetest.raillike_group("rail")}, -}) - - -minetest.register_node("default:brick", { - description = "Brick Block", - paramtype2 = "facedir", - place_param2 = 0, - tiles = {"default_brick.png"}, - is_ground_content = false, - groups = {cracky = 3}, - sounds = default.node_sound_stone_defaults(), -}) - - -minetest.register_node("default:meselamp", { - description = "Mese Lamp", - drawtype = "glasslike", - tiles = {"default_meselamp.png"}, - paramtype = "light", - sunlight_propagates = true, - is_ground_content = false, - groups = {cracky = 3, oddly_breakable_by_hand = 3}, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX, -}) - --- --- Misc --- - -minetest.register_node("default:cloud", { - description = "Cloud", - tiles = {"default_cloud.png"}, - is_ground_content = false, - sounds = default.node_sound_defaults(), - groups = {not_in_creative_inventory = 1}, -}) diff --git a/minetestforfun_game/mods/default/player.lua b/minetestforfun_game/mods/default/player.lua deleted file mode 100755 index 8fb0aca8..00000000 --- a/minetestforfun_game/mods/default/player.lua +++ /dev/null @@ -1,158 +0,0 @@ --- Minetest 0.4 mod: player --- See README.txt for licensing and other information. - --- Player animation blending --- Note: This is currently broken due to a bug in Irrlicht, leave at 0 -local animation_blend = 0 - -default.registered_player_models = { } - --- Local for speed. -local models = default.registered_player_models - -function default.player_register_model(name, def) - models[name] = def -end - --- Default player appearance -default.player_register_model("character.b3d", { - animation_speed = 30, - textures = {"character.png", }, - animations = { - -- Standard animations. - stand = { x= 0, y= 79, }, - lay = { x=162, y=166, }, - walk = { x=168, y=187, }, - mine = { x=189, y=198, }, - walk_mine = { x=200, y=219, }, - sit = { x= 81, y=160, }, - }, -}) - --- Player stats and animations -local player_model = {} -local player_textures = {} -local player_anim = {} -local player_sneak = {} -default.player_attached = {} - -function default.player_get_animation(player) - local name = player:get_player_name() - return { - model = player_model[name], - textures = player_textures[name], - animation = player_anim[name], - } -end - --- Called when a player's appearance needs to be updated -function default.player_set_model(player, model_name) - local name = player:get_player_name() - local model = models[model_name] - if model then - if player_model[name] == model_name then - return - end - player:set_properties({ - mesh = model_name, - textures = player_textures[name] or model.textures, - visual = "mesh", - visual_size = model.visual_size or {x=1, y=1}, - }) - default.player_set_animation(player, "stand") - else - player:set_properties({ - textures = { "player.png", "player_back.png", }, - visual = "upright_sprite", - }) - end - player_model[name] = model_name -end - -function default.player_set_textures(player, textures) - local name = player:get_player_name() - player_textures[name] = textures - player:set_properties({textures = textures,}) -end - -function default.player_set_animation(player, anim_name, speed) - local name = player:get_player_name() - if player_anim[name] == anim_name then - return - end - local model = player_model[name] and models[player_model[name]] - if not (model and model.animations[anim_name]) then - return - end - local anim = model.animations[anim_name] - player_anim[name] = anim_name - player:set_animation(anim, speed or model.animation_speed, animation_blend) -end - --- Update appearance when the player joins -minetest.register_on_joinplayer(function(player) - default.player_attached[player:get_player_name()] = false - default.player_set_model(player, "character.b3d") - player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 30) - - -- set GUI - if not minetest.setting_getbool("creative_mode") then - player:set_inventory_formspec(default.gui_survival_form) - end - player:hud_set_hotbar_image("gui_hotbar.png") - player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") -end) - -minetest.register_on_leaveplayer(function(player) - local name = player:get_player_name() - player_model[name] = nil - player_anim[name] = nil - player_textures[name] = nil -end) - --- Localize for better performance. -local player_set_animation = default.player_set_animation -local player_attached = default.player_attached - --- Check each player and apply animations -minetest.register_globalstep(function(dtime) - for _, player in pairs(minetest.get_connected_players()) do - local name = player:get_player_name() - local model_name = player_model[name] - local model = model_name and models[model_name] - if model and not player_attached[name] then - local controls = player:get_player_control() - local walking = false - local animation_speed_mod = model.animation_speed or 30 - - -- Determine if the player is walking - if controls.up or controls.down or controls.left or controls.right then - walking = true - end - - -- Determine if the player is sneaking, and reduce animation speed if so - if controls.sneak then - animation_speed_mod = animation_speed_mod / 2 - end - - -- Apply animations based on what the player is doing - if player:get_hp() == 0 then - player_set_animation(player, "lay") - elseif walking then - if player_sneak[name] ~= controls.sneak then - player_anim[name] = nil - player_sneak[name] = controls.sneak - end - if controls.LMB then - player_set_animation(player, "walk_mine", animation_speed_mod) - else - player_set_animation(player, "walk", animation_speed_mod) - end - elseif controls.LMB then - player_set_animation(player, "mine") - else - player_set_animation(player, "stand", animation_speed_mod) - end - end - end -end) diff --git a/minetestforfun_game/mods/default/schematics/acacia_tree.mts b/minetestforfun_game/mods/default/schematics/acacia_tree.mts deleted file mode 100644 index 4732ade3..00000000 Binary files a/minetestforfun_game/mods/default/schematics/acacia_tree.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/acacia_tree_from_sapling.mts b/minetestforfun_game/mods/default/schematics/acacia_tree_from_sapling.mts deleted file mode 100755 index 23e8e4b3..00000000 Binary files a/minetestforfun_game/mods/default/schematics/acacia_tree_from_sapling.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/apple_tree.mts b/minetestforfun_game/mods/default/schematics/apple_tree.mts deleted file mode 100644 index ac09b466..00000000 Binary files a/minetestforfun_game/mods/default/schematics/apple_tree.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/apple_tree_from_sapling.mts b/minetestforfun_game/mods/default/schematics/apple_tree_from_sapling.mts deleted file mode 100755 index 5d35a154..00000000 Binary files a/minetestforfun_game/mods/default/schematics/apple_tree_from_sapling.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/aspen_tree.mts b/minetestforfun_game/mods/default/schematics/aspen_tree.mts deleted file mode 100644 index 724aae08..00000000 Binary files a/minetestforfun_game/mods/default/schematics/aspen_tree.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/aspen_tree_from_sapling.mts b/minetestforfun_game/mods/default/schematics/aspen_tree_from_sapling.mts deleted file mode 100644 index b7ca1619..00000000 Binary files a/minetestforfun_game/mods/default/schematics/aspen_tree_from_sapling.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/jungle_tree.mts b/minetestforfun_game/mods/default/schematics/jungle_tree.mts deleted file mode 100755 index 329364a8..00000000 Binary files a/minetestforfun_game/mods/default/schematics/jungle_tree.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/jungle_tree_from_sapling.mts b/minetestforfun_game/mods/default/schematics/jungle_tree_from_sapling.mts deleted file mode 100755 index babaa45f..00000000 Binary files a/minetestforfun_game/mods/default/schematics/jungle_tree_from_sapling.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/large_cactus.mts b/minetestforfun_game/mods/default/schematics/large_cactus.mts deleted file mode 100644 index b71077b3..00000000 Binary files a/minetestforfun_game/mods/default/schematics/large_cactus.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/papyrus.mts b/minetestforfun_game/mods/default/schematics/papyrus.mts deleted file mode 100755 index a3b67776..00000000 Binary files a/minetestforfun_game/mods/default/schematics/papyrus.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/pine_tree.mts b/minetestforfun_game/mods/default/schematics/pine_tree.mts deleted file mode 100644 index 3a3fa7ad..00000000 Binary files a/minetestforfun_game/mods/default/schematics/pine_tree.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/pine_tree_from_sapling.mts b/minetestforfun_game/mods/default/schematics/pine_tree_from_sapling.mts deleted file mode 100755 index 629c5da0..00000000 Binary files a/minetestforfun_game/mods/default/schematics/pine_tree_from_sapling.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/schematics/snowy_pine_tree_from_sapling.mts b/minetestforfun_game/mods/default/schematics/snowy_pine_tree_from_sapling.mts deleted file mode 100644 index 0692049a..00000000 Binary files a/minetestforfun_game/mods/default/schematics/snowy_pine_tree_from_sapling.mts and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_break_glass.1.ogg b/minetestforfun_game/mods/default/sounds/default_break_glass.1.ogg deleted file mode 100755 index f209ebd7..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_break_glass.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_break_glass.2.ogg b/minetestforfun_game/mods/default/sounds/default_break_glass.2.ogg deleted file mode 100755 index 33912051..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_break_glass.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_break_glass.3.ogg b/minetestforfun_game/mods/default/sounds/default_break_glass.3.ogg deleted file mode 100755 index c7283fc1..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_break_glass.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_breathless.ogg b/minetestforfun_game/mods/default/sounds/default_breathless.ogg deleted file mode 100755 index ab6b63d4..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_breathless.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_cool_lava.1.ogg b/minetestforfun_game/mods/default/sounds/default_cool_lava.1.ogg deleted file mode 100755 index 000c2477..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_cool_lava.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_cool_lava.2.ogg b/minetestforfun_game/mods/default/sounds/default_cool_lava.2.ogg deleted file mode 100755 index a1b08bb4..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_cool_lava.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_cool_lava.3.ogg b/minetestforfun_game/mods/default/sounds/default_cool_lava.3.ogg deleted file mode 100755 index ab919ca0..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_cool_lava.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dig_choppy.ogg b/minetestforfun_game/mods/default/sounds/default_dig_choppy.ogg deleted file mode 100755 index cd1f12e6..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dig_choppy.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dig_cracky.ogg b/minetestforfun_game/mods/default/sounds/default_dig_cracky.ogg deleted file mode 100755 index ee7ad0cd..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dig_cracky.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dig_crumbly.ogg b/minetestforfun_game/mods/default/sounds/default_dig_crumbly.ogg deleted file mode 100755 index 775ff1ef..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dig_crumbly.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dig_dig_immediate.ogg b/minetestforfun_game/mods/default/sounds/default_dig_dig_immediate.ogg deleted file mode 100755 index 620b5385..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dig_dig_immediate.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dig_metal.ogg b/minetestforfun_game/mods/default/sounds/default_dig_metal.ogg deleted file mode 100644 index 0b585097..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dig_metal.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg b/minetestforfun_game/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg deleted file mode 100755 index e1a90bd2..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_dirt_footstep.1.ogg deleted file mode 100755 index ff0c721c..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_dirt_footstep.2.ogg deleted file mode 100755 index 8f527488..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_dirt_footstep.3.ogg deleted file mode 100755 index c4ce6d27..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_dirt_footstep.4.ogg deleted file mode 100755 index 06c30656..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dirt_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dug_metal.1.ogg b/minetestforfun_game/mods/default/sounds/default_dug_metal.1.ogg deleted file mode 100644 index 5d6cb5b1..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dug_metal.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dug_metal.2.ogg b/minetestforfun_game/mods/default/sounds/default_dug_metal.2.ogg deleted file mode 100644 index 63567fc0..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dug_metal.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dug_node.1.ogg b/minetestforfun_game/mods/default/sounds/default_dug_node.1.ogg deleted file mode 100755 index de93189a..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dug_node.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_dug_node.2.ogg b/minetestforfun_game/mods/default/sounds/default_dug_node.2.ogg deleted file mode 100755 index 19797ca8..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_dug_node.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_glass_footstep.ogg b/minetestforfun_game/mods/default/sounds/default_glass_footstep.ogg deleted file mode 100755 index d0787d3d..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_glass_footstep.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_grass_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_grass_footstep.1.ogg deleted file mode 100755 index 91da7cee..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_grass_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_grass_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_grass_footstep.2.ogg deleted file mode 100755 index 3e687724..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_grass_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_grass_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_grass_footstep.3.ogg deleted file mode 100755 index d44185d3..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_grass_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_grass_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_grass_footstep.4.ogg deleted file mode 100755 index 16586285..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_grass_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_gravel_footstep.1.ogg deleted file mode 100755 index 89402747..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_gravel_footstep.2.ogg deleted file mode 100755 index 2aeaa579..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_gravel_footstep.3.ogg deleted file mode 100755 index c389772b..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_gravel_footstep.4.ogg deleted file mode 100755 index 0721ed56..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_gravel_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_hard_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_hard_footstep.1.ogg deleted file mode 100755 index 08c12884..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_hard_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_hard_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_hard_footstep.2.ogg deleted file mode 100755 index 0f9c6726..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_hard_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_hard_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_hard_footstep.3.ogg deleted file mode 100755 index 677d990d..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_hard_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_hard_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_hard_footstep.4.ogg deleted file mode 100755 index e8cff58a..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_hard_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_item_smoke.ogg b/minetestforfun_game/mods/default/sounds/default_item_smoke.ogg deleted file mode 100644 index 5db375fc..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_item_smoke.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_metal_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_metal_footstep.1.ogg deleted file mode 100755 index 09dc222a..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_metal_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_metal_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_metal_footstep.2.ogg deleted file mode 100755 index 6aa3db79..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_metal_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_metal_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_metal_footstep.3.ogg deleted file mode 100755 index 29eeafc1..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_metal_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_metal_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_metal_footstep.4.ogg deleted file mode 100755 index dca0a69d..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_metal_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_place_node.1.ogg b/minetestforfun_game/mods/default/sounds/default_place_node.1.ogg deleted file mode 100755 index 9f3a6cf0..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_place_node.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_place_node.2.ogg b/minetestforfun_game/mods/default/sounds/default_place_node.2.ogg deleted file mode 100755 index 5fea93a9..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_place_node.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_place_node.3.ogg b/minetestforfun_game/mods/default/sounds/default_place_node.3.ogg deleted file mode 100755 index 5713e892..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_place_node.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_place_node_hard.1.ogg b/minetestforfun_game/mods/default/sounds/default_place_node_hard.1.ogg deleted file mode 100755 index 7d8f79a4..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_place_node_hard.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_place_node_hard.2.ogg b/minetestforfun_game/mods/default/sounds/default_place_node_hard.2.ogg deleted file mode 100755 index 9906b138..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_place_node_hard.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_place_node_metal.1.ogg b/minetestforfun_game/mods/default/sounds/default_place_node_metal.1.ogg deleted file mode 100644 index 5da085ea..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_place_node_metal.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_place_node_metal.2.ogg b/minetestforfun_game/mods/default/sounds/default_place_node_metal.2.ogg deleted file mode 100644 index 5ee67fcf..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_place_node_metal.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_sand_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_sand_footstep.1.ogg deleted file mode 100755 index 4aa2e30b..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_sand_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_sand_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_sand_footstep.2.ogg deleted file mode 100755 index ee09fd64..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_sand_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_sand_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_sand_footstep.3.ogg deleted file mode 100755 index c9c90168..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_sand_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_sand_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_sand_footstep.4.ogg deleted file mode 100755 index 79b2975a..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_sand_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_snow_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_snow_footstep.1.ogg deleted file mode 100755 index b75a5c1b..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_snow_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_snow_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_snow_footstep.2.ogg deleted file mode 100755 index d60a6285..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_snow_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_snow_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_snow_footstep.3.ogg deleted file mode 100755 index 0c410fca..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_snow_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_snow_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_snow_footstep.4.ogg deleted file mode 100755 index c3537acb..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_snow_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_wood_footstep.1.ogg b/minetestforfun_game/mods/default/sounds/default_wood_footstep.1.ogg deleted file mode 100755 index b9f8f5a7..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_wood_footstep.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_wood_footstep.2.ogg b/minetestforfun_game/mods/default/sounds/default_wood_footstep.2.ogg deleted file mode 100755 index 0482cf2a..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_wood_footstep.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_wood_footstep.3.ogg b/minetestforfun_game/mods/default/sounds/default_wood_footstep.3.ogg deleted file mode 100755 index 3f4333a2..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_wood_footstep.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/default_wood_footstep.4.ogg b/minetestforfun_game/mods/default/sounds/default_wood_footstep.4.ogg deleted file mode 100755 index c36afc33..00000000 Binary files a/minetestforfun_game/mods/default/sounds/default_wood_footstep.4.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/health_gain.ogg b/minetestforfun_game/mods/default/sounds/health_gain.ogg deleted file mode 100755 index 3d21c3fa..00000000 Binary files a/minetestforfun_game/mods/default/sounds/health_gain.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/lava.ogg b/minetestforfun_game/mods/default/sounds/lava.ogg deleted file mode 100755 index 6a7ce6e8..00000000 Binary files a/minetestforfun_game/mods/default/sounds/lava.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/player_damage.1.ogg b/minetestforfun_game/mods/default/sounds/player_damage.1.ogg deleted file mode 100755 index 4d672aff..00000000 Binary files a/minetestforfun_game/mods/default/sounds/player_damage.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/player_damage.2.ogg b/minetestforfun_game/mods/default/sounds/player_damage.2.ogg deleted file mode 100755 index 11f74fd5..00000000 Binary files a/minetestforfun_game/mods/default/sounds/player_damage.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/player_damage.ogg b/minetestforfun_game/mods/default/sounds/player_damage.ogg deleted file mode 100644 index 78880871..00000000 Binary files a/minetestforfun_game/mods/default/sounds/player_damage.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/player_falling_damage.ogg b/minetestforfun_game/mods/default/sounds/player_falling_damage.ogg deleted file mode 100755 index 33e2f708..00000000 Binary files a/minetestforfun_game/mods/default/sounds/player_falling_damage.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/sounds/waterfall.ogg b/minetestforfun_game/mods/default/sounds/waterfall.ogg deleted file mode 100755 index 2a313956..00000000 Binary files a/minetestforfun_game/mods/default/sounds/waterfall.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/bubble.png b/minetestforfun_game/mods/default/textures/bubble.png deleted file mode 100755 index 340445fc..00000000 Binary files a/minetestforfun_game/mods/default/textures/bubble.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/crack_anylength.png b/minetestforfun_game/mods/default/textures/crack_anylength.png deleted file mode 100755 index dd3aac9a..00000000 Binary files a/minetestforfun_game/mods/default/textures/crack_anylength.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_bush_stem.png b/minetestforfun_game/mods/default/textures/default_acacia_bush_stem.png deleted file mode 100644 index 29039152..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_acacia_bush_stem.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_leaves.png b/minetestforfun_game/mods/default/textures/default_acacia_leaves.png deleted file mode 100644 index 626e1b30..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_acacia_leaves.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_leaves_simple.png b/minetestforfun_game/mods/default/textures/default_acacia_leaves_simple.png deleted file mode 100644 index 3c7015bb..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_acacia_leaves_simple.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_sapling.png b/minetestforfun_game/mods/default/textures/default_acacia_sapling.png deleted file mode 100644 index 94f6afb8..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_acacia_sapling.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_tree.png b/minetestforfun_game/mods/default/textures/default_acacia_tree.png deleted file mode 100755 index 169823d4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_acacia_tree.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_tree_top.png b/minetestforfun_game/mods/default/textures/default_acacia_tree_top.png deleted file mode 100644 index 8d36abb3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_acacia_tree_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_wood.png b/minetestforfun_game/mods/default/textures/default_acacia_wood.png deleted file mode 100644 index d1a308c3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_acacia_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_apple.png b/minetestforfun_game/mods/default/textures/default_apple.png deleted file mode 100755 index 7549bfd2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_apple.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_aspen_leaves.png b/minetestforfun_game/mods/default/textures/default_aspen_leaves.png deleted file mode 100644 index 3234f7c4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_aspen_leaves.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_aspen_sapling.png b/minetestforfun_game/mods/default/textures/default_aspen_sapling.png deleted file mode 100644 index 353fcaa2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_aspen_sapling.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_aspen_tree.png b/minetestforfun_game/mods/default/textures/default_aspen_tree.png deleted file mode 100644 index 4ab7fd72..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_aspen_tree.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_aspen_tree_top.png b/minetestforfun_game/mods/default/textures/default_aspen_tree_top.png deleted file mode 100644 index 61ac0096..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_aspen_tree_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_aspen_wood.png b/minetestforfun_game/mods/default/textures/default_aspen_wood.png deleted file mode 100644 index 23843bec..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_aspen_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_book.png b/minetestforfun_game/mods/default/textures/default_book.png deleted file mode 100644 index 46322345..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_book.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_book_written.png b/minetestforfun_game/mods/default/textures/default_book_written.png deleted file mode 100644 index fe8b0630..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_book_written.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_bookshelf.png b/minetestforfun_game/mods/default/textures/default_bookshelf.png deleted file mode 100644 index 10d64837..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_bookshelf.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_bookshelf_slot.png b/minetestforfun_game/mods/default/textures/default_bookshelf_slot.png deleted file mode 100644 index 31c4eb5e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_bookshelf_slot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_brick.png b/minetestforfun_game/mods/default/textures/default_brick.png deleted file mode 100755 index de98961e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_brick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_bronze_block.png b/minetestforfun_game/mods/default/textures/default_bronze_block.png deleted file mode 100755 index 491fc78a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_bronze_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_bronze_ingot.png b/minetestforfun_game/mods/default/textures/default_bronze_ingot.png deleted file mode 100755 index 6cccdf6e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_bronze_ingot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_bush_stem.png b/minetestforfun_game/mods/default/textures/default_bush_stem.png deleted file mode 100644 index 18b615f7..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_bush_stem.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_cactus_side.png b/minetestforfun_game/mods/default/textures/default_cactus_side.png deleted file mode 100644 index 530316a4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_cactus_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_cactus_top.png b/minetestforfun_game/mods/default/textures/default_cactus_top.png deleted file mode 100755 index 6a11d9b9..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_cactus_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_chest_front.png b/minetestforfun_game/mods/default/textures/default_chest_front.png deleted file mode 100755 index f4132794..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_chest_front.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_chest_lock.png b/minetestforfun_game/mods/default/textures/default_chest_lock.png deleted file mode 100755 index b1885ea5..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_chest_lock.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_chest_side.png b/minetestforfun_game/mods/default/textures/default_chest_side.png deleted file mode 100755 index 44a65a43..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_chest_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_chest_top.png b/minetestforfun_game/mods/default/textures/default_chest_top.png deleted file mode 100755 index 1fbdbb94..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_chest_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_clay.png b/minetestforfun_game/mods/default/textures/default_clay.png deleted file mode 100755 index ac40a08f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_clay.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_clay_brick.png b/minetestforfun_game/mods/default/textures/default_clay_brick.png deleted file mode 100644 index 67c92bb2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_clay_brick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_clay_burned.png b/minetestforfun_game/mods/default/textures/default_clay_burned.png deleted file mode 100644 index d6a98030..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_clay_burned.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_clay_lump.png b/minetestforfun_game/mods/default/textures/default_clay_lump.png deleted file mode 100755 index 438f9236..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_clay_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_cloud.png b/minetestforfun_game/mods/default/textures/default_cloud.png deleted file mode 100755 index faf0ec13..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_cloud.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_coal_block.png b/minetestforfun_game/mods/default/textures/default_coal_block.png deleted file mode 100755 index ee4ef54e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_coal_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_coal_lump.png b/minetestforfun_game/mods/default/textures/default_coal_lump.png deleted file mode 100755 index 792961dc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_coal_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_cobble.png b/minetestforfun_game/mods/default/textures/default_cobble.png deleted file mode 100755 index 9b1debb1..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_cobble.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_copper_block.png b/minetestforfun_game/mods/default/textures/default_copper_block.png deleted file mode 100755 index e1b60f0a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_copper_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_copper_ingot.png b/minetestforfun_game/mods/default/textures/default_copper_ingot.png deleted file mode 100755 index bcad9c05..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_copper_ingot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_copper_lump.png b/minetestforfun_game/mods/default/textures/default_copper_lump.png deleted file mode 100755 index 998c592e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_copper_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_coral_brown.png b/minetestforfun_game/mods/default/textures/default_coral_brown.png deleted file mode 100644 index 8a775fe0..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_coral_brown.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_coral_orange.png b/minetestforfun_game/mods/default/textures/default_coral_orange.png deleted file mode 100644 index cefac627..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_coral_orange.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_coral_skeleton.png b/minetestforfun_game/mods/default/textures/default_coral_skeleton.png deleted file mode 100644 index fa48f151..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_coral_skeleton.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_desert_cobble.png b/minetestforfun_game/mods/default/textures/default_desert_cobble.png deleted file mode 100755 index 4cbab56b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_desert_cobble.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_desert_sand.png b/minetestforfun_game/mods/default/textures/default_desert_sand.png deleted file mode 100755 index d9049b42..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_desert_sand.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_desert_stone.png b/minetestforfun_game/mods/default/textures/default_desert_stone.png deleted file mode 100755 index 5d3aded2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_desert_stone.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_desert_stone_block.png b/minetestforfun_game/mods/default/textures/default_desert_stone_block.png deleted file mode 100644 index ef7ba5bc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_desert_stone_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_desert_stone_brick.png b/minetestforfun_game/mods/default/textures/default_desert_stone_brick.png deleted file mode 100755 index b7cc78f4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_desert_stone_brick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_diamond.png b/minetestforfun_game/mods/default/textures/default_diamond.png deleted file mode 100755 index fcfa2ab9..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_diamond.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_diamond_block.png b/minetestforfun_game/mods/default/textures/default_diamond_block.png deleted file mode 100644 index 75863646..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_diamond_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dirt.png b/minetestforfun_game/mods/default/textures/default_dirt.png deleted file mode 100755 index 260bd01c..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dirt.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass.png b/minetestforfun_game/mods/default/textures/default_dry_grass.png deleted file mode 100644 index 76dc9816..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_grass.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_1.png b/minetestforfun_game/mods/default/textures/default_dry_grass_1.png deleted file mode 100644 index c6fb01b2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_grass_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_2.png b/minetestforfun_game/mods/default/textures/default_dry_grass_2.png deleted file mode 100644 index b4047ba7..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_grass_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_3.png b/minetestforfun_game/mods/default/textures/default_dry_grass_3.png deleted file mode 100644 index 6c8e01dc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_grass_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_4.png b/minetestforfun_game/mods/default/textures/default_dry_grass_4.png deleted file mode 100644 index 084d02df..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_grass_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_5.png b/minetestforfun_game/mods/default/textures/default_dry_grass_5.png deleted file mode 100644 index 5a3b00c4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_grass_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_side.png b/minetestforfun_game/mods/default/textures/default_dry_grass_side.png deleted file mode 100644 index 6415abd5..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_grass_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_shrub.png b/minetestforfun_game/mods/default/textures/default_dry_shrub.png deleted file mode 100755 index f8c39a2e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_dry_shrub.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_fence_acacia_wood.png b/minetestforfun_game/mods/default/textures/default_fence_acacia_wood.png deleted file mode 100644 index d689a30b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_fence_acacia_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_fence_aspen_wood.png b/minetestforfun_game/mods/default/textures/default_fence_aspen_wood.png deleted file mode 100644 index 812fc2ec..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_fence_aspen_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_fence_junglewood.png b/minetestforfun_game/mods/default/textures/default_fence_junglewood.png deleted file mode 100644 index 4dc7a0d9..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_fence_junglewood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_fence_overlay.png b/minetestforfun_game/mods/default/textures/default_fence_overlay.png deleted file mode 100755 index 034fbb0c..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_fence_overlay.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_fence_pine_wood.png b/minetestforfun_game/mods/default/textures/default_fence_pine_wood.png deleted file mode 100644 index 2abbb1d8..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_fence_pine_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_fence_wood.png b/minetestforfun_game/mods/default/textures/default_fence_wood.png deleted file mode 100644 index af736826..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_fence_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_flint.png b/minetestforfun_game/mods/default/textures/default_flint.png deleted file mode 100644 index 19ba3e5c..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_flint.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_footprint.png b/minetestforfun_game/mods/default/textures/default_footprint.png deleted file mode 100644 index 1075d749..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_footprint.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_furnace_bottom.png b/minetestforfun_game/mods/default/textures/default_furnace_bottom.png deleted file mode 100755 index 57fd4baa..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_furnace_bottom.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_furnace_fire_bg.png b/minetestforfun_game/mods/default/textures/default_furnace_fire_bg.png deleted file mode 100755 index 126204a3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_furnace_fire_bg.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_furnace_fire_fg.png b/minetestforfun_game/mods/default/textures/default_furnace_fire_fg.png deleted file mode 100755 index 576f113b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_furnace_fire_fg.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_furnace_front.png b/minetestforfun_game/mods/default/textures/default_furnace_front.png deleted file mode 100755 index 19e93ca2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_furnace_front.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_furnace_front_active.png b/minetestforfun_game/mods/default/textures/default_furnace_front_active.png deleted file mode 100755 index 3c6f0fad..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_furnace_front_active.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_furnace_side.png b/minetestforfun_game/mods/default/textures/default_furnace_side.png deleted file mode 100755 index 5b9c3a07..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_furnace_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_furnace_top.png b/minetestforfun_game/mods/default/textures/default_furnace_top.png deleted file mode 100755 index 57fd4baa..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_furnace_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_glass.png b/minetestforfun_game/mods/default/textures/default_glass.png deleted file mode 100755 index b4c7fb5f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_glass_detail.png b/minetestforfun_game/mods/default/textures/default_glass_detail.png deleted file mode 100755 index 261fb0b4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_glass_detail.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_glass_frame.png b/minetestforfun_game/mods/default/textures/default_glass_frame.png deleted file mode 100755 index c8783eb4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_glass_frame.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_gold_block.png b/minetestforfun_game/mods/default/textures/default_gold_block.png deleted file mode 100644 index cde790d6..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_gold_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_gold_ingot.png b/minetestforfun_game/mods/default/textures/default_gold_ingot.png deleted file mode 100755 index 5b08dd19..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_gold_ingot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_gold_lump.png b/minetestforfun_game/mods/default/textures/default_gold_lump.png deleted file mode 100755 index d5a1be79..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_gold_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_grass.png b/minetestforfun_game/mods/default/textures/default_grass.png deleted file mode 100644 index acbdcc25..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_grass.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_grass_1.png b/minetestforfun_game/mods/default/textures/default_grass_1.png deleted file mode 100755 index 425b6aac..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_grass_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_grass_2.png b/minetestforfun_game/mods/default/textures/default_grass_2.png deleted file mode 100755 index 4fde9799..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_grass_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_grass_3.png b/minetestforfun_game/mods/default/textures/default_grass_3.png deleted file mode 100755 index 0020122d..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_grass_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_grass_4.png b/minetestforfun_game/mods/default/textures/default_grass_4.png deleted file mode 100755 index d8e0032a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_grass_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_grass_5.png b/minetestforfun_game/mods/default/textures/default_grass_5.png deleted file mode 100755 index 188cadc1..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_grass_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_grass_side.png b/minetestforfun_game/mods/default/textures/default_grass_side.png deleted file mode 100644 index e9a4a11c..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_grass_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_gravel.png b/minetestforfun_game/mods/default/textures/default_gravel.png deleted file mode 100644 index fc8dc696..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_gravel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_ice.png b/minetestforfun_game/mods/default/textures/default_ice.png deleted file mode 100755 index afeb3234..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_ice.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_iron_lump.png b/minetestforfun_game/mods/default/textures/default_iron_lump.png deleted file mode 100755 index 07c2c00e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_iron_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_item_smoke.png b/minetestforfun_game/mods/default/textures/default_item_smoke.png deleted file mode 100644 index d62fb3b0..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_item_smoke.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_junglegrass.png b/minetestforfun_game/mods/default/textures/default_junglegrass.png deleted file mode 100755 index 25abb714..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_junglegrass.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_jungleleaves.png b/minetestforfun_game/mods/default/textures/default_jungleleaves.png deleted file mode 100755 index f1b55e88..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_jungleleaves.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_jungleleaves_simple.png b/minetestforfun_game/mods/default/textures/default_jungleleaves_simple.png deleted file mode 100644 index c63edf24..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_jungleleaves_simple.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_junglesapling.png b/minetestforfun_game/mods/default/textures/default_junglesapling.png deleted file mode 100755 index 7c5e5aa2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_junglesapling.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_jungletree.png b/minetestforfun_game/mods/default/textures/default_jungletree.png deleted file mode 100644 index 712e48a4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_jungletree.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_jungletree_top.png b/minetestforfun_game/mods/default/textures/default_jungletree_top.png deleted file mode 100644 index 204e5972..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_jungletree_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_junglewood.png b/minetestforfun_game/mods/default/textures/default_junglewood.png deleted file mode 100755 index 1f22d9af..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_junglewood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_ladder_new.png b/minetestforfun_game/mods/default/textures/default_ladder_new.png deleted file mode 100755 index d4bb3975..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_ladder_new.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_ladder_steel.png b/minetestforfun_game/mods/default/textures/default_ladder_steel.png deleted file mode 100644 index 9fa21b18..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_ladder_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_ladder_wood.png b/minetestforfun_game/mods/default/textures/default_ladder_wood.png deleted file mode 100644 index c167fff5..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_ladder_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_lava.png b/minetestforfun_game/mods/default/textures/default_lava.png deleted file mode 100644 index 9fd26e3f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_lava.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_lava_flowing_animated.png b/minetestforfun_game/mods/default/textures/default_lava_flowing_animated.png deleted file mode 100755 index 36b081bd..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_lava_flowing_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_lava_source_animated.png b/minetestforfun_game/mods/default/textures/default_lava_source_animated.png deleted file mode 100755 index e69369a3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_lava_source_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_leaves.png b/minetestforfun_game/mods/default/textures/default_leaves.png deleted file mode 100755 index 2012360b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_leaves.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_leaves_simple.png b/minetestforfun_game/mods/default/textures/default_leaves_simple.png deleted file mode 100644 index ecba5b37..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_leaves_simple.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mese_block.png b/minetestforfun_game/mods/default/textures/default_mese_block.png deleted file mode 100755 index 4b052144..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mese_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mese_crystal.png b/minetestforfun_game/mods/default/textures/default_mese_crystal.png deleted file mode 100755 index f1d71f16..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mese_crystal.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mese_crystal_fragment.png b/minetestforfun_game/mods/default/textures/default_mese_crystal_fragment.png deleted file mode 100755 index d5416ab0..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mese_crystal_fragment.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_meselamp.png b/minetestforfun_game/mods/default/textures/default_meselamp.png deleted file mode 100755 index 8abec28a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_meselamp.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_coal.png b/minetestforfun_game/mods/default/textures/default_mineral_coal.png deleted file mode 100755 index 6d1386b9..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_coal.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_copper.png b/minetestforfun_game/mods/default/textures/default_mineral_copper.png deleted file mode 100755 index c4c518eb..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_copper.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_diamond.png b/minetestforfun_game/mods/default/textures/default_mineral_diamond.png deleted file mode 100755 index fca966b6..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_diamond.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_gold.png b/minetestforfun_game/mods/default/textures/default_mineral_gold.png deleted file mode 100755 index 2220addd..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_gold.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_iron.png b/minetestforfun_game/mods/default/textures/default_mineral_iron.png deleted file mode 100755 index 6c894ce1..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_iron.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_mese.png b/minetestforfun_game/mods/default/textures/default_mineral_mese.png deleted file mode 100644 index fd8c8e09..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_mese.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_mithril.png b/minetestforfun_game/mods/default/textures/default_mineral_mithril.png deleted file mode 100755 index 9d4c84e8..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_mithril.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_tin.png b/minetestforfun_game/mods/default/textures/default_mineral_tin.png deleted file mode 100755 index d73add2a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mineral_tin.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mithril_ingot.png b/minetestforfun_game/mods/default/textures/default_mithril_ingot.png deleted file mode 100755 index bf1db503..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mithril_ingot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mithril_lump.png b/minetestforfun_game/mods/default/textures/default_mithril_lump.png deleted file mode 100755 index 2dd6188d..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mithril_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_mossycobble.png b/minetestforfun_game/mods/default/textures/default_mossycobble.png deleted file mode 100755 index 7e59e398..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_mossycobble.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_nc_back.png b/minetestforfun_game/mods/default/textures/default_nc_back.png deleted file mode 100755 index e479ace8..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_nc_back.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_nc_front.png b/minetestforfun_game/mods/default/textures/default_nc_front.png deleted file mode 100755 index c9dd6a33..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_nc_front.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_nc_rb.png b/minetestforfun_game/mods/default/textures/default_nc_rb.png deleted file mode 100755 index 685a22cc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_nc_rb.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_nc_side.png b/minetestforfun_game/mods/default/textures/default_nc_side.png deleted file mode 100755 index 3152c337..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_nc_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_obsidian.png b/minetestforfun_game/mods/default/textures/default_obsidian.png deleted file mode 100755 index cb170eae..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_obsidian.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_obsidian_block.png b/minetestforfun_game/mods/default/textures/default_obsidian_block.png deleted file mode 100644 index 262cd37e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_obsidian_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_obsidian_brick.png b/minetestforfun_game/mods/default/textures/default_obsidian_brick.png deleted file mode 100755 index 8a5eb6fa..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_obsidian_brick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_obsidian_glass.png b/minetestforfun_game/mods/default/textures/default_obsidian_glass.png deleted file mode 100755 index ef5f8b5a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_obsidian_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_obsidian_glass_detail.png b/minetestforfun_game/mods/default/textures/default_obsidian_glass_detail.png deleted file mode 100755 index 3bfa63c2..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_obsidian_glass_detail.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_obsidian_glass_frame.png b/minetestforfun_game/mods/default/textures/default_obsidian_glass_frame.png deleted file mode 100755 index ef5f8b5a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_obsidian_glass_frame.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_obsidian_shard.png b/minetestforfun_game/mods/default/textures/default_obsidian_shard.png deleted file mode 100755 index a988d8ce..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_obsidian_shard.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_paper.png b/minetestforfun_game/mods/default/textures/default_paper.png deleted file mode 100755 index b4cd69fc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_paper.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_papyrus.png b/minetestforfun_game/mods/default/textures/default_papyrus.png deleted file mode 100755 index 6fe5552f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_papyrus.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_pine_needles.png b/minetestforfun_game/mods/default/textures/default_pine_needles.png deleted file mode 100755 index a84e69c1..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_pine_needles.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_pine_sapling.png b/minetestforfun_game/mods/default/textures/default_pine_sapling.png deleted file mode 100755 index 386d60bd..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_pine_sapling.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_pine_tree.png b/minetestforfun_game/mods/default/textures/default_pine_tree.png deleted file mode 100755 index 5a2a8b21..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_pine_tree.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_pine_tree_top.png b/minetestforfun_game/mods/default/textures/default_pine_tree_top.png deleted file mode 100644 index 2ed696af..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_pine_tree_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_pine_wood.png b/minetestforfun_game/mods/default/textures/default_pine_wood.png deleted file mode 100644 index 1285fd05..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_pine_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_rail.png b/minetestforfun_game/mods/default/textures/default_rail.png deleted file mode 100755 index 26fed02e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_rail.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_rail_crossing.png b/minetestforfun_game/mods/default/textures/default_rail_crossing.png deleted file mode 100644 index 054a6d38..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_rail_crossing.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_rail_curved.png b/minetestforfun_game/mods/default/textures/default_rail_curved.png deleted file mode 100755 index 9084ac24..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_rail_curved.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_rail_t_junction.png b/minetestforfun_game/mods/default/textures/default_rail_t_junction.png deleted file mode 100755 index 8479cb11..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_rail_t_junction.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_river_water.png b/minetestforfun_game/mods/default/textures/default_river_water.png deleted file mode 100755 index f4318607..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_river_water.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_river_water_flowing_animated.png b/minetestforfun_game/mods/default/textures/default_river_water_flowing_animated.png deleted file mode 100755 index b6b706a0..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_river_water_flowing_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_river_water_source_animated.png b/minetestforfun_game/mods/default/textures/default_river_water_source_animated.png deleted file mode 100755 index f5d2f741..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_river_water_source_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sand.png b/minetestforfun_game/mods/default/textures/default_sand.png deleted file mode 100755 index ba5eb0e9..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sand.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sand_normal.png b/minetestforfun_game/mods/default/textures/default_sand_normal.png deleted file mode 100644 index 27017841..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sand_normal.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sand_source_animated.png b/minetestforfun_game/mods/default/textures/default_sand_source_animated.png deleted file mode 100755 index bcb7a0e9..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sand_source_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sandstone.png b/minetestforfun_game/mods/default/textures/default_sandstone.png deleted file mode 100755 index 90f6dc6d..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sandstone.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sandstone_block.png b/minetestforfun_game/mods/default/textures/default_sandstone_block.png deleted file mode 100644 index b97c8780..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sandstone_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sandstone_brick.png b/minetestforfun_game/mods/default/textures/default_sandstone_brick.png deleted file mode 100644 index 8bd7db1a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sandstone_brick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sapling.png b/minetestforfun_game/mods/default/textures/default_sapling.png deleted file mode 100755 index b58b51cd..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sapling.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign.png b/minetestforfun_game/mods/default/textures/default_sign.png deleted file mode 100755 index 3e77b44c..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign_new.png b/minetestforfun_game/mods/default/textures/default_sign_new.png deleted file mode 100755 index c0654e4f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign_new.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign_new_inv.png b/minetestforfun_game/mods/default/textures/default_sign_new_inv.png deleted file mode 100755 index 76b95fd0..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign_new_inv.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign_steel.png b/minetestforfun_game/mods/default/textures/default_sign_steel.png deleted file mode 100644 index f4450f06..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign_wall.png b/minetestforfun_game/mods/default/textures/default_sign_wall.png deleted file mode 100755 index 11120416..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign_wall.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign_wall_steel.png b/minetestforfun_game/mods/default/textures/default_sign_wall_steel.png deleted file mode 100644 index 344d8dba..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign_wall_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign_wall_wood.png b/minetestforfun_game/mods/default/textures/default_sign_wall_wood.png deleted file mode 100644 index 4adcbbcb..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign_wall_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sign_wood.png b/minetestforfun_game/mods/default/textures/default_sign_wood.png deleted file mode 100644 index 5f892a57..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_sign_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_silver_block.png b/minetestforfun_game/mods/default/textures/default_silver_block.png deleted file mode 100755 index 789cc5a0..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_silver_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_silver_ingot.png b/minetestforfun_game/mods/default/textures/default_silver_ingot.png deleted file mode 100755 index 1357a714..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_silver_ingot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_silver_lump.png b/minetestforfun_game/mods/default/textures/default_silver_lump.png deleted file mode 100755 index b141566a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_silver_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_silver_sand.png b/minetestforfun_game/mods/default/textures/default_silver_sand.png deleted file mode 100644 index d381e883..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_silver_sand.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_snow.png b/minetestforfun_game/mods/default/textures/default_snow.png deleted file mode 100755 index 2a2439fb..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_snow.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_snow_side.png b/minetestforfun_game/mods/default/textures/default_snow_side.png deleted file mode 100755 index 3e989151..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_snow_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_snowball.png b/minetestforfun_game/mods/default/textures/default_snowball.png deleted file mode 100755 index c85e2051..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_snowball.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_steel_block.png b/minetestforfun_game/mods/default/textures/default_steel_block.png deleted file mode 100644 index 5d2c5676..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_steel_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_steel_ingot.png b/minetestforfun_game/mods/default/textures/default_steel_ingot.png deleted file mode 100644 index 719c56c5..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_steel_ingot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_stick.png b/minetestforfun_game/mods/default/textures/default_stick.png deleted file mode 100755 index 0ba6720f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_stick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_stone.png b/minetestforfun_game/mods/default/textures/default_stone.png deleted file mode 100755 index 23fba6ab..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_stone.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_stone_block.png b/minetestforfun_game/mods/default/textures/default_stone_block.png deleted file mode 100644 index 3b771e72..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_stone_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_stone_brick.png b/minetestforfun_game/mods/default/textures/default_stone_brick.png deleted file mode 100755 index 12ea9531..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_stone_brick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tin_block.png b/minetestforfun_game/mods/default/textures/default_tin_block.png deleted file mode 100755 index e746a1e3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tin_block.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tin_ingot.png b/minetestforfun_game/mods/default/textures/default_tin_ingot.png deleted file mode 100755 index 6f4327bc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tin_ingot.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tin_lump.png b/minetestforfun_game/mods/default/textures/default_tin_lump.png deleted file mode 100755 index d0edba35..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tin_lump.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tnt_bottom.png b/minetestforfun_game/mods/default/textures/default_tnt_bottom.png deleted file mode 100755 index 4eda0603..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tnt_bottom.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tnt_side.png b/minetestforfun_game/mods/default/textures/default_tnt_side.png deleted file mode 100755 index 947f862d..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tnt_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tnt_top.png b/minetestforfun_game/mods/default/textures/default_tnt_top.png deleted file mode 100755 index a031a34a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tnt_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_bronzeaxe.png b/minetestforfun_game/mods/default/textures/default_tool_bronzeaxe.png deleted file mode 100755 index 627a9ef4..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_bronzeaxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_bronzepick.png b/minetestforfun_game/mods/default/textures/default_tool_bronzepick.png deleted file mode 100755 index 8f26d0b5..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_bronzepick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_bronzeshovel.png b/minetestforfun_game/mods/default/textures/default_tool_bronzeshovel.png deleted file mode 100755 index d90b0aea..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_bronzeshovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_bronzesword.png b/minetestforfun_game/mods/default/textures/default_tool_bronzesword.png deleted file mode 100644 index 473690b3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_bronzesword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_diamondaxe.png b/minetestforfun_game/mods/default/textures/default_tool_diamondaxe.png deleted file mode 100644 index 0a7e4b0b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_diamondaxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_diamondpick.png b/minetestforfun_game/mods/default/textures/default_tool_diamondpick.png deleted file mode 100644 index ed7ed781..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_diamondpick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_diamondshovel.png b/minetestforfun_game/mods/default/textures/default_tool_diamondshovel.png deleted file mode 100644 index 18c1544f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_diamondshovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_diamondsword.png b/minetestforfun_game/mods/default/textures/default_tool_diamondsword.png deleted file mode 100644 index 4caada25..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_diamondsword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_meseaxe.png b/minetestforfun_game/mods/default/textures/default_tool_meseaxe.png deleted file mode 100755 index ada782b1..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_meseaxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_mesepick.png b/minetestforfun_game/mods/default/textures/default_tool_mesepick.png deleted file mode 100755 index 8eafc4ff..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_mesepick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_meseshovel.png b/minetestforfun_game/mods/default/textures/default_tool_meseshovel.png deleted file mode 100755 index c7aa4ea6..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_meseshovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_mesesword.png b/minetestforfun_game/mods/default/textures/default_tool_mesesword.png deleted file mode 100755 index 7c81909e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_mesesword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_mithrilaxe.png b/minetestforfun_game/mods/default/textures/default_tool_mithrilaxe.png deleted file mode 100755 index 097b2d23..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_mithrilaxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_mithrilpick.png b/minetestforfun_game/mods/default/textures/default_tool_mithrilpick.png deleted file mode 100755 index 66d7bffc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_mithrilpick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_mithrilshovel.png b/minetestforfun_game/mods/default/textures/default_tool_mithrilshovel.png deleted file mode 100755 index 4f2fcb99..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_mithrilshovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_mithrilsword.png b/minetestforfun_game/mods/default/textures/default_tool_mithrilsword.png deleted file mode 100644 index 0c03d7bb..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_mithrilsword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_silveraxe.png b/minetestforfun_game/mods/default/textures/default_tool_silveraxe.png deleted file mode 100755 index eceecb59..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_silveraxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_silverpick.png b/minetestforfun_game/mods/default/textures/default_tool_silverpick.png deleted file mode 100755 index 283bf797..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_silverpick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_silvershovel.png b/minetestforfun_game/mods/default/textures/default_tool_silvershovel.png deleted file mode 100755 index 447feebf..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_silvershovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_silversword.png b/minetestforfun_game/mods/default/textures/default_tool_silversword.png deleted file mode 100755 index 64dfb25a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_silversword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_steelaxe.png b/minetestforfun_game/mods/default/textures/default_tool_steelaxe.png deleted file mode 100755 index 36152ffa..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_steelaxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_steelpick.png b/minetestforfun_game/mods/default/textures/default_tool_steelpick.png deleted file mode 100755 index 5f7db368..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_steelpick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_steelshovel.png b/minetestforfun_game/mods/default/textures/default_tool_steelshovel.png deleted file mode 100755 index b1302f79..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_steelshovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_steelsword.png b/minetestforfun_game/mods/default/textures/default_tool_steelsword.png deleted file mode 100644 index 27fc189e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_steelsword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_stoneaxe.png b/minetestforfun_game/mods/default/textures/default_tool_stoneaxe.png deleted file mode 100755 index db0bc9ce..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_stoneaxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_stonepick.png b/minetestforfun_game/mods/default/textures/default_tool_stonepick.png deleted file mode 100755 index df7ad0ea..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_stonepick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_stoneshovel.png b/minetestforfun_game/mods/default/textures/default_tool_stoneshovel.png deleted file mode 100755 index 84911ff3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_stoneshovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_stonesword.png b/minetestforfun_game/mods/default/textures/default_tool_stonesword.png deleted file mode 100644 index c1f119f0..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_stonesword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_woodaxe.png b/minetestforfun_game/mods/default/textures/default_tool_woodaxe.png deleted file mode 100755 index 8ac4c56e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_woodaxe.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_woodpick.png b/minetestforfun_game/mods/default/textures/default_tool_woodpick.png deleted file mode 100755 index 57d471c3..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_woodpick.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_woodshovel.png b/minetestforfun_game/mods/default/textures/default_tool_woodshovel.png deleted file mode 100755 index 5ac0576b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_woodshovel.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tool_woodsword.png b/minetestforfun_game/mods/default/textures/default_tool_woodsword.png deleted file mode 100644 index acc1f87a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tool_woodsword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch.png b/minetestforfun_game/mods/default/textures/default_torch.png deleted file mode 100755 index e21aac33..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_animated.png b/minetestforfun_game/mods/default/textures/default_torch_animated.png deleted file mode 100755 index 2629f85b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_new_bottom.png b/minetestforfun_game/mods/default/textures/default_torch_new_bottom.png deleted file mode 100755 index 8c2b797e..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_new_bottom.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_new_inv.png b/minetestforfun_game/mods/default/textures/default_torch_new_inv.png deleted file mode 100755 index 61e8c108..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_new_inv.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_new_side.png b/minetestforfun_game/mods/default/textures/default_torch_new_side.png deleted file mode 100755 index 71b32df5..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_new_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_new_top.png b/minetestforfun_game/mods/default/textures/default_torch_new_top.png deleted file mode 100755 index af41037f..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_new_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_on_ceiling.png b/minetestforfun_game/mods/default/textures/default_torch_on_ceiling.png deleted file mode 100755 index 89f41f5b..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_on_ceiling.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_on_ceiling_animated.png b/minetestforfun_game/mods/default/textures/default_torch_on_ceiling_animated.png deleted file mode 100755 index b15836dc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_on_ceiling_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_on_floor.png b/minetestforfun_game/mods/default/textures/default_torch_on_floor.png deleted file mode 100755 index 1567f0b6..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_on_floor.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_torch_on_floor_animated.png b/minetestforfun_game/mods/default/textures/default_torch_on_floor_animated.png deleted file mode 100755 index 97bbe436..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_torch_on_floor_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tree.png b/minetestforfun_game/mods/default/textures/default_tree.png deleted file mode 100644 index 3f7ee15a..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tree.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_tree_top.png b/minetestforfun_game/mods/default/textures/default_tree_top.png deleted file mode 100644 index 96b572ff..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_tree_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_water.png b/minetestforfun_game/mods/default/textures/default_water.png deleted file mode 100755 index e94615cc..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_water.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_water_flowing_animated.png b/minetestforfun_game/mods/default/textures/default_water_flowing_animated.png deleted file mode 100755 index 919b92f8..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_water_flowing_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_water_source_animated.png b/minetestforfun_game/mods/default/textures/default_water_source_animated.png deleted file mode 100755 index d4871639..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_water_source_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_wood.png b/minetestforfun_game/mods/default/textures/default_wood.png deleted file mode 100755 index 4f31b6d1..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/gui_formbg.png b/minetestforfun_game/mods/default/textures/gui_formbg.png deleted file mode 100644 index 45017413..00000000 Binary files a/minetestforfun_game/mods/default/textures/gui_formbg.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/gui_furnace_arrow_bg.png b/minetestforfun_game/mods/default/textures/gui_furnace_arrow_bg.png deleted file mode 100644 index d6f93759..00000000 Binary files a/minetestforfun_game/mods/default/textures/gui_furnace_arrow_bg.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/gui_furnace_arrow_fg.png b/minetestforfun_game/mods/default/textures/gui_furnace_arrow_fg.png deleted file mode 100644 index e5181e05..00000000 Binary files a/minetestforfun_game/mods/default/textures/gui_furnace_arrow_fg.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/gui_hb_bg.png b/minetestforfun_game/mods/default/textures/gui_hb_bg.png deleted file mode 100755 index 99248e17..00000000 Binary files a/minetestforfun_game/mods/default/textures/gui_hb_bg.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/gui_hotbar.png b/minetestforfun_game/mods/default/textures/gui_hotbar.png deleted file mode 100644 index f36fa17d..00000000 Binary files a/minetestforfun_game/mods/default/textures/gui_hotbar.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/gui_hotbar_selected.png b/minetestforfun_game/mods/default/textures/gui_hotbar_selected.png deleted file mode 100755 index 09385c0b..00000000 Binary files a/minetestforfun_game/mods/default/textures/gui_hotbar_selected.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/heart.png b/minetestforfun_game/mods/default/textures/heart.png deleted file mode 100755 index af8399ae..00000000 Binary files a/minetestforfun_game/mods/default/textures/heart.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/moon.png b/minetestforfun_game/mods/default/textures/moon.png deleted file mode 100755 index ce5cbb47..00000000 Binary files a/minetestforfun_game/mods/default/textures/moon.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/moreores_tool_bronzesword.png b/minetestforfun_game/mods/default/textures/moreores_tool_bronzesword.png deleted file mode 100644 index 473690b3..00000000 Binary files a/minetestforfun_game/mods/default/textures/moreores_tool_bronzesword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/moreores_tool_goldsword.png b/minetestforfun_game/mods/default/textures/moreores_tool_goldsword.png deleted file mode 100644 index b6d30905..00000000 Binary files a/minetestforfun_game/mods/default/textures/moreores_tool_goldsword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/moreores_tool_mithrilsword.png b/minetestforfun_game/mods/default/textures/moreores_tool_mithrilsword.png deleted file mode 100644 index 0c03d7bb..00000000 Binary files a/minetestforfun_game/mods/default/textures/moreores_tool_mithrilsword.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/player.png b/minetestforfun_game/mods/default/textures/player.png deleted file mode 100755 index 6d61c434..00000000 Binary files a/minetestforfun_game/mods/default/textures/player.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/player_back.png b/minetestforfun_game/mods/default/textures/player_back.png deleted file mode 100755 index 9bba9322..00000000 Binary files a/minetestforfun_game/mods/default/textures/player_back.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/smoke_puff.png b/minetestforfun_game/mods/default/textures/smoke_puff.png deleted file mode 100755 index 03890e34..00000000 Binary files a/minetestforfun_game/mods/default/textures/smoke_puff.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/sun.png b/minetestforfun_game/mods/default/textures/sun.png deleted file mode 100755 index 96085efa..00000000 Binary files a/minetestforfun_game/mods/default/textures/sun.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/treeprop.png b/minetestforfun_game/mods/default/textures/treeprop.png deleted file mode 100755 index 8ff3e6a1..00000000 Binary files a/minetestforfun_game/mods/default/textures/treeprop.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/unknown_item.png b/minetestforfun_game/mods/default/textures/unknown_item.png deleted file mode 100755 index 059cf13a..00000000 Binary files a/minetestforfun_game/mods/default/textures/unknown_item.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/unknown_node.png b/minetestforfun_game/mods/default/textures/unknown_node.png deleted file mode 100755 index 20b6508a..00000000 Binary files a/minetestforfun_game/mods/default/textures/unknown_node.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/unknown_object.png b/minetestforfun_game/mods/default/textures/unknown_object.png deleted file mode 100755 index bfeab954..00000000 Binary files a/minetestforfun_game/mods/default/textures/unknown_object.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/wieldhand.png b/minetestforfun_game/mods/default/textures/wieldhand.png deleted file mode 100755 index 2307ba4e..00000000 Binary files a/minetestforfun_game/mods/default/textures/wieldhand.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/xfences_space.png b/minetestforfun_game/mods/default/textures/xfences_space.png deleted file mode 100644 index 34b25c43..00000000 Binary files a/minetestforfun_game/mods/default/textures/xfences_space.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/tools.lua b/minetestforfun_game/mods/default/tools.lua deleted file mode 100755 index 901dd6fd..00000000 --- a/minetestforfun_game/mods/default/tools.lua +++ /dev/null @@ -1,566 +0,0 @@ --- mods/default/tools.lua - --- The hand -minetest.register_item(":", { - type = "none", - wield_image = "wieldhand.png", - wield_scale = {x=1,y=1,z=2.5}, - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level = 0, - groupcaps = { - crumbly = {times = {[2] = 2.75, [3] = 0.65}, uses = 0, maxlevel = 1}, - snappy = {times = {[3] = 0.25}, uses = 0, maxlevel = 1}, - oddly_breakable_by_hand = {times = {[1] = 3.50, [2] = 2.00, [3] = 0.65}, uses = 0} - }, - damage_groups = {fleshy = 2}, - } -}) - --- --- Picks --- - -minetest.register_tool("default:pick_wood", { - description = "Wooden Pickaxe", - inventory_image = "default_tool_woodpick.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - cracky = {times = {[3] = 1.20}, uses = 15, maxlevel = 1}, - }, - damage_groups = {fleshy=2}, - }, - groups = {flammable = 2}, -}) -minetest.register_tool("default:pick_stone", { - description = "Stone Pickaxe", - inventory_image = "default_tool_stonepick.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level=0, - groupcaps={ - cracky = {times = {[2] = 1.60, [3] = 1.00}, uses = 20, maxlevel = 1}, - crumbly = {times = {[1] = 2.6, [2] = 1.4, [3] = 0.44}, uses = 20, maxlevel = 1}, - }, - damage_groups = {fleshy = 2}, - }, -}) -minetest.register_tool("default:pick_steel", { - description = "Steel Pickaxe", - inventory_image = "default_tool_steelpick.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - cracky = {times = {[1] = 4.00, [2] = 1.40, [3] = 0.80}, uses = 25, maxlevel = 2}, - crumbly = {times = {[1] = 2.4, [2] = 1.2, [3] = 0.39}, uses = 20, maxlevel = 1}, - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:pick_bronze", { - description = "Bronze Pickaxe", - inventory_image = "default_tool_bronzepick.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - cracky = {times = {[1] = 4.00, [2] = 1.40, [3] = 0.80}, uses = 30, maxlevel = 2}, - crumbly = {times = {[1] = 2.4, [2] = 1.2, [3] = 0.39}, uses = 30, maxlevel = 1}, - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:pick_silver", { - description = "Silver Pickaxe", - inventory_image = "default_tool_silverpick.png", - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level = 3, - groupcaps = { - cracky = {times = {[1] = 3.0, [2] = 1.20, [3] = 0.70}, uses = 90, maxlevel= 2}, - crumbly = {times = {[1] = 1.75, [2] = 0.80, [3] = 0.65}, uses = 90, maxlevel= 2} - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:pick_gold", { - description = "Golden Pickaxe", - inventory_image = "default_tool_goldpick.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 3, - groupcaps = { - cracky = {times = {[1] = 2.80, [2] = 1.15, [3] = 0.65}, uses = 15, maxlevel = 3}, - crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 5, maxlevel = 2}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:pick_mese", { - description = "Mese Pickaxe", - inventory_image = "default_tool_mesepick.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level = 3, - groupcaps = { - cracky = {times = {[1] = 2.60, [2] = 1.10, [3] = 0.6}, uses = 20, maxlevel = 3}, - crumbly = {times = {[1] = 1.65, [2] = 0.6, [3] = 0.32}, uses = 20, maxlevel = 3}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:pick_mithril", { - description = "Mithril Pickaxe", - inventory_image = "default_tool_mithrilpick.png", - tool_capabilities = { - full_punch_interval = 0.5, - max_drop_level = 3, - groupcaps = { - cracky = {times = {[1] = 1.50, [2] = 0.80, [3] = 0.35}, uses = 200, maxlevel= 3}, - crumbly = {times = {[1] = 1.00, [2] = 0.60, [3] = 0.25}, uses = 200, maxlevel= 3} - }, - damage_groups = {fleshy = 5}, - }, -}) -minetest.register_tool("default:pick_nyan", { - description = "Nyan Pickaxe", - inventory_image = "default_tool_nyanpick.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level = 3, - groupcaps = { - cracky = {times = {[1] = 2.60, [2] = 1.10, [3] = 0.60}, uses = 60, maxlevel = 3}, - crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 75, maxlevel = 2}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:pick_diamond", { - description = "Diamond Pickaxe", - inventory_image = "default_tool_diamondpick.png", - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level = 3, - groupcaps = { - cracky = {times = {[1] = 2.00, [2] = 1.00, [3] = 0.50}, uses = 30, maxlevel = 3}, - crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 25, maxlevel = 2}, - }, - damage_groups = {fleshy = 4}, - }, -}) - --- --- Shovels --- - -minetest.register_tool("default:shovel_wood", { - description = "Wooden Shovel", - inventory_image = "default_tool_woodshovel.png", - wield_image = "default_tool_woodshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 0, - groupcaps = { - crumbly = {times = {[1] = 3.00, [2] = 0.90, [3] = 0.60}, uses = 15, maxlevel = 1}, - }, - damage_groups = {fleshy = 2}, - }, - groups = {flammable = 2}, -}) -minetest.register_tool("default:shovel_stone", { - description = "Stone Shovel", - inventory_image = "default_tool_stoneshovel.png", - wield_image = "default_tool_stoneshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 0, - groupcaps = { - crumbly = {times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 20, maxlevel = 1}, - }, - damage_groups = {fleshy = 2}, - }, -}) -minetest.register_tool("default:shovel_steel", { - description = "Steel Shovel", - inventory_image = "default_tool_steelshovel.png", - wield_image = "default_tool_steelshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - crumbly = {times = {[1] = 2.00, [2] = 0.70, [3] = 0.40}, uses = 25, maxlevel = 2}, - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:shovel_bronze", { - description = "Bronze Shovel", - inventory_image = "default_tool_bronzeshovel.png", - wield_image = "default_tool_bronzeshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - crumbly = {times = {[1] = 2.00, [2] = 0.70, [3] = 0.40}, uses = 30, maxlevel = 2}, - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:shovel_silver", { - description = "Silver Shovel", - inventory_image = "default_tool_silvershovel.png", - wield_image = "default_tool_silvershovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level = 1, - groupcaps = { - crumbly = {times = {[1] = 1.50, [2] = 0.60, [3] = 0.35}, uses = 90, maxlevel= 2} - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:shovel_gold", { - description = "Golden Shovel", - inventory_image = "default_tool_goldshovel.png", - wield_image = "default_tool_goldshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - crumbly = {times = {[1] = 1.40, [2] = 0.60, [3] = 0.35}, uses = 15, maxlevel = 3}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:shovel_mese", { - description = "Mese Shovel", - inventory_image = "default_tool_meseshovel.png", - wield_image = "default_tool_meseshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level = 3, - groupcaps = { - crumbly = {times = {[1] = 1.30, [2] = 0.55, [3] = 0.30}, uses = 20, maxlevel = 3}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:shovel_mithril", { - description = "Mithril Shovel", - inventory_image = "default_tool_mithrilshovel.png", - wield_image = "default_tool_mithrilshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 0.5, - max_drop_level = 3, - groupcaps = { - crumbly = {times = {[1] = 0.75, [2] = 0.4, [3] = 0.17}, uses = 200, maxlevel= 3} - }, - damage_groups = {fleshy = 5}, - }, -}) -minetest.register_tool("default:shovel_nyan", { - description = "Nyan Shovel", - inventory_image = "default_tool_nyanshovel.png", - wield_image = "default_tool_nyanshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - crumbly = {times = {[1] = 1.30, [2] = 0.55, [3] = 0.30}, uses = 60, maxlevel = 3}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:shovel_diamond", { - description = "Diamond Shovel", - inventory_image = "default_tool_diamondshovel.png", - wield_image = "default_tool_diamondshovel.png^[transformR90", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - crumbly = {times = {[1] = 1.00, [2] = 0.50, [3] = 0.25}, uses = 30, maxlevel = 3}, - }, - damage_groups = {fleshy = 4}, - }, -}) - --- --- Axes --- - -minetest.register_tool("default:axe_wood", { - description = "Wooden Axe", - inventory_image = "default_tool_woodaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 0, - groupcaps = { - choppy = {times = {[2] = 1.98, [3] = 1.32}, uses = 15, maxlevel = 1}, - snappy = {times = {[3] = 0.2}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 2}, - }, - groups = {flammable = 2}, -}) -minetest.register_tool("default:axe_stone", { - description = "Stone Axe", - inventory_image = "default_tool_stoneaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 0, - groupcaps = { - choppy = {times = {[1] = 5.50, [2] = 1.76, [3] = 1.10}, uses = 20, maxlevel = 1}, - snappy = {times = {[3] = 0.175}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 2}, - }, -}) -minetest.register_tool("default:axe_steel", { - description = "Steel Axe", - inventory_image = "default_tool_steelaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 4.40, [2] = 1.54, [3] = 0.88}, uses = 25, maxlevel = 2}, - snappy = {times = {[3] = 0.15}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:axe_bronze", { - description = "Bronze Axe", - inventory_image = "default_tool_bronzeaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 4.40, [2] = 1.54, [3] = 0.88}, uses = 30, maxlevel = 2}, - snappy = {times = {[3] = 0.15}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:axe_silver", { - description = "Silver Axe", - inventory_image = "default_tool_silveraxe.png", - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 3.30, [2] = 1.32, [3] = 0.77}, uses = 90, maxlevel= 2}, - fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 100, maxlevel= 1} - }, - damage_groups = {fleshy = 3}, - }, -}) -minetest.register_tool("default:axe_gold", { - description = "Golden Axe", - inventory_image = "default_tool_goldaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 3.08, [2] = 1.27, [3] = 0.72}, uses = 15, maxlevel = 3}, - snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:axe_mese", { - description = "Mese Axe", - inventory_image = "default_tool_meseaxe.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 2.86, [2] = 1.21, [3] = 0.66}, uses = 20, maxlevel = 3}, - snappy = {times = {[3] = 0.1}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:axe_mithril", { - description = "Mithril Axe", - inventory_image = "default_tool_mithrilaxe.png", - tool_capabilities = { - full_punch_interval = 0.5, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 1.65, [2] = 0.88, [3] = 0.39}, uses = 200, maxlevel= 3}, - fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel= 1} - }, - damage_groups = {fleshy = 5}, - }, -}) -minetest.register_tool("default:axe_nyan", { - description = "Nyan Axe", - inventory_image = "default_tool_nyanaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 2.86, [2] = 1.21, [3] = 0.66}, uses = 60, maxlevel = 3}, - snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 4}, - }, -}) -minetest.register_tool("default:axe_diamond", { - description = "Diamond Axe", - inventory_image = "default_tool_diamondaxe.png", - tool_capabilities = { - full_punch_interval = 1.2, - max_drop_level = 1, - groupcaps = { - choppy = {times = {[1] = 2.20, [2] = 1.10, [3] = 0.55}, uses = 30, maxlevel = 3}, - snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, - }, - damage_groups = {fleshy = 5}, - }, -}) - --- --- Swords --- - -minetest.register_tool("default:sword_wood", { - description = "Wooden Sword", - inventory_image = "default_tool_woodsword.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level = 0, - groupcaps = { - snappy = {times = {[2] = 1.4, [3] = 0.2}, uses = 20, maxlevel = 1}, - }, - damage_groups = {fleshy = 2}, - } -}) -minetest.register_tool("default:sword_stone", { - description = "Stone Sword", - inventory_image = "default_tool_stonesword.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level = 0, - groupcaps = { - snappy = {times = {[2] = 1.2, [3] = 0.175}, uses = 25, maxlevel = 1}, - }, - damage_groups = {fleshy = 3}, - } -}) -minetest.register_tool("default:sword_steel", { - description = "Steel Sword", - inventory_image = "default_tool_steelsword.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level = 1, - groupcaps = { - snappy = {times = {[1] = 2.2, [2] = 1.2, [3] = 0.15}, uses = 30, maxlevel = 2}, - }, - damage_groups = {fleshy = 4}, - } -}) -minetest.register_tool("default:sword_bronze", { - description = "Bronze Sword", - inventory_image = "default_tool_bronzesword.png", - tool_capabilities = { - full_punch_interval = 0.9, - max_drop_level = 1, - groupcaps = { - snappy = {times = {[1] = 2.2, [2] = 1.2, [3] = 0.15}, uses = 35, maxlevel = 2}, - }, - damage_groups = {fleshy = 5}, - } -}) -minetest.register_tool("default:sword_silver", { - description = "Silver Sword", - inventory_image = "default_tool_silversword.png", - tool_capabilities = { - full_punch_interval = 0.85, - max_drop_level = 1, - groupcaps = { - fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel= 1}, - snappy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel= 1}, - choppy = {times = {[3] = 0.80}, uses = 40, maxlevel= 0} - }, - damage_groups = {fleshy = 5}, - } -}) -minetest.register_tool("default:sword_gold", { - description = "Golden Sword", - inventory_image = "default_tool_goldsword.png", - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level = 1, - groupcaps = { - snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 10, maxlevel = 3}, - }, - damage_groups = {fleshy = 5}, - } -}) -minetest.register_tool("default:sword_mese", { - description = "Mese Sword", - inventory_image = "default_tool_mesesword.png", - tool_capabilities = { - full_punch_interval = 0.7, - max_drop_level = 1, - groupcaps = { - snappy = {times = {[1] = 1.5, [2] = 0.7, [3] = 0.1}, uses = 20, maxlevel = 3}, - }, - damage_groups = {fleshy = 6}, - } -}) -minetest.register_tool("default:sword_mithril", { - description = "Mithril Sword (Warrior)", - inventory_image = "default_tool_mithrilsword.png", - tool_capabilities = { - full_punch_interval = 0.5, - max_drop_level = 1, - groupcaps = { - fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel= 1}, - snappy = {times = {[2] = 0.70, [3] = 0.25}, uses = 200, maxlevel= 1}, - choppy = {times = {[3] = 0.65}, uses = 200, maxlevel= 0} - }, - damage_groups = {fleshy = 9}, - } -}) -minetest.register_tool("default:sword_nyan", { - description = "Nyan Sword", - inventory_image = "default_tool_nyansword.png", - tool_capabilities = { - full_punch_interval = 0.7, - max_drop_level = 1, - groupcaps = { - snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 40, maxlevel = 3}, - }, - damage_groups = {fleshy = 6}, - } -}) -minetest.register_tool("default:sword_diamond", { - description = "Diamond Sword", - inventory_image = "default_tool_diamondsword.png", - tool_capabilities = { - full_punch_interval = 0.6, - max_drop_level = 1, - groupcaps = { - snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 50, maxlevel = 3}, - }, - damage_groups = {fleshy = 7}, - } -}) -minetest.register_tool("default:dungeon_master_s_blood_sword", { --Warrior Only - description = "Dungeon Master's Blood Sword (Warrior)", - inventory_image = "default_tool_dungeon_master_s_blood_sword.png", - tool_capabilities = { - full_punch_interval = 0.5, - max_drop_level = 1, - groupcaps = { - snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 250, maxlevel = 3}, - }, - damage_groups = {fleshy = 10}, - } -}) diff --git a/minetestforfun_game/mods/default/trees.lua b/minetestforfun_game/mods/default/trees.lua deleted file mode 100755 index 03a12661..00000000 --- a/minetestforfun_game/mods/default/trees.lua +++ /dev/null @@ -1,612 +0,0 @@ -local random = math.random - --- --- Grow trees from saplings --- - --- 'can grow' function - -function default.can_grow(pos) - local node_under = minetest.get_node_or_nil({x = pos.x, y = pos.y - 1, z = pos.z}) - if not node_under then - return false - end - local name_under = node_under.name - local is_soil = minetest.get_item_group(name_under, "soil") - if is_soil == 0 then - return false - end - local light_level = minetest.get_node_light(pos) - if not light_level or light_level < 13 then - return false - end - return true -end - - --- 'is snow nearby' function - -local function is_snow_nearby(pos) - return minetest.find_node_near(pos, 1, - {"default:snow", "default:snowblock", "default:dirt_with_snow"}) -end - - --- Sapling ABM - -function default.grow_sapling(pos) - if not default.can_grow(pos) then - -- try a bit later again - minetest.get_node_timer(pos):start(math.random(240, 600)) - return - end - - --local mg_name = minetest.get_mapgen_setting("mg_name") --IMPORTANT new function only in > 0.4.14 stable - local mg_name = minetest.get_mapgen_params().mgname - local node = minetest.get_node(pos) - if node.name == "default:sapling" then - minetest.log("action", "A sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - if mg_name == "v6" then - default.grow_tree(pos, random(1, 4) == 1) - else - default.grow_new_apple_tree(pos) - end - elseif node.name == "default:junglesapling" then - minetest.log("action", "A jungle sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - if mg_name == "v6" then - default.grow_jungle_tree(pos) - else - default.grow_new_jungle_tree(pos) - end - elseif node.name == "default:pine_sapling" then - minetest.log("action", "A pine sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - local snow = is_snow_nearby(pos) - if mg_name == "v6" then - default.grow_pine_tree(pos, snow) - elseif snow then - default.grow_new_snowy_pine_tree(pos) - else - default.grow_new_pine_tree(pos) - end - elseif node.name == "default:acacia_sapling" then - minetest.log("action", "An acacia sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_new_acacia_tree(pos) - elseif node.name == "default:aspen_sapling" then - minetest.log("action", "An aspen sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_new_aspen_tree(pos) - end -end - -minetest.register_lbm({ - name = "default:convert_saplings_to_node_timer", - nodenames = {"default:sapling", "default:junglesapling", - "default:pine_sapling", "default:acacia_sapling", - "default:aspen_sapling"}, - action = function(pos) - minetest.get_node_timer(pos):start(math.random(1200, 2400)) - end -}) - --- --- Tree generation --- - --- Apple tree and jungle tree trunk and leaves function - -local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid, - height, size, iters, is_apple_tree) - local x, y, z = pos.x, pos.y, pos.z - local c_air = minetest.get_content_id("air") - local c_ignore = minetest.get_content_id("ignore") - local c_apple = minetest.get_content_id("default:apple") - - -- Trunk - data[a:index(x, y, z)] = tree_cid -- Force-place lowest trunk node to replace sapling - for yy = y + 1, y + height - 1 do - local vi = a:index(x, yy, z) - local node_id = data[vi] - if node_id == c_air or node_id == c_ignore or node_id == leaves_cid then - data[vi] = tree_cid - end - end - - -- Force leaves near the trunk - for z_dist = -1, 1 do - for y_dist = -size, 1 do - local vi = a:index(x - 1, y + height + y_dist, z + z_dist) - for x_dist = -1, 1 do - if data[vi] == c_air or data[vi] == c_ignore then - if is_apple_tree and random(1, 8) == 1 then - data[vi] = c_apple - else - data[vi] = leaves_cid - end - end - vi = vi + 1 - end - end - end - - -- Randomly add leaves in 2x2x2 clusters. - for i = 1, iters do - local clust_x = x + random(-size, size - 1) - local clust_y = y + height + random(-size, 0) - local clust_z = z + random(-size, size - 1) - - for xi = 0, 1 do - for yi = 0, 1 do - for zi = 0, 1 do - local vi = a:index(clust_x + xi, clust_y + yi, clust_z + zi) - if data[vi] == c_air or data[vi] == c_ignore then - if is_apple_tree and random(1, 8) == 1 then - data[vi] = c_apple - else - data[vi] = leaves_cid - end - end - end - end - end - end -end - - --- Apple tree - -function default.grow_tree(pos, is_apple_tree, bad) - --[[ - NOTE: Tree-placing code is currently duplicated in the engine - and in games that have saplings; both are deprecated but not - replaced yet - --]] - if bad then - error("Deprecated use of default.grow_tree") - end - - local x, y, z = pos.x, pos.y, pos.z - local height = random(4, 5) - local c_tree = minetest.get_content_id("default:tree") - local c_leaves = minetest.get_content_id("default:leaves") - - local vm = minetest.get_voxel_manip() - local minp, maxp = vm:read_from_map( - {x = x - 2, y = y, z = z - 2}, - {x = x + 2, y = y + height + 1, z = z + 2} - ) - local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) - local data = vm:get_data() - - add_trunk_and_leaves(data, a, pos, c_tree, c_leaves, height, 2, 8, is_apple_tree) - - vm:set_data(data) - vm:write_to_map() - vm:update_map() -end - - --- Jungle tree - -function default.grow_jungle_tree(pos, bad) - --[[ - NOTE: Jungletree-placing code is currently duplicated in the engine - and in games that have saplings; both are deprecated but not - replaced yet - --]] - if bad then - error("Deprecated use of default.grow_jungle_tree") - end - - local x, y, z = pos.x, pos.y, pos.z - local height = random(8, 12) - local c_air = minetest.get_content_id("air") - local c_ignore = minetest.get_content_id("ignore") - local c_jungletree = minetest.get_content_id("default:jungletree") - local c_jungleleaves = minetest.get_content_id("default:jungleleaves") - - local vm = minetest.get_voxel_manip() - local minp, maxp = vm:read_from_map( - {x = x - 3, y = y - 1, z = z - 3}, - {x = x + 3, y = y + height + 1, z = z + 3} - ) - local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) - local data = vm:get_data() - - add_trunk_and_leaves(data, a, pos, c_jungletree, c_jungleleaves, - height, 3, 30, false) - - -- Roots - for z_dist = -1, 1 do - local vi_1 = a:index(x - 1, y - 1, z + z_dist) - local vi_2 = a:index(x - 1, y, z + z_dist) - for x_dist = -1, 1 do - if random(1, 3) >= 2 then - if data[vi_1] == c_air or data[vi_1] == c_ignore then - data[vi_1] = c_jungletree - elseif data[vi_2] == c_air or data[vi_2] == c_ignore then - data[vi_2] = c_jungletree - end - end - vi_1 = vi_1 + 1 - vi_2 = vi_2 + 1 - end - end - - vm:set_data(data) - vm:write_to_map() - vm:update_map() -end - - --- Pine tree from mg mapgen mod, design by sfan5, pointy top added by paramat - -local function add_pine_needles(data, vi, c_air, c_ignore, c_snow, c_pine_needles) - local node_id = data[vi] - if node_id == c_air or node_id == c_ignore or node_id == c_snow then - data[vi] = c_pine_needles - end -end - -local function add_snow(data, vi, c_air, c_ignore, c_snow) - local node_id = data[vi] - if node_id == c_air or node_id == c_ignore then - data[vi] = c_snow - end -end - -function default.grow_pine_tree(pos, snow) - local x, y, z = pos.x, pos.y, pos.z - local maxy = y + random(9, 13) -- Trunk top - - local c_air = minetest.get_content_id("air") - local c_ignore = minetest.get_content_id("ignore") - local c_pine_tree = minetest.get_content_id("default:pine_tree") - local c_pine_needles = minetest.get_content_id("default:pine_needles") - local c_snow = minetest.get_content_id("default:snow") - - local vm = minetest.get_voxel_manip() - local minp, maxp = vm:read_from_map( - {x = x - 3, y = y, z = z - 3}, - {x = x + 3, y = maxy + 3, z = z + 3} - ) - local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) - local data = vm:get_data() - - -- Upper branches layer - local dev = 3 - for yy = maxy - 1, maxy + 1 do - for zz = z - dev, z + dev do - local vi = a:index(x - dev, yy, zz) - local via = a:index(x - dev, yy + 1, zz) - for xx = x - dev, x + dev do - if random() < 0.95 - dev * 0.05 then - add_pine_needles(data, vi, c_air, c_ignore, c_snow, - c_pine_needles) - if snow then - add_snow(data, via, c_air, c_ignore, c_snow) - end - end - vi = vi + 1 - via = via + 1 - end - end - dev = dev - 1 - end - - -- Centre top nodes - add_pine_needles(data, a:index(x, maxy + 1, z), c_air, c_ignore, c_snow, - c_pine_needles) - add_pine_needles(data, a:index(x, maxy + 2, z), c_air, c_ignore, c_snow, - c_pine_needles) -- Paramat added a pointy top node - if snow then - add_snow(data, a:index(x, maxy + 3, z), c_air, c_ignore, c_snow) - end - - -- Lower branches layer - local my = 0 - for i = 1, 20 do -- Random 2x2 squares of needles - local xi = x + random(-3, 2) - local yy = maxy + random(-6, -5) - local zi = z + random(-3, 2) - if yy > my then - my = yy - end - for zz = zi, zi+1 do - local vi = a:index(xi, yy, zz) - local via = a:index(xi, yy + 1, zz) - for xx = xi, xi + 1 do - add_pine_needles(data, vi, c_air, c_ignore, c_snow, - c_pine_needles) - if snow then - add_snow(data, via, c_air, c_ignore, c_snow) - end - vi = vi + 1 - via = via + 1 - end - end - end - - local dev = 2 - for yy = my + 1, my + 2 do - for zz = z - dev, z + dev do - local vi = a:index(x - dev, yy, zz) - local via = a:index(x - dev, yy + 1, zz) - for xx = x - dev, x + dev do - if random() < 0.95 - dev * 0.05 then - add_pine_needles(data, vi, c_air, c_ignore, c_snow, - c_pine_needles) - if snow then - add_snow(data, via, c_air, c_ignore, c_snow) - end - end - vi = vi + 1 - via = via + 1 - end - end - dev = dev - 1 - end - - -- Trunk - -- Force-place lowest trunk node to replace sapling - data[a:index(x, y, z)] = c_pine_tree - for yy = y + 1, maxy do - local vi = a:index(x, yy, z) - local node_id = data[vi] - if node_id == c_air or node_id == c_ignore or - node_id == c_pine_needles or node_id == c_snow then - data[vi] = c_pine_tree - end - end - - vm:set_data(data) - vm:write_to_map() - vm:update_map() -end - - --- New apple tree - -function default.grow_new_apple_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/apple_tree_from_sapling.mts" - minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, - path, "0", nil, false) -end - - --- New jungle tree - -function default.grow_new_jungle_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/jungle_tree_from_sapling.mts" - minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, - path, "random", nil, false) -end - - --- New pine tree - -function default.grow_new_pine_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/pine_tree_from_sapling.mts" - minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, - path, "0", nil, false) -end - - --- New snowy pine tree - -function default.grow_new_snowy_pine_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/snowy_pine_tree_from_sapling.mts" - minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, - path, "random", nil, false) -end - - --- New acacia tree - -function default.grow_new_acacia_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/acacia_tree_from_sapling.mts" - minetest.place_schematic({x = pos.x - 4, y = pos.y - 1, z = pos.z - 4}, - path, "random", nil, false) -end - - --- New aspen tree - -function default.grow_new_aspen_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/aspen_tree_from_sapling.mts" - minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, - path, "0", nil, false) -end - - --- --- Sapling 'on place' function to check protection of node and resulting tree volume --- - -function default.sapling_on_place(itemstack, placer, pointed_thing, - sapling_name, minp_relative, maxp_relative, interval) - -- Position of sapling - local pos = pointed_thing.under - local node = minetest.get_node_or_nil(pos) - local pdef = node and minetest.registered_nodes[node.name] - - if pdef and pdef.on_rightclick and not placer:get_player_control().sneak then - return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing) - end - - if not pdef or not pdef.buildable_to then - pos = pointed_thing.above - node = minetest.get_node_or_nil(pos) - pdef = node and minetest.registered_nodes[node.name] - if not pdef or not pdef.buildable_to then - return itemstack - end - end - - local player_name = placer:get_player_name() - -- Check sapling position for protection - if minetest.is_protected(pos, player_name) then - minetest.record_protection_violation(pos, player_name) - return itemstack - end - -- Check tree volume for protection - if not default.intersects_protection( - vector.add(pos, minp_relative), - vector.add(pos, maxp_relative), - player_name, - interval) then - minetest.set_node(pos, {name = sapling_name}) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - else - minetest.record_protection_violation(pos, player_name) - -- Print extra information to explain - minetest.chat_send_player(player_name, "Tree will intersect protection") - end - - return itemstack -end - - - - --- From BFD: - -minetest.register_node("default:mg_cherry_sapling", { - description = "Impossible to get node.", - drawtype = "airlike", - paramtype = "light", - tiles = {"xfences_space.png"}, - groups = {not_in_creative_inventory=1}, -}) - -local c_mg_cherry_sapling = minetest.get_content_id("default:mg_cherry_sapling") - -minetest.register_on_generated(function(minp, maxp, seed) - local timer = os.clock() - local vm, emin, emax = minetest.get_mapgen_object("voxelmanip") - local data = vm:get_data() - local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax} - local trees_grown = 0 - for z=minp.z, maxp.z, 1 do - for y=minp.y, maxp.y, 1 do - for x=minp.x, maxp.x, 1 do - local p_pos = area:index(x,y,z) - local content_id = data[p_pos] - if content_id == c_mg_cherry_sapling then - minetest.after(1, default.grow_cherry_tree, - {x=x, y=y, z=z}, - false, - "default:cherry_tree", - "default:cherry_blossom_leaves") - trees_grown = trees_grown + 1 - else - -- nope - end - end - end - end - local geninfo = string.format(" trees grown after: %.2fs", os.clock() - timer) - minetest.log("action", trees_grown..geninfo) -end) - -function default.grow_cherry_tree(pos, is_apple_tree, trunk_node, leaves_node) - --[[ - NOTE: Tree-placing code is currently duplicated in the engine - and in games that have saplings; both are deprecated but not - replaced yet - --]] - - local x, y, z = pos.x, pos.y, pos.z - local height = random(4, 5) - local c_tree = minetest.get_content_id(trunk_node) - local c_leaves = minetest.get_content_id(leaves_node) - - local vm = minetest.get_voxel_manip() - local minp, maxp = vm:read_from_map( - {x = pos.x - 2, y = pos.y, z = pos.z - 2}, - {x = pos.x + 2, y = pos.y + height + 1, z = pos.z + 2} - ) - local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) - local data = vm:get_data() - - add_trunk_and_leaves(data, a, pos, c_tree, c_leaves, height, 2, 8, is_apple_tree) - - vm:set_data(data) - vm:write_to_map() - vm:update_map() -end - -minetest.register_abm({ - nodenames = {"default:cherry_sapling", "default:mg_cherry_sapling"}, - interval = 80, - chance = 3, - action = function(pos, node) - - local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name - local is_soil = minetest.get_item_group(nu, "soil") - - if is_soil == 0 then - return - end - - - minetest.remove_node({x=pos.x, y=pos.y, z=pos.z}) - default.grow_cherry_tree(pos, false, "default:cherry_tree", "default:cherry_blossom_leaves") - end, -}) - -minetest.register_biome({ - name = "cherry_blossom_forest", - node_shore_filler = "default:sand", - node_top = "default:grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - node_dust = "air", - node_underwater = "default:gravel", - y_min = 1, - y_max = 40, - heat_point = 50, - humidity_point = 55, -}) - -minetest.register_biome({ - name = "cherry_blossom_forest_floral", - node_shore_filler = "default:sand", - node_top = "default:grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - node_dust = "air", - node_underwater = "default:gravel", - y_min = 1, - y_max = 40, - heat_point = 47, - humidity_point = 50, -}) - -minetest.register_biome({ - name = "cherry_blossom_forest_grassy", - node_shore_filler = "default:sand", - node_top = "default:grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - node_dust = "air", - node_underwater = "default:gravel", - y_min = 1, - y_max = 42, - heat_point = 55, - humidity_point = 55, -}) diff --git a/minetestforfun_game/mods/doors/README.txt b/minetestforfun_game/mods/doors/README.txt deleted file mode 100755 index 9ad7093d..00000000 --- a/minetestforfun_game/mods/doors/README.txt +++ /dev/null @@ -1,84 +0,0 @@ -Minetest Game mod: doors -======================== -See license.txt for license information. - -Authors of source code ----------------------- -Originally by PilzAdam (MIT) - -Modified by BlockMen (MIT): Added sounds, glass doors (glass, obsidian glass) and trapdoor. - -Modified by sofar (sofar@foo-projects.org) (MIT): -Added Steel trapdoor. -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. - -Various Minetest developers and contributors (MIT) - - -Authors of media (textures) ---------------------------- -Following textures created by Fernando Zapata (CC BY-SA 3.0): - door_wood.png - door_wood_a.png - door_wood_a_r.png - door_wood_b.png - door_wood_b_r.png - -Following textures created by BlockMen (CC BY-SA 3.0): - 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 (CC BY-SA 3.0): - 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) (CC BY-SA 3.0): - -Door textures were converted to the new texture map by sofar, paramat and -red-001, under the same license as the originals. - - -Authors of media (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 - - -Authors of media (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 1.0) -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/minetestforfun_game/mods/doors/depends.txt b/minetestforfun_game/mods/doors/depends.txt deleted file mode 100755 index 5e28beeb..00000000 --- a/minetestforfun_game/mods/doors/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -screwdriver? diff --git a/minetestforfun_game/mods/doors/init.lua b/minetestforfun_game/mods/doors/init.lua deleted file mode 100755 index ff907763..00000000 --- a/minetestforfun_game/mods/doors/init.lua +++ /dev/null @@ -1,1271 +0,0 @@ --- our API object -doors = {} - --- private data -local _doors = {} -_doors.registered_doors = {} -_doors.registered_trapdoors = {} - --- returns an object to a door object or nil -function doors.get(pos) - local node_name = minetest.get_node(pos).name - if _doors.registered_doors[node_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, nil, player) - end, - close = function(self, player) - if not self:state() then - return false - end - return _doors.door_toggle(self.pos, nil, player) - end, - toggle = function(self, player) - return _doors.door_toggle(self.pos, nil, player) - end, - state = function(self) - local state = minetest.get_meta(self.pos):get_int("state") - return state %2 == 1 - end - } - elseif _doors.registered_trapdoors[node_name] then - -- A trapdoor - return { - pos = pos, - open = function(self, player) - if self:state() then - return false - end - return _doors.trapdoor_toggle(self.pos, nil, player) - end, - close = function(self, player) - if not self:state() then - return false - end - return _doors.trapdoor_toggle(self.pos, nil, player) - end, - toggle = function(self, player) - return _doors.trapdoor_toggle(self.pos, nil, player) - end, - state = function(self) - return minetest.get_node(self.pos).name:sub(-5) == "_open" - end - } - elseif _doors.registered_doors3[node_name] then --MFF doors3 - -- A normal upright door - return { - pos = pos, - open = function(self, player) - if self:state() then - return false - end - return _doors.door_toggle(self.pos, nil, player) - end, - close = function(self, player) - if not self:state() then - return false - end - return _doors.door_toggle(self.pos, nil, player) - end, - toggle = function(self, player) - return _doors.door_toggle(self.pos, nil, player) - end, - state = function(self) - local state = minetest.get_meta(self.pos):get_int("state") - return state %2 == 1 - end - } - else - return nil - end -end - --- 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}, - }, -}) - --- 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.get_double_doors(pos, dir, p1, b) - local pos2 = nil - if b == "a" then - if p1 == 0 then - if dir == 1 then - pos2 = {x=pos.x, y=pos.y, z=pos.z-1} - elseif dir == 2 then - pos2 = {x=pos.x-1, y=pos.y, z=pos.z} - elseif dir == 3 then - pos2 = {x=pos.x, y=pos.y, z=pos.z+1} - else - pos2 = {x=pos.x+1, y=pos.y, z=pos.z} - end - elseif p1 == 3 then - if dir == 1 then - pos2 = {x=pos.x+1, y=pos.y, z=pos.z} - elseif dir == 2 then - pos2 = {x=pos.x, y=pos.y, z=pos.z-1} - elseif dir == 3 then - pos2 = {x=pos.x-1, y=pos.y, z=pos.z} - else - pos2 = {x=pos.x, y=pos.y, z=pos.z+1} - end - end - else - if p1 == 1 then - if dir == 1 then - pos2 = {x=pos.x+1, y=pos.y, z=pos.z} - elseif dir == 2 then - pos2 = {x=pos.x, y=pos.y, z=pos.z-1} - elseif dir == 3 then - pos2 = {x=pos.x-1, y=pos.y, z=pos.z} - else - pos2 = {x=pos.x, y=pos.y, z=pos.z+1} - end - elseif p1 == 2 then - if dir == 1 then - pos2 = {x=pos.x, y=pos.y, z=pos.z+1} - elseif dir == 2 then - pos2 = {x=pos.x+1, y=pos.y, z=pos.z} - elseif dir == 3 then - pos2 = {x=pos.x, y=pos.y, z=pos.z-1} - else - pos2 = {x=pos.x-1, y=pos.y, z=pos.z} - end - end - end - return pos2 -end - - -function _doors.door_toggle(pos, node, clicker) - local meta = minetest.get_meta(pos) - node = node or minetest.get_node(pos) - local def = minetest.registered_nodes[node.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 node.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 = node.param2 - minetest.swap_node(pos, { - name = name .. transform[state + 1][dir+1].v, - param2 = transform[state + 1][dir+1].param2 - }) - meta:set_int("state", state) - - --MFF double porte - local b = string.sub(node.name, -1) - local pos2 = doors.get_double_doors(pos, dir, old, b) - if pos2 then - local node2 = minetest.get_node_or_nil(pos2) - if node2 and string.sub(node2.name, 0, -3) == name then - if b ~= string.sub(node2.name, -1) then - local state2 = minetest.get_meta(pos2):get_int("state") - if (old % 2) == (state2 % 2) then - _doors.door_toggle(pos2, node2, clicker) - return true - end - end - end - end - -- /double porte - - 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 - - return true -end - - -local function on_place_node(place_to, newnode, - placer, oldnode, itemstack, pointed_thing) - -- Run script hook - for _, callback in ipairs(minetest.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 - -local function can_dig_door(pos, digger) - local digger_name = digger and digger:get_player_name() - if digger_name and minetest.get_player_privs(digger_name).protection_bypass then - return true - end - return minetest.get_meta(pos):get_string("doors_owner") == digger_name -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 - - 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} - local top_node = minetest.get_node_or_nil(above) - local topdef = top_node and minetest.registered_nodes[top_node.name] - - if not topdef or not topdef.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 - 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 - - 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, itemstack, pointed_thing) - _doors.door_toggle(pos, node, clicker) - return itemstack - 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.on_rotate = false - - if def.protected then - def.can_dig = can_dig_door - 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 = {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_steel", { - tiles = {{name = "doors_door_steel.png", backface_culling = true}}, - description = "Steel Door", - inventory_image = "doors_item_steel.png", - protected = true, - groups = {cracky = 1, level = 2}, - sounds = default.node_sound_metal_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"}, - } -}) - -doors.register("door_glass", { - tiles = {"doors_door_glass.png"}, - description = "Glass Door", - inventory_image = "doors_item_glass.png", - groups = {cracky=3, 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_obsidian_glass", { - tiles = {"doors_door_obsidian_glass.png"}, - description = "Obsidian Glass Door", - inventory_image = "doors_item_obsidian_glass.png", - groups = {cracky=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"}, - }, -}) - --- From BFD: Cherry planks doors -doors.register("door_cherry", { - tiles = { "doors_door_cherry.png" }, - description = "Cherry Door", - inventory_image = "doors_item_cherry.png", - groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2, door=1}, - sounds = default.node_sound_wood_defaults(), - recipe = { - {"default:cherry_plank", "default:cherry_plank"}, - {"default:cherry_plank", "default:cherry_plank"}, - {"default:cherry_plank", "default:cherry_plank"} - } -}) -minetest.register_alias("doors:door_wood_cherry", "doors:door_cherry") - --- doors tin MFF -doors.register("door_tin", { - tiles = { "doors_door_tin.png" }, - description = "Tin Door", - inventory_image = "doors_item_tin.png", - groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2,door=1}, - protected = true, - sounds = default.node_sound_stone_defaults(), - sunlight = false, - recipe = { - {"default:tin_ingot", "default:tin_ingot"}, - {"default:tin_ingot", "default:tin_ingot"}, - {"default:tin_ingot", "default:tin_ingot"} - } -}) - - --- doors prison MFF -doors.register("door_prison", { - tiles = { "doors_door_prison.png" }, - description = "Prison Door", - inventory_image = "doors_item_prison.png", - groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2,door=1}, - protected = true, - sounds = default.node_sound_stone_defaults(), - recipe = { - {"darkage:iron_stick", "darkage:iron_stick"}, - {"darkage:iron_stick", "darkage:iron_stick"}, - {"darkage:iron_stick", "darkage:iron_stick"} - } -}) - --- MFF gardengate white -doors.register("doors:door_gardengate_white", { - tiles = { "doors_door_gardengate_white.png" }, - description = "Garden Gate White Door", - inventory_image = "doors_item_gardengate_white.png", - groups = {choppy=2,oddly_breakable_by_hand=2,flammable=2,door=1}, - sounds = default.node_sound_wood_defaults(), - recipe = { - {"dye:white", "group:stick", ""}, - {"group:stick", "group:stick", "group:stick"}, - {"group:wood", "group:wood", "group:wood"} - } -}) - -----trapdoor---- - --- 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 - - 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.trapdoor_toggle(pos, node, clicker) - node = node or minetest.get_node(pos) - 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 - - local def = minetest.registered_nodes[node.name] - - 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) - if not name:find(":") then - name = "doors:" .. name - end - - local name_closed = name - local name_opened = name.."_open" - - def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - _doors.trapdoor_toggle(pos, node, clicker) - return itemstack - end - - -- Common trapdoor configuration - def.drawtype = "nodebox" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.is_ground_content = false - - if def.protected then - def.can_dig = can_dig_door - 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) - 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 .. '^[transformFY', - 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 .. '^[transform46', - def.tile_front .. '^[transform6'} - - 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 = {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_metal_defaults(), - sound_open = "doors_steel_door_open", - sound_close = "doors_steel_door_close", - groups = {cracky = 1, level = 2, door = 1}, -}) - -minetest.register_craft({ - 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'}, - } -}) - -doors.register_trapdoor("doors:trapdoor_cherry", { - description = "Cherry tree trapdoor", - inventory_image = "doors_trapdoor_cherry.png", - wields_images = "doors_trapdoor_cherry.png", - tile_front = "doors_trapdoor_cherry.png", - tile_side = "default_wood_cherry_planks.png", - groups = {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=2, door=1}, - sounds = default.node_sound_wood_defaults(), - sound_open = "doors_door_open", - sound_close = "doors_door_close" -}) - -minetest.register_craft({ - output = 'doors:trapdoor_cherry 2', - recipe = { - {'default:cherry_plank', 'default:cherry_plank', 'default:cherry_plank'}, - {'default:cherry_plank', 'default:cherry_plank', 'default:cherry_plank'}, - } -}) - -----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, node, clicker, itemstack, pointed_thing) - 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}, - {-1/2, -3/8, -1/2, -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 = 3, oddly_breakable_by_hand = 2, flammable = 3} -}) - -doors.register_fencegate("doors:gate_aspen_wood", { - description = "Aspen Fence Gate", - texture = "default_aspen_wood.png", - material = "default:aspen_wood", - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} -}) - - -----fuels---- - -minetest.register_craft({ - type = "fuel", - recipe = "doors:trapdoor", - burntime = 7, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:door_wood", - burntime = 14, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_wood_closed", - burntime = 7, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_acacia_wood_closed", - burntime = 8, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_junglewood_closed", - burntime = 9, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_pine_wood_closed", - burntime = 6, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_aspen_wood_closed", - burntime = 5, -}) - - --- IMPORTANT MFF doors3 must be in this init file, he use local vars/functions no recopiable -_doors.registered_doors3 = {} --MFF doors3 - --- door 3 nodes -function doors.register3(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}) - minetest.set_node({x = pos.x, y = pos.y + 2, 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 - - 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} - local top_node = minetest.get_node_or_nil(above) - local topdef = top_node and minetest.registered_nodes[top_node.name] - - if not topdef or not topdef.buildable_to then - return itemstack - end - - local above2 = { x = pos.x, y = pos.y + 2, z = pos.z } - local top_node2 = minetest.get_node_or_nil(above2) - local topdef2 = top_node2 and minetest.registered_nodes[top_node2.name] - - if not topdef2 or not topdef2.buildable_to then - return itemstack - end - - local pn = placer:get_player_name() - if minetest.is_protected(pos, pn) or minetest.is_protected(above, pn) or minetest.is_protected(above2, 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}) - minetest.set_node(above2, {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}) - minetest.set_node(above2, {name = "doors:hidden", param2 = dir}) - end - - local meta = minetest.get_meta(pos) - meta:set_int("state", state) - - if def.protected then - 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 - - 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, itemstack, pointed_thing) - _doors.door_toggle(pos, node, clicker) - return itemstack - end - def.after_dig_node = function(pos, node, meta, digger) - minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) - minetest.remove_node({x = pos.x, y = pos.y + 2, z = pos.z}) - nodeupdate({x = pos.x, y = pos.y + 2, z = pos.z}) - end - def.on_rotate = false - - if def.protected then - def.can_dig = can_dig_door - 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}) - minetest.remove_node({x = pos.x, y = pos.y + 2, 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}) - minetest.remove_node({x = pos.x, y = pos.y + 2, 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,2.5,-6/16}} - def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,2.5,-6/16}} - - def.mesh = "door3_a.obj" - minetest.register_node(":" .. name .. "_a", def) - - def.mesh = "door3_b.obj" - minetest.register_node(":" .. name .. "_b", def) - - _doors.registered_doors3[name .. "_a"] = true - _doors.registered_doors3[name .. "_b"] = true -end - -doors.register3("door3_wood", { - tiles = {{ name = "doors_door3_wood.png", backface_culling = true }}, - description = "Wooden Door 3 Nodes", - inventory_image = "doors3_item_wood.png", - groups = { snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, - recipe = { - {"", "", ""}, - {"", "doors:door_wood", ""}, - {"", "doors:door_wood", ""}, - } -}) - -doors.register3("door3_steel", { - tiles = {{ name = "doors_door3_steel.png", backface_culling = true }}, - description = "Steel Door 3 Nodes", - inventory_image = "doors3_item_steel.png", - protected = true, - groups = { snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2 }, - sound_open = "doors_steel_door_open", - sound_close = "doors_steel_door_close", - recipe = { - {"", "", ""}, - {"", "doors:door_steel", ""}, - {"", "doors:door_steel", ""}, - } -}) - -doors.register3("door3_glass", { - tiles = { "doors_door3_glass.png"}, - description = "Glass Door 3 Nodes", - inventory_image = "doors3_item_glass.png", - groups = { snappy=1, cracky=1, oddly_breakable_by_hand=3 }, - sounds = default.node_sound_glass_defaults(), - recipe = { - {"", "", ""}, - {"", "doors:door_glass", ""}, - {"", "doors:door_glass", ""}, - } -}) - -doors.register3("door3_obsidian_glass", { - tiles = { "doors_door3_obsidian_glass.png" }, - description = "Obsidian Glass Door 3 Nodes", - inventory_image = "doors3_item_obsidian_glass.png", - groups = { snappy=1, cracky=1, oddly_breakable_by_hand=3 }, - sounds = default.node_sound_glass_defaults(), - recipe = { - {"", "", ""}, - {"", "doors:door_obsidian_glass", ""}, - {"", "doors:door_obsidian_glass", ""}, - }, -}) - - --- From BFD: Cherry planks doors -doors.register3("door3_cherry", { - tiles = { "doors_door3_cherry.png" }, - description = "Cherry Door 3 Nodes", - inventory_image = "doors3_item_cherry.png", - groups = {choppy=2, oddly_breakable_by_hand=2, flammable=2, door=1}, - sounds = default.node_sound_wood_defaults(), - recipe = { - {"", "", ""}, - {"", "doors:door_cherry", ""}, - {"", "doors:door_cherry", ""}, - }, -}) - --- doors prison MFF -doors.register3("door3_prison", { - tiles = { "doors_door3_prison.png" }, - description = "Prison Door 3 Nodes", - inventory_image = "doors3_item_prison.png", - groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2,door=1}, - protected = true, - sounds = default.node_sound_stone_defaults(), - recipe = { - {"", "", ""}, - {"", "doors:door_prison", ""}, - {"", "doors:door_prison", ""}, - } -}) diff --git a/minetestforfun_game/mods/doors/license.txt b/minetestforfun_game/mods/doors/license.txt deleted file mode 100644 index 8ce73c49..00000000 --- a/minetestforfun_game/mods/doors/license.txt +++ /dev/null @@ -1,164 +0,0 @@ -License of source code ----------------------- - -The MIT License (MIT) -Copyright (C) 2012-2016 PilzAdam -Copyright (C) 2014-2016 BlockMen -Copyright (C) 2015-2016 sofar (sofar@foo-projects.org) -Copyright (C) 2012-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, models and sounds) ------------------------------------------------ - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2011-2016 Fernando Zapata -Copyright (C) 2014-2016 celeron55 -Copyright (C) 2012-2016 PilzAdam -Copyright (C) 2014-2016 BlockMen -Copyright (C) 2015-2016 sofar -Copyright (C) 2016 red-001 -Copyright (C) 2016 paramat - -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/ - ------------------------ - -Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) -Copyright (C) 2014-2016 PenguinDad - -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/4.0/ - ------------------------ - -Attribution 3.0 Unported (CC BY 3.0) -Copyright (C) 2014 CGEffex -Copyright (C) 2014 bennstir -Copyright (C) 2016 BarkersPinhead -Copyright (C) 2016 rivernile7 -Copyright (C) 2016 HazMatt - -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. - -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/3.0/ - ------------------------ - -CC0 1.0 Universal (CC0 1.0) Public Domain Dedication -mhtaylor67 -SkeetMasterFunk69 - -No Copyright - -The person who associated a work with this deed has dedicated the work to the public -domain by waiving all of his or her rights to the work worldwide under copyright law, -including all related and neighboring rights, to the extent allowed by law. - -You can copy, modify, distribute and perform the work, even for commercial purposes, all -without asking permission. See Other Information below. - -Other Information - -In no way are the patent or trademark rights of any person affected by CC0, nor are the -rights that other persons may have in the work or in how the work is used, such as -publicity or privacy rights. -Unless expressly stated otherwise, the person who associated a work with this deed makes -no warranties about the work, and disclaims liability for all uses of the work, to the -fullest extent permitted by applicable law. -When using or citing the work, you should not imply endorsement by the author or the -affirmer. - -For more details: -https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/minetestforfun_game/mods/doors/models/door3_a.obj b/minetestforfun_game/mods/doors/models/door3_a.obj deleted file mode 100644 index 1865e5e0..00000000 --- a/minetestforfun_game/mods/doors/models/door3_a.obj +++ /dev/null @@ -1,42 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: '3node_door.blend' -# www.blender.org -mtllib 3node_door.mtl -o Cube_Cube.001 -v -0.499000 -0.499000 -0.375000 -v 0.499000 -0.499000 -0.375000 -v 0.498998 2.498000 -0.375000 -v -0.499000 2.498000 -0.375000 -v -0.499000 2.498000 -0.499000 -v -0.499000 -0.499000 -0.499000 -v 0.498998 2.498000 -0.499000 -v 0.499000 -0.499000 -0.499000 -vt 0.842905 0.000000 -vt 0.421453 0.000000 -vt 0.421453 1.000000 -vt 0.842905 1.000000 -vt 0.895270 0.000000 -vt 0.895270 1.000000 -vt 1.000000 0.665999 -vt 0.947635 0.665999 -vt 0.947635 0.333000 -vt 1.000000 0.333000 -vt 0.000000 0.000000 -vt 0.000000 1.000000 -vt 0.947635 0.000000 -vt 0.947635 1.000000 -vt 1.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 1/4/2 4/1/2 5/5/2 6/6/2 -f 3/7/3 7/8/3 5/9/3 4/10/3 -f 6/11/4 5/12/4 7/3/4 8/2/4 -f 2/5/5 8/13/5 7/14/5 3/6/5 -s 1 -f 8/13/6 2/15/6 1/10/6 6/9/6 diff --git a/minetestforfun_game/mods/doors/models/door3_b.obj b/minetestforfun_game/mods/doors/models/door3_b.obj deleted file mode 100644 index 27b62403..00000000 --- a/minetestforfun_game/mods/doors/models/door3_b.obj +++ /dev/null @@ -1,42 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: '3node_door_b.blend' -# www.blender.org -mtllib 3node_door_b.mtl -o Cube_Cube.001 -v -0.499000 -0.499000 -0.375000 -v 0.499000 -0.499000 -0.375000 -v 0.498998 2.498000 -0.375000 -v -0.499000 2.498000 -0.375000 -v -0.499000 2.498000 -0.499000 -v -0.499000 -0.499000 -0.499000 -v 0.498998 2.498000 -0.499000 -v 0.499000 -0.499000 -0.499000 -vt 0.421453 0.000000 -vt 0.842905 0.000000 -vt 0.842905 1.000000 -vt 0.421453 1.000000 -vt 0.895270 0.000000 -vt 0.895270 1.000000 -vt 1.000000 0.665999 -vt 0.947635 0.665999 -vt 0.947635 0.333000 -vt 1.000000 0.333000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 0.947635 0.000000 -vt 0.947635 1.000000 -vt 1.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 1/3/2 4/2/2 5/5/2 6/6/2 -f 3/7/3 7/8/3 5/9/3 4/10/3 -f 6/1/4 5/4/4 7/11/4 8/12/4 -f 2/5/5 8/13/5 7/14/5 3/6/5 -s 1 -f 8/13/6 2/15/6 1/10/6 6/9/6 diff --git a/minetestforfun_game/mods/doors/models/door_a.obj b/minetestforfun_game/mods/doors/models/door_a.obj deleted file mode 100644 index bd5127b5..00000000 --- a/minetestforfun_game/mods/doors/models/door_a.obj +++ /dev/null @@ -1,40 +0,0 @@ -# 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/minetestforfun_game/mods/doors/models/door_b.obj b/minetestforfun_game/mods/doors/models/door_b.obj deleted file mode 100644 index c5607b87..00000000 --- a/minetestforfun_game/mods/doors/models/door_b.obj +++ /dev/null @@ -1,40 +0,0 @@ -# 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/minetestforfun_game/mods/doors/models/doors_fencegate_closed.obj b/minetestforfun_game/mods/doors/models/doors_fencegate_closed.obj deleted file mode 100644 index 0050f70e..00000000 --- a/minetestforfun_game/mods/doors/models/doors_fencegate_closed.obj +++ /dev/null @@ -1,106 +0,0 @@ -# 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/minetestforfun_game/mods/doors/models/doors_fencegate_open.obj b/minetestforfun_game/mods/doors/models/doors_fencegate_open.obj deleted file mode 100644 index 3fb727f4..00000000 --- a/minetestforfun_game/mods/doors/models/doors_fencegate_open.obj +++ /dev/null @@ -1,112 +0,0 @@ -# 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/minetestforfun_game/mods/doors/sounds/doors_door_close.ogg b/minetestforfun_game/mods/doors/sounds/doors_door_close.ogg deleted file mode 100755 index fede4af3..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_door_close.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/sounds/doors_door_open.ogg b/minetestforfun_game/mods/doors/sounds/doors_door_open.ogg deleted file mode 100755 index 9a4c4f11..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_door_open.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/sounds/doors_fencegate_close.ogg b/minetestforfun_game/mods/doors/sounds/doors_fencegate_close.ogg deleted file mode 100644 index 9e8a6988..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_fencegate_close.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/sounds/doors_fencegate_open.ogg b/minetestforfun_game/mods/doors/sounds/doors_fencegate_open.ogg deleted file mode 100644 index b94f8a19..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_fencegate_open.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/sounds/doors_glass_door_close.ogg b/minetestforfun_game/mods/doors/sounds/doors_glass_door_close.ogg deleted file mode 100644 index 67cb3431..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_glass_door_close.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/sounds/doors_glass_door_open.ogg b/minetestforfun_game/mods/doors/sounds/doors_glass_door_open.ogg deleted file mode 100644 index 6dc9b505..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_glass_door_open.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/sounds/doors_steel_door_close.ogg b/minetestforfun_game/mods/doors/sounds/doors_steel_door_close.ogg deleted file mode 100644 index f762808e..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_steel_door_close.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/sounds/doors_steel_door_open.ogg b/minetestforfun_game/mods/doors/sounds/doors_steel_door_open.ogg deleted file mode 100644 index d55feaad..00000000 Binary files a/minetestforfun_game/mods/doors/sounds/doors_steel_door_open.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors3_item_cherry.png b/minetestforfun_game/mods/doors/textures/doors3_item_cherry.png deleted file mode 100644 index 72ccb28f..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors3_item_cherry.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors3_item_glass.png b/minetestforfun_game/mods/doors/textures/doors3_item_glass.png deleted file mode 100644 index b3d524f5..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors3_item_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors3_item_obsidian_glass.png b/minetestforfun_game/mods/doors/textures/doors3_item_obsidian_glass.png deleted file mode 100644 index 2e452c5b..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors3_item_obsidian_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors3_item_prison.png b/minetestforfun_game/mods/doors/textures/doors3_item_prison.png deleted file mode 100644 index cc9b3d41..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors3_item_prison.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors3_item_steel.png b/minetestforfun_game/mods/doors/textures/doors3_item_steel.png deleted file mode 100755 index a87e23bd..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors3_item_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors3_item_wood.png b/minetestforfun_game/mods/doors/textures/doors3_item_wood.png deleted file mode 100644 index 1982a594..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors3_item_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_blank.png b/minetestforfun_game/mods/doors/textures/doors_blank.png deleted file mode 100644 index 1914264c..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_blank.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door3_cherry.png b/minetestforfun_game/mods/doors/textures/doors_door3_cherry.png deleted file mode 100644 index c80eb6bc..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door3_cherry.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door3_glass.png b/minetestforfun_game/mods/doors/textures/doors_door3_glass.png deleted file mode 100644 index ab776ce6..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door3_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door3_obsidian_glass.png b/minetestforfun_game/mods/doors/textures/doors_door3_obsidian_glass.png deleted file mode 100644 index d81cd544..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door3_obsidian_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door3_prison.png b/minetestforfun_game/mods/doors/textures/doors_door3_prison.png deleted file mode 100644 index b6abf08c..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door3_prison.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door3_steel.png b/minetestforfun_game/mods/doors/textures/doors_door3_steel.png deleted file mode 100644 index e0bab518..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door3_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door3_wood.png b/minetestforfun_game/mods/doors/textures/doors_door3_wood.png deleted file mode 100644 index 3aefdba1..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door3_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_cherry.png b/minetestforfun_game/mods/doors/textures/doors_door_cherry.png deleted file mode 100644 index 1a1fb727..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_cherry.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_gardengate_white.png b/minetestforfun_game/mods/doors/textures/doors_door_gardengate_white.png deleted file mode 100644 index 79e5da06..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_gardengate_white.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_glass.png b/minetestforfun_game/mods/doors/textures/doors_door_glass.png deleted file mode 100644 index ea9173b4..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_obsidian_glass.png b/minetestforfun_game/mods/doors/textures/doors_door_obsidian_glass.png deleted file mode 100644 index 8a92b0e8..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_obsidian_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_prison.png b/minetestforfun_game/mods/doors/textures/doors_door_prison.png deleted file mode 100644 index b013f07c..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_prison.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_steel.png b/minetestforfun_game/mods/doors/textures/doors_door_steel.png deleted file mode 100644 index 3e95a0b9..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_tin.png b/minetestforfun_game/mods/doors/textures/doors_door_tin.png deleted file mode 100644 index 6119c90f..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_tin.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_door_wood.png b/minetestforfun_game/mods/doors/textures/doors_door_wood.png deleted file mode 100644 index 5bd158d3..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_door_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_cherry.png b/minetestforfun_game/mods/doors/textures/doors_item_cherry.png deleted file mode 100644 index 1c304926..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_cherry.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_gardengate_white.png b/minetestforfun_game/mods/doors/textures/doors_item_gardengate_white.png deleted file mode 100644 index 80bbe494..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_gardengate_white.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_glass.png b/minetestforfun_game/mods/doors/textures/doors_item_glass.png deleted file mode 100644 index 6fc01305..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_obsidian_glass.png b/minetestforfun_game/mods/doors/textures/doors_item_obsidian_glass.png deleted file mode 100644 index 1f1895d2..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_obsidian_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_prison.png b/minetestforfun_game/mods/doors/textures/doors_item_prison.png deleted file mode 100644 index bdbd87d9..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_prison.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_steel.png b/minetestforfun_game/mods/doors/textures/doors_item_steel.png deleted file mode 100644 index e0e15377..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_tin.png b/minetestforfun_game/mods/doors/textures/doors_item_tin.png deleted file mode 100644 index c2c4a427..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_tin.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_item_wood.png b/minetestforfun_game/mods/doors/textures/doors_item_wood.png deleted file mode 100644 index ad240961..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_item_wood.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_trapdoor.png b/minetestforfun_game/mods/doors/textures/doors_trapdoor.png deleted file mode 100644 index e13ae373..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_trapdoor.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_trapdoor_cherry.png b/minetestforfun_game/mods/doors/textures/doors_trapdoor_cherry.png deleted file mode 100644 index ef16036d..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_trapdoor_cherry.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_trapdoor_side.png b/minetestforfun_game/mods/doors/textures/doors_trapdoor_side.png deleted file mode 100644 index 2a8d686f..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_trapdoor_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_trapdoor_steel.png b/minetestforfun_game/mods/doors/textures/doors_trapdoor_steel.png deleted file mode 100644 index 4ba507d6..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_trapdoor_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/doors/textures/doors_trapdoor_steel_side.png b/minetestforfun_game/mods/doors/textures/doors_trapdoor_steel_side.png deleted file mode 100644 index 68ad0df8..00000000 Binary files a/minetestforfun_game/mods/doors/textures/doors_trapdoor_steel_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/README.txt b/minetestforfun_game/mods/dye/README.txt deleted file mode 100755 index a2fbdd24..00000000 --- a/minetestforfun_game/mods/dye/README.txt +++ /dev/null @@ -1,13 +0,0 @@ -Minetest Game mod: dye -====================== -See license.txt for license information. -See init.lua for documentation. - -Authors of source code ----------------------- -Originally by Perttu Ahola (celeron55) (MIT) -Various Minetest developers and contributors (MIT) - -Authors of media (textures) ---------------------------- -Perttu Ahola (celeron55) (CC BY-SA 3.0) diff --git a/minetestforfun_game/mods/dye/depends.txt b/minetestforfun_game/mods/dye/depends.txt deleted file mode 100755 index e69de29b..00000000 diff --git a/minetestforfun_game/mods/dye/init.lua b/minetestforfun_game/mods/dye/init.lua deleted file mode 100755 index 632764a4..00000000 --- a/minetestforfun_game/mods/dye/init.lua +++ /dev/null @@ -1,112 +0,0 @@ --- Other mods can use these for looping through available colors - -dye = {} -dye.basecolors = {"white", "grey", "black", "red", "yellow", "green", "cyan", "blue", "magenta"} -dye.excolors = {"white", "lightgrey", "grey", "darkgrey", "black", "red", "orange", "yellow", - "lime", "green", "aqua", "cyan", "sky_blue", "blue", "violet", "magenta", "red_violet"} - --- Make dye names and descriptions available globally - -dye.dyes = { - {"white", "White"}, - {"grey", "Grey"}, - {"dark_grey", "Dark grey"}, - {"black", "Black"}, - {"violet", "Violet"}, - {"blue", "Blue"}, - {"cyan", "Cyan"}, - {"dark_green", "Dark green"}, - {"green", "Green"}, - {"yellow", "Yellow"}, - {"brown", "Brown"}, - {"orange", "Orange"}, - {"red", "Red"}, - {"magenta", "Magenta"}, - {"pink", "Pink"}, -} - --- This collection of colors is partly a historic thing, partly something else - -local dyes = { - {"white", "White dye", {dye=1, basecolor_white=1, excolor_white=1, unicolor_white=1}, true}, - {"grey", "Grey dye", {dye=1, basecolor_grey=1, excolor_grey=1, unicolor_grey=1}}, - {"dark_grey", "Dark grey dye", {dye=1, basecolor_grey=1, excolor_darkgrey=1, unicolor_darkgrey=1}}, - {"black", "Black dye", {dye=1, basecolor_black=1, excolor_black=1, unicolor_black=1}}, - {"violet", "Violet dye", {dye=1, basecolor_magenta=1, excolor_violet=1, unicolor_violet=1}, true}, - {"blue", "Blue dye", {dye=1, basecolor_blue=1, excolor_blue=1, unicolor_blue=1}, true}, - {"cyan", "Cyan dye", {dye=1, basecolor_cyan=1, excolor_cyan=1, unicolor_cyan=1}}, - {"dark_green", "Dark green dye", {dye=1, basecolor_green=1, excolor_green=1, unicolor_dark_green=1}}, - {"green", "Green dye", {dye=1, basecolor_green=1, excolor_green=1, unicolor_green=1}}, - {"yellow", "Yellow dye", {dye=1, basecolor_yellow=1, excolor_yellow=1, unicolor_yellow=1}, true}, - {"brown", "Brown dye", {dye=1, basecolor_brown=1, excolor_orange=1, unicolor_dark_orange=1}}, - {"orange", "Orange dye", {dye=1, basecolor_orange=1, excolor_orange=1, unicolor_orange=1}, true}, - {"red", "Red dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_red=1}, true}, - {"magenta", "Magenta dye", {dye=1, basecolor_magenta=1, excolor_red_violet=1, unicolor_red_violet=1}}, - {"pink", "Pink dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_light_red=1}}, -} - --- Define items - -for _, row in ipairs(dyes) do - local name = row[1] - local description = row[2] - local groups = row[3] - local flower = row[4] - local item_name = "dye:" .. name - local item_image = "dye_" .. name .. ".png" - minetest.register_craftitem(item_name, { - inventory_image = item_image, - description = description, - groups = groups - }) - if flower then - minetest.register_craft({ - type = "shapeless", - output = item_name .. " 4", - recipe = {"group:flower,color_" .. name}, - }) - end -end - --- Manually add coal->black dye - -minetest.register_craft({ - type = "shapeless", - output = "dye:black 4", - recipe = {"group:coal"}, -}) - --- Mix recipes --- Just mix everything to everything somehow sanely - -local mixbases = {"pink", "magenta", "red", "orange", "brown", "yellow", "green", "dark_green", "cyan", "blue", "violet", "black", "dark_grey", "grey", "white", "light_grey"} - -local mixes = { - -- pink, magenta, red, orange, brown, yellow, green, dark_green, cyan, blue, violet, black, dark_grey, grey, white, light_grey - white = {"pink", "pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet","grey", "grey", "grey","white", "white"}, - grey = {"pink", "pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet","dark_grey","grey", "grey"}, - dark_grey = {"brown", "brown", "brown", "brown", "brown", "brown", "dark_green","dark_green","blue", "blue", "violet","black", "dark_grey"}, - black = {"black", "black", "black", "black", "black", "black", "black", "black", "black","black", "black", "black"}, - violet = {"magenta","magenta","magenta","red", "brown", "red", "cyan", "brown", "blue", "violet","violet"}, - blue = {"violet", "violet", "magenta","brown", "brown", "dark_green","cyan", "cyan", "cyan", "blue"}, - cyan = {"brown", "blue", "brown", "dark_green","dark_grey", "green", "cyan", "dark_green","cyan"}, - dark_green = {"brown", "brown", "brown", "brown", "brown", "green", "green", "dark_green"}, - green = {"yellow", "brown", "yellow", "yellow", "dark_green","green", "green"}, - yellow = {"orange", "red", "orange", "yellow", "orange", "yellow"}, - brown = {"brown", "brown", "brown", "orange", "brown"}, - orange = {"orange", "red", "orange", "orange"}, - red = {"pink", "magenta","red"}, - magenta = {"magenta","magenta"}, - pink = {"pink"}, -} - -for one, results in pairs(mixes) do - for i, result in ipairs(results) do - local another = mixbases[i] - minetest.register_craft({ - type = "shapeless", - output = 'dye:' .. result .. ' 2', - recipe = {'dye:' .. one, 'dye:' .. another}, - }) - end -end diff --git a/minetestforfun_game/mods/dye/textures/dye_black.png b/minetestforfun_game/mods/dye/textures/dye_black.png deleted file mode 100755 index 1055b6c2..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_black.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_blue.png b/minetestforfun_game/mods/dye/textures/dye_blue.png deleted file mode 100755 index d1377c6b..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_blue.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_brown.png b/minetestforfun_game/mods/dye/textures/dye_brown.png deleted file mode 100755 index 77d475cd..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_brown.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_cyan.png b/minetestforfun_game/mods/dye/textures/dye_cyan.png deleted file mode 100755 index 239d66ce..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_cyan.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_dark_green.png b/minetestforfun_game/mods/dye/textures/dye_dark_green.png deleted file mode 100755 index 9606ccf4..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_dark_green.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_dark_grey.png b/minetestforfun_game/mods/dye/textures/dye_dark_grey.png deleted file mode 100755 index 060737ba..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_dark_grey.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_green.png b/minetestforfun_game/mods/dye/textures/dye_green.png deleted file mode 100755 index 0d99ee1c..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_green.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_grey.png b/minetestforfun_game/mods/dye/textures/dye_grey.png deleted file mode 100755 index 5efb0280..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_grey.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_magenta.png b/minetestforfun_game/mods/dye/textures/dye_magenta.png deleted file mode 100755 index c84df62c..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_magenta.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_orange.png b/minetestforfun_game/mods/dye/textures/dye_orange.png deleted file mode 100755 index 08449073..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_orange.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_pink.png b/minetestforfun_game/mods/dye/textures/dye_pink.png deleted file mode 100755 index c3dec22a..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_pink.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_red.png b/minetestforfun_game/mods/dye/textures/dye_red.png deleted file mode 100755 index 14eafbf4..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_violet.png b/minetestforfun_game/mods/dye/textures/dye_violet.png deleted file mode 100755 index 600cbb44..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_violet.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_white.png b/minetestforfun_game/mods/dye/textures/dye_white.png deleted file mode 100755 index 2a840a41..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_white.png and /dev/null differ diff --git a/minetestforfun_game/mods/dye/textures/dye_yellow.png b/minetestforfun_game/mods/dye/textures/dye_yellow.png deleted file mode 100755 index fe75775e..00000000 Binary files a/minetestforfun_game/mods/dye/textures/dye_yellow.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/README.txt b/minetestforfun_game/mods/farming/README.txt deleted file mode 100755 index e8071237..00000000 --- a/minetestforfun_game/mods/farming/README.txt +++ /dev/null @@ -1,150 +0,0 @@ -Farming Redo Mod -by TenPlus1 - -https://forum.minetest.net/viewtopic.php?id=9019 - -Farming Redo is a simplified version of the built-in farming mod in minetest and comes with wheat, cotton, carrot, cucumber, potato and tomato to start out with which spawn throughout the map... new foods need only be planted on tilled soil so no seeds are required, original wheat and cotton will require seeds which are found inside normal and jungle grass... - -This mod works by adding your new plant to the {growing=1} group and numbering the stages from _1 to as many stages as you like, but the underscore MUST be used only once in the node name to separate plant from stage number e.g. - -"farming:cotton_1" through to "farming:cotton_8" -"farming:wheat_1" through to "farming:wheat_8" -"farming:cucumber_4" through to "farming:cucumber_4" - -Changelog: - -1.23 - Huge code tweak and tidy done and added barley seeds to be found in dry grass, barley can make flour for bread also. -1.22 - Added grape bushes at high climates which can be cultivated into grape vines using trellis (9 sticks). -1.21 - Added auto-refill code for planting crops (thanks crabman77), also fixed a few bugs -1.20b- Tidied code, made api compatible with new 0.4.13 changes and changed to soil texture overlays -1.20 - NEW growing routine added that allows crops to grow while player is away doing other things (thanks prestidigitator) -1.14 - Added Green Beans from Crops mod (thanks sofar), little bushels in the wild but need to be grown using beanpoles crafted with 4 sticks (2 either side) -1.13 - Fixed seed double-placement glitch. Mapgen now uses 0.4.12+ for plant generation -1.12 - Player cannot place seeds in protected area, also growing speeds changed to match defaults -1.11 - Added Straw Bale, streamlined growing abm a little, fixed melon rotation bug with screwdriver -1.10 - Added Blueberry Bush and Blueberry Muffins, also Pumpkin/Melon easier to pick up, added check for unloaded map -1.09 - Corn now uses single nodes instead of 1 ontop of the other, Ethanol recipe is more expensive (requires 5 corn) and some code cleanup. -1.08 - Added Farming Plus compatibility, plus can be removed and no more missing nodes -1.07 - Added Rhubarb and Rhubarb Pie -1.06 - register_hoe and register_plant added for compatibility with default farming mod, although any plants registered will use farming redo to grow -1.05 - Added Raspberry Bushels and Raspberry Smoothie -1.04 - Added Donuts... normal, chocolate and apple... and a few code cleanups and now compatible with jungletree's from MoreTrees mod -1.03 - Bug fixes and more compatibility as drop-in replacement for built-in farming mod -1.02 - Added farming.mod string to help other mods identify which farming mod is running, if it returns "redo" then you're using this one, "" empty is built-in mod -1.01 - Crafting coffee or ethanol returns empty bucket/bottle, also Cocoa spawns a little rarer -1.0 - Added Cocoa which randomly grows on jungle tree's, pods give cocoa beans which can be used to farm more pods on a jungle trunk or make Cookies which have been added (or other treats) -0.9 - Added Pumpkin, Jack 'O Lantern, Pumpkin Slice and Sugar -(a huge thanks to painterly.net for allowing me to use their textures) -0.8 - Added Watermelon and Melon Slice -0.7 - Added Coffee, Coffee Beans, Drinking Cup, Cold and Hot Cup of Coffee -0.6 - Added Corn, Corn on the Cob... Also reworked Abm -0.5 - Added Carrot, Cucumber, Potato (and Baked Potato), Tomato -0.4 - Checks for Protection, also performance changes -0.3 - Added Diamond and Mese hoe -0.2 - Fixed check for wet soil -0.1 - Fixed growing bug -0.0 - Initial release - -License of media (textures): ----------------------------- -Created by PilzAdam (License: WTFPL): - farming_bread.png - farming_soil.png - farming_soil_wet.png - farming_soil_wet_side.png - farming_string.png - -Created by Calinou (License: CC BY-SA): - farming_tool_bronzehoe.png - farming_tool_steelhoe.png - farming_tool_stonehoe.png - farming_tool_woodhoe.png - farming_tool_mesehoe.png - farming_tool_diamondhoe.png - -Created by VanessaE (License: WTFPL): - farming_cotton_seed.png - farming_wheat_seed.png - farming_flour.png - farming_wheat.png - farming_wheat_1.png - farming_wheat_2.png - farming_wheat_3.png - farming_wheat_4.png - farming_wheat_5.png - farming_wheat_5.png - farming_wheat_7.png - farming_wheat_8.png - farming_cotton_1.png - farming_cotton_2.png - farming_cotton_3.png - farming_cotton_4.png - farming_cotton_5.png - farming_cotton_6.png - farming_cotton_7.png - farming_cotton_8.png - -Created by Doc (License: WTFPL): - farming_cucumber.png - farming_cucumber_1.png - farming_cucumber_2.png - farming_cucumber_3.png - farming_cucumber_4.png - farming_potato.png - farming_potato_1.png - farming_potato_2.png - farming_potato_3.png - farming_potato_4.png - farming_raspberries.png - farming_raspberry_1.png - farming_raspberry_2.png - farming_raspberry_3.png - farming_raspberry_4.png - -Created by Gambit: - default_junglegrass.png - farming_carrot.png - farming_carrot_1.png - farming_carrot_2.png - farming_carrot_3.png - farming_carrot_4.png - farming_carrot_5.png - farming_carrot_6.png - farming_carrot_7.png - farming_carrot_8.png - -Created by JoseTheCrafter and edited by TenPlus1: - farming_tomato.png - farming_tomato_1.png - farming_tomato_2.png - farming_tomato_3.png - farming_tomato_4.png - farming_tomato_5.png - farming_tomato_6.png - farming_tomato_7.png - farming_tomato_8.png - -Created by GeMinecraft and edited by TenPlus1: - farming_corn.png - farming_corn_cob.png - farming_corn_1.png - farming_corn_2.png - farming_corn_3.png - farming_corn_4.png - farming_corn_5.png - farming_corn_6.png - farming_corn_7.png - farming_corn_8.png - -Created by TenPlus1 - farming_cocoa_1.png - farming_cocoa_2.png - farming_cocoa_3.png - farming_cocoa_beans.png - farming_cookie.png - farming_raspberry_smoothie.png - farming_rhubarb_1.png - farming_rhubarb_2.png - farming_rhubarb_3.png - farming_rhubarb.png - farming_rhubarb_pie.png diff --git a/minetestforfun_game/mods/farming/barley.lua b/minetestforfun_game/mods/farming/barley.lua deleted file mode 100644 index b7bf530e..00000000 --- a/minetestforfun_game/mods/farming/barley.lua +++ /dev/null @@ -1,98 +0,0 @@ - -local S = farming.intllib - --- barley seeds -minetest.register_node("farming:seed_barley", { - description = S("Barley Seed"), - tiles = {"farming_barley_seed.png"}, - inventory_image = "farming_barley_seed.png", - wield_image = "farming_barley_seed.png", - drawtype = "signlike", - groups = {seed = 1, snappy = 3, attached_node = 1}, - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = farming.select, - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1") - end, -}) - --- harvested barley -minetest.register_craftitem("farming:barley", { - description = S("Barley"), - inventory_image = "farming_barley.png", -}) - --- flour -minetest.register_craft({ - type = "shapeless", - output = "farming:flour", - recipe = {"farming:barley", "farming:barley", "farming:barley", "farming:barley"} -}) - --- barley definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_barley_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:barley_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_barley_2.png"} -minetest.register_node("farming:barley_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_barley_3.png"} -minetest.register_node("farming:barley_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_barley_4.png"} -minetest.register_node("farming:barley_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_barley_5.png"} -crop_def.drop = { - items = { - {items = {'farming:barley'}, rarity = 2}, - {items = {'farming:seed_barley'}, rarity = 2}, - } -} -minetest.register_node("farming:barley_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_barley_6.png"} -crop_def.drop = { - items = { - {items = {'farming:barley'}, rarity = 2}, - {items = {'farming:seed_barley'}, rarity = 1}, - } -} -minetest.register_node("farming:barley_6", table.copy(crop_def)) - --- stage 7 (final) -crop_def.tiles = {"farming_barley_7.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:barley'}, rarity = 1}, - {items = {'farming:barley'}, rarity = 3}, - {items = {'farming:seed_barley'}, rarity = 1}, - {items = {'farming:seed_barley'}, rarity = 3}, - } -} -minetest.register_node("farming:barley_7", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/beanpole.lua b/minetestforfun_game/mods/farming/beanpole.lua deleted file mode 100755 index 432ffbc3..00000000 --- a/minetestforfun_game/mods/farming/beanpole.lua +++ /dev/null @@ -1,195 +0,0 @@ ---[[ - All textures by - (C) Auke Kok - CC-BY-SA-3.0 -]] - -local S = farming.intllib - --- beans -minetest.register_craftitem("farming:beans", { - description = S("Green Beans"), - inventory_image = "farming_beans.png", - on_use = minetest.item_eat(1), - - on_place = function(itemstack, placer, pointed_thing) - - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - return - end - - local nodename = minetest.get_node(pointed_thing.under).name - - if nodename == "farming:beanpole" then - minetest.set_node(pointed_thing.under, {name = "farming:beanpole_1"}) - - minetest.sound_play("default_place_node", {pos = pointed_thing.above, gain = 1.0}) - else - return - end - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 then - - minetest.after(0.20, - farming.refill_plant, - placer, - "farming:beans", - placer:get_wield_index() - ) - end - end - - return itemstack - end -}) - --- beans can be used for green dye -minetest.register_craft({ - output = "dye:green", - recipe = { - {'farming:beans'}, - } -}) - --- beanpole -minetest.register_node("farming:beanpole", { - description = S("Bean Pole (place on soil before planting beans)"), - drawtype = "plantlike", - tiles = {"farming_beanpole.png"}, - inventory_image = "farming_beanpole.png", - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = "farming:beanpole", - selection_box = farming.select, - groups = {snappy = 3, flammable = 2, attached_node = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_place = function(itemstack, placer, pointed_thing) - local top = { - x = pointed_thing.above.x, - y = pointed_thing.above.y + 1, - z = pointed_thing.above.z - } - - if minetest.is_protected(pointed_thing.above, placer:get_player_name()) - or minetest.is_protected(top, placer:get_player_name()) then -- MFF crabman(18/06/2015) - return - end - local nodename = minetest.get_node(pointed_thing.under).name - - if minetest.get_item_group(nodename, "soil") < 2 then - return - end - - nodename = minetest.get_node(top).name - - if nodename ~= "air" then - return - end - - minetest.set_node(pointed_thing.above, {name = "farming:beanpole"}) - - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - - return itemstack - end -}) - -minetest.register_craft({ - output = "farming:beanpole", - recipe = { - {'', '', ''}, - {'default:stick', '', 'default:stick'}, - {'default:stick', '', 'default:stick'}, - } -}) - -minetest.register_craft({ - type = "fuel", - recipe = "farming:beanpole", - burntime = 10, -}) - --- green bean definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_beanpole_1.png"}, - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:beanpole'}, rarity = 1}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 3, not_in_creative_inventory = 1, - attached_node = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:beanpole_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_beanpole_2.png"} -minetest.register_node("farming:beanpole_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_beanpole_3.png"} -minetest.register_node("farming:beanpole_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_beanpole_4.png"} -minetest.register_node("farming:beanpole_4", table.copy(crop_def)) - --- stage 5 (final) -crop_def.tiles = {"farming_beanpole_5.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:beanpole'}, rarity = 1}, - {items = {'farming:beans 3'}, rarity = 1}, - {items = {'farming:beans 2'}, rarity = 2}, - {items = {'farming:beans 2'}, rarity = 3}, - } -} -minetest.register_node("farming:beanpole_5", table.copy(crop_def)) - --- wild green bean bush (this is what you find on the map) -minetest.register_node("farming:beanbush", { - drawtype = "plantlike", - tiles = {"farming_beanbush.png"}, - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:beans 1'}, rarity = 1}, - {items = {'farming:beans 1'}, rarity = 2}, - {items = {'farming:beans 1'}, rarity = 3}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory=1 - }, - sounds = default.node_sound_leaves_defaults(), -}) diff --git a/minetestforfun_game/mods/farming/blueberry.lua b/minetestforfun_game/mods/farming/blueberry.lua deleted file mode 100755 index 82ce7ff1..00000000 --- a/minetestforfun_game/mods/farming/blueberry.lua +++ /dev/null @@ -1,67 +0,0 @@ - -local S = farming.intllib - --- blueberries -minetest.register_craftitem("farming:blueberries", { - description = S("Blueberries"), - inventory_image = "farming_blueberries.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:blueberry_1") - end, - on_use = minetest.item_eat(1), -}) - --- blueberry muffin (thanks to sosogirl123 @ deviantart.com for muffin image) - -minetest.register_craftitem("farming:muffin_blueberry", { - description = S("Blueberry Muffin"), - inventory_image = "farming_blueberry_muffin.png", - on_use = minetest.item_eat(2), -}) - -minetest.register_craft({ - output = "farming:muffin_blueberry 2", - recipe = { - {"farming:blueberries", "farming:bread", "farming:blueberries"}, - } -}) - --- blueberry definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_blueberry_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:blueberry_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_blueberry_2.png"} -minetest.register_node("farming:blueberry_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_blueberry_3.png"} -minetest.register_node("farming:blueberry_3", table.copy(crop_def)) - --- stage 4 (final) -crop_def.tiles = {"farming_blueberry_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:blueberries 2'}, rarity = 1}, - {items = {'farming:blueberries'}, rarity = 2}, - {items = {'farming:blueberries'}, rarity = 3}, - } -} -minetest.register_node("farming:blueberry_4", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/carrot.lua b/minetestforfun_game/mods/farming/carrot.lua deleted file mode 100755 index 9cfcee05..00000000 --- a/minetestforfun_game/mods/farming/carrot.lua +++ /dev/null @@ -1,95 +0,0 @@ - ---[[ - Original textures from PixelBox texture pack - https://forum.minetest.net/viewtopic.php?id=4990 -]] - -local S = farming.intllib - --- carrot -minetest.register_craftitem("farming:carrot", { - description = S("Carrot"), - inventory_image = "farming_carrot.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1") - end, - on_use = minetest.item_eat(4), -}) - --- golden carrot -minetest.register_craftitem("farming:carrot_gold", { - description = S("Golden Carrot"), - inventory_image = "farming_carrot_gold.png", - on_use = minetest.item_eat(6), -}) - -minetest.register_craft({ - output = "farming:carrot_gold", - recipe = { - {"", "default:gold_lump", ""}, - {"default:gold_lump", "farming:carrot", "default:gold_lump"}, - {"", "default:gold_lump", ""}, - } -}) - --- carrot definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_carrot_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - - --- stage 1 -minetest.register_node("farming:carrot_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_carrot_2.png"} -minetest.register_node("farming:carrot_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_carrot_3.png"} -minetest.register_node("farming:carrot_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_carrot_4.png"} -minetest.register_node("farming:carrot_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_carrot_5.png"} -minetest.register_node("farming:carrot_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_carrot_6.png"} -minetest.register_node("farming:carrot_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_carrot_7.png"} -crop_def.drop = { - items = { - {items = {'farming:carrot'}, rarity = 1}, - {items = {'farming:carrot 2'}, rarity = 3}, - } -} -minetest.register_node("farming:carrot_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_carrot_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:carrot 2'}, rarity = 1}, - {items = {'farming:carrot 3'}, rarity = 2}, - } -} -minetest.register_node("farming:carrot_8", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/cocoa.lua b/minetestforfun_game/mods/farming/cocoa.lua deleted file mode 100755 index 0d463770..00000000 --- a/minetestforfun_game/mods/farming/cocoa.lua +++ /dev/null @@ -1,174 +0,0 @@ - -local S = farming.intllib - --- place cocoa -function place_cocoa(itemstack, placer, pointed_thing, plantname) - - local pt = pointed_thing - - -- check if pointing at a node - if not pt or pt.type ~= "node" then - return - end - - local under = minetest.get_node(pt.under) - - -- return if any of the nodes are not registered - if not minetest.registered_nodes[under.name] then - return - end - - -- check if pointing at jungletree - if under.name ~= "default:jungletree" - or minetest.get_node(pt.above).name ~= "air" then - return - end - - -- add the node and remove 1 item from the itemstack - minetest.set_node(pt.above, {name = plantname}) - - minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}) - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 then - - minetest.after(0.20, - farming.refill_plant, - placer, - "farming:cocoa_beans", - placer:get_wield_index() - ) - end - end - - return itemstack -end - --- cocoa beans -minetest.register_craftitem("farming:cocoa_beans", { - description = S("Cocoa Beans"), - inventory_image = "farming_cocoa_beans.png", - on_place = function(itemstack, placer, pointed_thing) - return place_cocoa(itemstack, placer, pointed_thing, "farming:cocoa_1") - end, -}) - -minetest.register_craft( { - output = "dye:brown 2", - recipe = { - { "farming:cocoa_beans" }, - } -}) - --- chocolate cookie -minetest.register_craftitem("farming:cookie", { - description = S("Cookie"), - inventory_image = "farming_cookie.png", - on_use = minetest.item_eat(2), -}) - -minetest.register_craft( { - output = "farming:cookie 8", - recipe = { - { "farming:wheat", "farming:cocoa_beans", "farming:wheat" }, - } -}) - --- bar of dark chocolate (thanks to Ice Pandora for her deviantart.com chocolate tutorial) -minetest.register_craftitem("farming:chocolate_dark", { - description = S("Bar of Dark Chocolate"), - inventory_image = "farming_chocolate_dark.png", - on_use = minetest.item_eat(2), --/MFF (Mg|05/26/2015) -}) - -minetest.register_craft( { - output = "farming:chocolate_dark", - recipe = { - { "farming:cocoa_beans", "farming:cocoa_beans", "farming:cocoa_beans" }, - } -}) - --- cocoa definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_cocoa_1.png"}, - paramtype = "light", - walkable = true, - drop = { - items = { - {items = {'farming:cocoa_beans 1'}, rarity = 2}, - } - }, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, - groups = { - snappy = 3, flammable = 2, plant = 1, growing = 1, - not_in_creative_inventory=1, leafdecay = 1, leafdecay_drop = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:cocoa_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_cocoa_2.png"} -crop_def.drop = { - items = { - {items = {'farming:cocoa_beans 1'}, rarity = 1}, - } -} -minetest.register_node("farming:cocoa_2", table.copy(crop_def)) - --- stage 3 (final) -crop_def.tiles = {"farming_cocoa_3.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:cocoa_beans 2'}, rarity = 1}, - {items = {'farming:cocoa_beans 1'}, rarity = 2}, - } -} -minetest.register_node("farming:cocoa_3", table.copy(crop_def)) - --- add random cocoa pods to jungle tree trunks -minetest.register_abm({ - nodenames = {"default:jungletree"}, - neighbors = {"default:jungleleaves", "moretrees:jungletree_leaves_green"}, - interval = 8, - chance = 80, - catch_up = false, - action = function(pos, node) - - local dir = math.random(1, 50) - - if dir == 1 then - pos.x = pos.x + 1 - elseif dir == 2 then - pos.x = pos.x - 1 - elseif dir == 3 then - pos.z = pos.z + 1 - elseif dir == 4 then - pos.z = pos.z -1 - else return - end - - local nodename = minetest.get_node(pos).name - - if nodename == "air" - and minetest.get_node_light(pos) > 12 then - - --print ("Cocoa Pod added at " .. minetest.pos_to_string(pos)) - - minetest.set_node(pos, { - name = "farming:cocoa_" .. tostring(math.random(1, 3)) - }) - end - end, -}) diff --git a/minetestforfun_game/mods/farming/coffee.lua b/minetestforfun_game/mods/farming/coffee.lua deleted file mode 100755 index f9632d2f..00000000 --- a/minetestforfun_game/mods/farming/coffee.lua +++ /dev/null @@ -1,132 +0,0 @@ - -local S = farming.intllib - --- coffee -minetest.register_craftitem("farming:coffee_beans", { - description = S("Coffee Beans"), - inventory_image = "farming_coffee_beans.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:coffee_1") - end, -}) - - --- drinking cup -minetest.register_node("farming:drinking_cup", { - description = S("Drinking Cup (empty)"), - drawtype = "plantlike", - tiles = {"vessels_drinking_cup.png"}, - inventory_image = "vessels_drinking_cup.png", - wield_image = "vessels_drinking_cup.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25} - }, - groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_craft( { - output = "farming:drinking_cup 5", - recipe = { - { "default:glass", "", "default:glass" }, - {"", "default:glass",""}, - } -}) - --- cold cup of coffee -minetest.register_node("farming:coffee_cup", { - description = S("Cold Cup of Coffee"), - drawtype = "plantlike", - tiles = {"farming_coffee_cup.png"}, - inventory_image = "farming_coffee_cup.png", - wield_image = "farming_coffee_cup.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25} - }, - groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, - on_use = minetest.item_eat(2, "farming:drinking_cup"), - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_craft( { - output = "farming:coffee_cup", - recipe = { - {"farming:drinking_cup", "farming:coffee_beans","bucket:bucket_water"}, - }, - replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}} -}) - -minetest.register_craft({ - type = "cooking", - cooktime = 5, - output = "farming:coffee_cup_hot", - recipe = "farming:coffee_cup" -}) - --- hot cup of coffee -minetest.register_node("farming:coffee_cup_hot", { - description = S("Hot Cup of Coffee"), - drawtype = "plantlike", - tiles = {"farming_coffee_cup_hot.png"}, - inventory_image = "farming_coffee_cup_hot.png", - wield_image = "farming_coffee_cup_hot.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25} - }, - groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, - on_use = minetest.item_eat(3, "farming:drinking_cup"), - sounds = default.node_sound_glass_defaults(), -}) - --- coffee definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_coffee_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:coffee_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_coffee_2.png"} -minetest.register_node("farming:coffee_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_coffee_3.png"} -minetest.register_node("farming:coffee_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_coffee_4.png"} -minetest.register_node("farming:coffee_4", table.copy(crop_def)) - --- stage 5 (final) -crop_def.tiles = {"farming_coffee_5.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:coffee_beans 2'}, rarity = 1}, - {items = {'farming:coffee_beans 2'}, rarity = 2}, - {items = {'farming:coffee_beans 2'}, rarity = 3}, - } -} -minetest.register_node("farming:coffee_5", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/compatibility.lua b/minetestforfun_game/mods/farming/compatibility.lua deleted file mode 100755 index a5a70999..00000000 --- a/minetestforfun_game/mods/farming/compatibility.lua +++ /dev/null @@ -1,101 +0,0 @@ --- is Ethereal mod installed? -local eth = minetest.get_modpath("ethereal") or nil - --- Banana -if eth then - minetest.register_alias("farming_plus:banana_sapling", "ethereal:banana_tree_sapling") - minetest.register_alias("farming_plus:banana_leaves", "ethereal:bananaleaves") - minetest.register_alias("farming_plus:banana", "ethereal:banana") -else - minetest.register_alias("farming_plus:banana_sapling", "default:sapling") - minetest.register_alias("farming_plus:banana_leaves", "default:leaves") - minetest.register_alias("farming_plus:banana", "default:apple") -end - --- Carrot -minetest.register_alias("farming_plus:carrot_seed", "farming:carrot") -minetest.register_alias("farming_plus:carrot_1", "farming:carrot_1") -minetest.register_alias("farming_plus:carrot_2", "farming:carrot_4") -minetest.register_alias("farming_plus:carrot_3", "farming:carrot_6") -minetest.register_alias("farming_plus:carrot", "farming:carrot_8") - --- Cocoa - -minetest.register_alias("farming_plus:cocoa_sapling", "farming:cocoa_beans") -minetest.register_alias("farming_plus:cocoa_leaves", "default:leaves") -minetest.register_alias("farming_plus:cocoa", "default:apple") -minetest.register_alias("farming_plus:cocoa_bean", "farming:cocoa_beans") - --- Orange -minetest.register_alias("farming_plus:orange_1", "farming:tomato_1") -minetest.register_alias("farming_plus:orange_2", "farming:tomato_4") -minetest.register_alias("farming_plus:orange_3", "farming:tomato_6") -minetest.register_alias("farming_plus:orange", "farming:tomato_8") - -if eth then - minetest.register_alias("farming_plus:orange_item", "ethereal:orange") - minetest.register_alias("farming_plus:orange_seed", "ethereal:orange_tree_sapling") -else - minetest.register_alias("farming_plus:orange_item", "default:apple") - minetest.register_alias("farming_plus:orange_seed", "default:sapling") -end - --- Potato -minetest.register_alias("farming_plus:potato_item", "farming:potato") -minetest.register_alias("farming_plus:potato_1", "farming:potato_1") -minetest.register_alias("farming_plus:potato_2", "farming:potato_2") -minetest.register_alias("farming_plus:potato", "farming:potato_3") -minetest.register_alias("farming_plus:potato_seed", "farming:potato") - --- Pumpkin -minetest.register_alias("farming:pumpkin_seed", "farming:pumpkin_slice") -minetest.register_alias("farming:pumpkin_face", "farming:pumpkin") -minetest.register_alias("farming:pumpkin_face_light", "farming:jackolantern") -minetest.register_alias("farming:big_pumpkin", "farming:pumpkin") -minetest.register_alias("farming:big_pumpkin_side", "air") -minetest.register_alias("farming:big_pumpkin_corner", "air") -minetest.register_alias("farming:big_pumpkin_top", "air") -minetest.register_alias("farming:scarecrow", "farming:pumpkin") -minetest.register_alias("farming:scarecrow_bottom", "default:fence_wood") -minetest.register_alias("farming:scarecrow_light", "farming:jackolantern") -minetest.register_alias("farming:pumpkin_flour", "farming:pumpkin_dough") - --- Rhubarb -minetest.register_alias("farming_plus:rhubarb_seed", "farming:rhubarb") -minetest.register_alias("farming_plus:rhubarb_1", "farming:rhubarb_1") -minetest.register_alias("farming_plus:rhubarb_2", "farming:rhubarb_2") -minetest.register_alias("farming_plus:rhubarb", "farming:rhubarb_3") -minetest.register_alias("farming_plus:rhubarb_item", "farming:rhubarb") - --- Strawberry -if eth then - minetest.register_alias("farming_plus:strawberry_item", "ethereal:strawberry") - minetest.register_alias("farming_plus:strawberry_seed", "ethereal:strawberry") - minetest.register_alias("farming_plus:strawberry_1", "ethereal:strawberry_1") - minetest.register_alias("farming_plus:strawberry_2", "ethereal:strawberry_3") - minetest.register_alias("farming_plus:strawberry_3", "ethereal:strawberry_5") - minetest.register_alias("farming_plus:strawberry", "ethereal:strawberry_7") -else - minetest.register_alias("farming_plus:strawberry_item", "farming:raspberries") - minetest.register_alias("farming_plus:strawberry_seed", "farming:raspberries") - minetest.register_alias("farming_plus:strawberry_1", "farming:raspberry_1") - minetest.register_alias("farming_plus:strawberry_2", "farming:raspberry_2") - minetest.register_alias("farming_plus:strawberry_3", "farming:raspberry_3") - minetest.register_alias("farming_plus:strawberry", "farming:raspberry_4") - -end - --- Tomato -minetest.register_alias("farming_plus:tomato_seed", "farming:tomato") -minetest.register_alias("farming_plus:tomato_item", "farming:tomato") -minetest.register_alias("farming_plus:tomato_1", "farming:tomato_2") -minetest.register_alias("farming_plus:tomato_2", "farming:tomato_4") -minetest.register_alias("farming_plus:tomato_3", "farming:tomato_6") -minetest.register_alias("farming_plus:tomato", "farming:tomato_8") - --- Weed -minetest.register_alias("farming:weed", "default:grass_2") - --- Moreores -minetest.register_alias("moreores:hoe_silver", "farming:hoe_silver") -minetest.register_alias("moreores:hoe_mithril", "farming:hoe_mithril") diff --git a/minetestforfun_game/mods/farming/corn.lua b/minetestforfun_game/mods/farming/corn.lua deleted file mode 100755 index f178a48d..00000000 --- a/minetestforfun_game/mods/farming/corn.lua +++ /dev/null @@ -1,116 +0,0 @@ - ---[[ - Original textures from GeMinecraft - http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/1440575-1-2-5-generation-minecraft-beta-1-2-farming-and -]] - -local S = farming.intllib - --- corn -minetest.register_craftitem("farming:corn", { - description = S("Corn"), - inventory_image = "farming_corn.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:corn_1") - end, - on_use = minetest.item_eat(3), -}) - --- corn on the cob (texture by TenPlus1) -minetest.register_craftitem("farming:corn_cob", { - description = S("Corn on the Cob"), - inventory_image = "farming_corn_cob.png", - on_use = minetest.item_eat(5), -}) - -minetest.register_craft({ - type = "cooking", - cooktime = 10, - output = "farming:corn_cob", - recipe = "farming:corn" -}) - --- ethanol (thanks to JKMurray for this idea) -minetest.register_craftitem("farming:bottle_ethanol", { - description = S("Bottle of Ethanol"), - inventory_image = "farming_bottle_ethanol.png", -}) - -minetest.register_craft( { - output = "farming:bottle_ethanol", - recipe = { - { "vessels:glass_bottle", "farming:corn", "farming:corn"}, - { "farming:corn", "farming:corn", "farming:corn"}, - } -}) - -minetest.register_craft({ - type = "fuel", - recipe = "farming:bottle_ethanol", - burntime = 240, - replacements = {{ "farming:bottle_ethanol", "vessels:glass_bottle"}} -}) - --- corn definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_corn_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:corn_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_corn_2.png"} -minetest.register_node("farming:corn_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_corn_3.png"} -minetest.register_node("farming:corn_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_corn_4.png"} -minetest.register_node("farming:corn_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_corn_5.png"} -minetest.register_node("farming:corn_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_corn_6.png"} -crop_def.visual_scale = 1.45 -minetest.register_node("farming:corn_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_corn_7.png"} -crop_def.drop = { - items = { - {items = {'farming:corn'}, rarity = 1}, - {items = {'farming:corn'}, rarity = 2}, - {items = {'farming:corn'}, rarity = 3}, - } -} -minetest.register_node("farming:corn_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_corn_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:corn 2'}, rarity = 1}, - {items = {'farming:corn 2'}, rarity = 2}, - {items = {'farming:corn 2'}, rarity = 2}, - } -} -minetest.register_node("farming:corn_8", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/cotton.lua b/minetestforfun_game/mods/farming/cotton.lua deleted file mode 100755 index eef64258..00000000 --- a/minetestforfun_game/mods/farming/cotton.lua +++ /dev/null @@ -1,123 +0,0 @@ - -local S = farming.intllib - --- cotton seeds -minetest.register_node("farming:seed_cotton", { - description = S("Cotton Seed"), - tiles = {"farming_cotton_seed.png"}, - inventory_image = "farming_cotton_seed.png", - wield_image = "farming_cotton_seed.png", - drawtype = "signlike", - groups = {seed = 1, snappy = 3, attached_node = 1}, - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = farming.select, - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") - end, -}) - --- cotton / string - -minetest.register_craftitem("farming:cotton", { - description = S("Cotton"), - inventory_image = "farming_cotton.png", -}) - -minetest.register_alias("farming:string", "farming:cotton") - --- cotton to wool -minetest.register_craft({ - output = "wool:white", - recipe = { - {"farming:string", "farming:string"}, - {"farming:string", "farming:string"}, - } -}) - --- cotton definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_cotton_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:cotton_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_cotton_2.png"} -minetest.register_node("farming:cotton_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_cotton_3.png"} -minetest.register_node("farming:cotton_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_cotton_4.png"} -minetest.register_node("farming:cotton_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_cotton_5.png"} -crop_def.drop = { - items = { - {items = {"farming:seed_cotton"}, rarity = 1}, - } -} -minetest.register_node("farming:cotton_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_cotton_6.png"} -crop_def.drop = { - items = { - {items = {"farming:cotton"}, rarity = 1}, - {items = {"farming:cotton"}, rarity = 2}, - } -} -minetest.register_node("farming:cotton_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_cotton_7.png"} -crop_def.drop = { - items = { - {items = {"farming:cotton"}, rarity = 1}, - {items = {"farming:cotton"}, rarity = 2}, - {items = {"farming:seed_cotton"}, rarity = 1}, - {items = {"farming:seed_cotton"}, rarity = 2}, - } -} -minetest.register_node("farming:cotton_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_cotton_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {"farming:string"}, rarity = 1}, - {items = {"farming:string"}, rarity = 2}, - {items = {"farming:string"}, rarity = 3}, - {items = {"farming:seed_cotton"}, rarity = 1}, - {items = {"farming:seed_cotton"}, rarity = 2}, - {items = {"farming:seed_cotton"}, rarity = 3}, - } -} -minetest.register_node("farming:cotton_8", table.copy(crop_def)) - ---[[ Cotton (example, is already registered in cotton.lua) -farming.register_plant("farming:cotton", { - description = "Cotton seed", - inventory_image = "farming_cotton_seed.png", - steps = 8, -})]] diff --git a/minetestforfun_game/mods/farming/cucumber.lua b/minetestforfun_game/mods/farming/cucumber.lua deleted file mode 100755 index 8e292154..00000000 --- a/minetestforfun_game/mods/farming/cucumber.lua +++ /dev/null @@ -1,55 +0,0 @@ - ---[[ - Original textures from DocFarming mod - https://forum.minetest.net/viewtopic.php?id=3948 -]] - -local S = farming.intllib - --- cucumber -minetest.register_craftitem("farming:cucumber", { - description = S("Cucumber"), - inventory_image = "farming_cucumber.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:cucumber_1") - end, - on_use = minetest.item_eat(4), -}) - --- cucumber definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_cucumber_1.png"}, - paramtype = "light", - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:cucumber_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_cucumber_2.png"} -minetest.register_node("farming:cucumber_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_cucumber_3.png"} -minetest.register_node("farming:cucumber_3", table.copy(crop_def)) - --- stage 4 (final) -crop_def.tiles = {"farming_cucumber_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:cucumber'}, rarity = 1}, - {items = {'farming:cucumber 2'}, rarity = 2}, - } -} -minetest.register_node("farming:cucumber_4", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/depends.txt b/minetestforfun_game/mods/farming/depends.txt deleted file mode 100755 index 8c4c21f4..00000000 --- a/minetestforfun_game/mods/farming/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -wool -intllib? diff --git a/minetestforfun_game/mods/farming/description.txt b/minetestforfun_game/mods/farming/description.txt deleted file mode 100644 index 58bdc810..00000000 --- a/minetestforfun_game/mods/farming/description.txt +++ /dev/null @@ -1 +0,0 @@ -Adds many plants and food to Minetest \ No newline at end of file diff --git a/minetestforfun_game/mods/farming/donut.lua b/minetestforfun_game/mods/farming/donut.lua deleted file mode 100755 index 68aeb8e7..00000000 --- a/minetestforfun_game/mods/farming/donut.lua +++ /dev/null @@ -1,48 +0,0 @@ - -local S = farming.intllib - --- Donut (thanks to Bockwurst for making the donut images) -minetest.register_craftitem("farming:donut", { - description = S("Donut"), - inventory_image = "farming_donut.png", - on_use = minetest.item_eat(4), -}) - -minetest.register_craft({ - output = "farming:donut 3", - recipe = { - {'', 'farming:wheat', ''}, - {'farming:wheat', '', 'farming:wheat'}, - {'', 'farming:wheat', ''}, - } -}) - --- Chocolate Donut -minetest.register_craftitem("farming:donut_chocolate", { - description = S("Chocolate Donut"), - inventory_image = "farming_donut_chocolate.png", - on_use = minetest.item_eat(6), -}) - -minetest.register_craft({ - output = "farming:donut_chocolate", - recipe = { - {'farming:cocoa_beans'}, - {'farming:donut'}, - } -}) - --- Apple Donut -minetest.register_craftitem("farming:donut_apple", { - description = S("Apple Donut"), - inventory_image = "farming_donut_apple.png", - on_use = minetest.item_eat(6), -}) - -minetest.register_craft({ - output = "farming:donut_apple", - recipe = { - {'default:apple'}, - {'farming:donut'}, - } -}) diff --git a/minetestforfun_game/mods/farming/grapes.lua b/minetestforfun_game/mods/farming/grapes.lua deleted file mode 100755 index c62b0843..00000000 --- a/minetestforfun_game/mods/farming/grapes.lua +++ /dev/null @@ -1,202 +0,0 @@ - -local S = farming.intllib - --- grapes -minetest.register_craftitem("farming:grapes", { - description = S("Grapes"), - inventory_image = "farming_grapes.png", - on_use = minetest.item_eat(2), - - on_place = function(itemstack, placer, pointed_thing) - - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - return - end - - local nodename = minetest.get_node(pointed_thing.under).name - - if nodename == "farming:trellis" then - minetest.set_node(pointed_thing.under, {name = "farming:grapes_1"}) - - minetest.sound_play("default_place_node", {pos = pointed_thing.above, gain = 1.0}) - else - return - end - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 then - - minetest.after(0.20, - farming.refill_plant, - placer, - "farming:grapes", - placer:get_wield_index() - ) - end - end - - return itemstack - end -}) - --- grapes can be used for violet dye -minetest.register_craft({ - output = "dye:violet", - recipe = { - {'farming:grapes'}, - } -}) - --- trellis -minetest.register_node("farming:trellis", { - description = S("Trellis (place on soil before planting grapes)"), - drawtype = "plantlike", - tiles = {"farming_trellis.png"}, - inventory_image = "farming_trellis.png", - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = "farming:trellis", - selection_box = farming.select, - groups = {snappy = 3, flammable = 2, attached_node = 1}, - sounds = default.node_sound_leaves_defaults(), - - on_place = function(itemstack, placer, pointed_thing) - local top = { - x = pointed_thing.above.x, - y = pointed_thing.above.y + 1, - z = pointed_thing.above.z - } - if minetest.is_protected(pointed_thing.above, placer:get_player_name()) - or minetest.is_protected(top, placer:get_player_name()) then -- MFF crabman(18/06/2015) - return - end - - local nodename = minetest.get_node(pointed_thing.under).name - - if minetest.get_item_group(nodename, "soil") < 2 then - return - end - - nodename = minetest.get_node(top).name - - if nodename ~= "air" then - return - end - - minetest.set_node(pointed_thing.above, {name = "farming:trellis"}) - - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - - return itemstack - end -}) - -minetest.register_craft({ - output = "farming:trellis", - recipe = { - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', '', 'default:stick'}, - } -}) - -minetest.register_craft({ - type = "fuel", - recipe = "farming:trellis", - burntime = 15, -}) - --- grapes definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_grapes_1.png"}, - visual_scale = 1.45, - paramtype = "light", - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:trellis'}, rarity = 1}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 3, not_in_creative_inventory = 1, - attached_node = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:grapes_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_grapes_2.png"} -minetest.register_node("farming:grapes_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_grapes_3.png"} -minetest.register_node("farming:grapes_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_grapes_4.png"} -minetest.register_node("farming:grapes_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_grapes_5.png"} -minetest.register_node("farming:grapes_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_grapes_6.png"} -minetest.register_node("farming:grapes_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_grapes_7.png"} -minetest.register_node("farming:grapes_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_grapes_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:trellis'}, rarity = 1}, - {items = {'farming:grapes 3'}, rarity = 1}, - {items = {'farming:grapes 1'}, rarity = 2}, - {items = {'farming:grapes 1'}, rarity = 3}, - } -} -minetest.register_node("farming:grapes_8", table.copy(crop_def)) - --- wild grape vine (this is what you find on the map) -minetest.register_node("farming:grapebush", { - drawtype = "plantlike", - tiles = {"farming_grapebush.png"}, - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - drop = { - items = { - {items = {'farming:grapes 1'}, rarity = 1}, - {items = {'farming:grapes 1'}, rarity = 2}, - {items = {'farming:grapes 1'}, rarity = 3}, - } - }, - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory=1 - }, - sounds = default.node_sound_leaves_defaults(), -}) diff --git a/minetestforfun_game/mods/farming/grass.lua b/minetestforfun_game/mods/farming/grass.lua deleted file mode 100755 index aacb220f..00000000 --- a/minetestforfun_game/mods/farming/grass.lua +++ /dev/null @@ -1,42 +0,0 @@ - -for i = 3, 5 do - - -- Override default grass and have it drop Wheat Seeds - - minetest.override_item("default:grass_" .. i, { - drop = { - max_items = 1, - items = { - {items = {'farming:seed_wheat'}, rarity = 5}, - {items = {'default:grass_1'}}, - } - }, - }) - - -- Override default dry grass and have it drop Barley Seeds - if minetest.registered_nodes["default:dry_grass_1"] then - - minetest.override_item("default:dry_grass_" .. i, { - drop = { - max_items = 1, - items = { - {items = {'farming:seed_barley'}, rarity = 6}, - {items = {'default:dry_grass_1'}}, - } - }, - }) - end - -end - --- Override default Jungle Grass and have it drop Cotton Seeds - -minetest.override_item("default:junglegrass", { - drop = { - max_items = 1, - items = { - {items = {'farming:seed_cotton'}, rarity = 8}, - {items = {'default:junglegrass'}}, - } - }, -}) diff --git a/minetestforfun_game/mods/farming/hoes.lua b/minetestforfun_game/mods/farming/hoes.lua deleted file mode 100755 index 6fece5c5..00000000 --- a/minetestforfun_game/mods/farming/hoes.lua +++ /dev/null @@ -1,181 +0,0 @@ - -local S = farming.intllib - --- Hoe registration function - -farming.register_hoe = function(name, def) - - -- Check for : prefix (register new hoes in your mod's namespace) - if name:sub(1,1) ~= ":" then - name = ":" .. name - end - - -- Check def table - if def.description == nil then - def.description = "Hoe" - end - - if def.inventory_image == nil then - def.inventory_image = "unknown_item.png" - end - - if def.recipe == nil then - def.recipe = { - {"air","air",""}, - {"","group:stick",""}, - {"","group:stick",""} - } - end - - if def.max_uses == nil then - def.max_uses = 30 - end - - -- Register the tool - minetest.register_tool(name, { - description = def.description, - inventory_image = def.inventory_image, - on_use = function(itemstack, user, pointed_thing) - return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses) - end - }) - - -- Register its recipe - if def.material == nil then - minetest.register_craft({ - output = name:sub(2), - recipe = def.recipe - }) - else - minetest.register_craft({ - output = name:sub(2), - recipe = { - {def.material, def.material, ""}, - {"", "group:stick", ""}, - {"", "group:stick", ""} - } - }) - -- Reverse Recipe - minetest.register_craft({ - output = name:sub(2), - recipe = { - {"", def.material, def.material}, - {"", "group:stick", ""}, - {"", "group:stick", ""} - } - }) - end -end - --- Turns dirt with group soil=1 into soil - -function farming.hoe_on_use(itemstack, user, pointed_thing, uses) - - local pt = pointed_thing - - -- check if pointing at a node - if not pt or pt.type ~= "node" then - return - end - - local under = minetest.get_node(pt.under) - local upos = pointed_thing.under - - if minetest.is_protected(upos, user:get_player_name()) then - minetest.record_protection_violation(upos, user:get_player_name()) - return - end - - local p = {x = pt.under.x, y = pt.under.y + 1, z = pt.under.z} - local above = minetest.get_node(p) - - -- return if any of the nodes is not registered - if not minetest.registered_nodes[under.name] - or not minetest.registered_nodes[above.name] then - return - end - - -- check if the node above the pointed thing is air - if above.name ~= "air" then - return - end - - -- check if pointing at dirt - if minetest.get_item_group(under.name, "soil") ~= 1 then - return - end - - -- turn the node into soil, wear out item and play sound - minetest.set_node(pt.under, {name = "farming:soil"}) - - minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5}) - if not minetest.setting_getbool("creative_mode") then --MFF DEBUT crabman(26/07/2015) not wearout if creative mod and invtweak refill break tools - local tool_name = itemstack:get_name() - itemstack:add_wear(65535/(uses-1)) - if itemstack:get_wear() == 0 and minetest.get_modpath("invtweak") then - local index = user:get_wield_index() - minetest.sound_play("invtweak_tool_break", {pos = user:getpos(), gain = 0.9, max_hear_distance = 5}) - minetest.after(0.20, refill, user, tool_name, index) - end - end --MFF FIN - return itemstack -end - --- Define Hoes --- Material fields added for MFF - -farming.register_hoe(":farming:hoe_wood", { - description = S("Wooden Hoe"), - inventory_image = "farming_tool_woodhoe.png", - max_uses = 30, - material = "group:wood" -}) - -farming.register_hoe(":farming:hoe_stone", { - description = S("Stone Hoe"), - inventory_image = "farming_tool_stonehoe.png", - max_uses = 90, - material = "group:stone" -}) - -farming.register_hoe(":farming:hoe_steel", { - description = S("Steel Hoe"), - inventory_image = "farming_tool_steelhoe.png", - max_uses = 200, - material = "default:steel_ingot" -}) - -farming.register_hoe(":farming:hoe_bronze", { - description = S("Bronze Hoe"), - inventory_image = "farming_tool_bronzehoe.png", - max_uses = 220, - material = "default:bronze_ingot" -}) - -farming.register_hoe(":farming:hoe_silver", { - description = S("Silver Hoe"), - inventory_image = "farming_tool_silverhoe.png", - max_uses = 300, - material = "default:silver_ingot" -}) - -farming.register_hoe(":farming:hoe_mese", { - description = S("Mese Hoe"), - inventory_image = "farming_tool_mesehoe.png", - max_uses = 350, - material = "default:mese_crystal" -}) - -farming.register_hoe(":farming:hoe_diamond", { - description = S("Diamond Hoe"), - inventory_image = "farming_tool_diamondhoe.png", - max_uses = 500, - material = "default:diamond" -}) - -farming.register_hoe(":farming:hoe_mithril", { - description = S("Mithril Hoe"), - inventory_image = "farming_tool_mithrilhoe.png", - max_uses = 1000, - material = "default:mithril_ingot" -}) diff --git a/minetestforfun_game/mods/farming/init.lua b/minetestforfun_game/mods/farming/init.lua deleted file mode 100755 index fc55b511..00000000 --- a/minetestforfun_game/mods/farming/init.lua +++ /dev/null @@ -1,708 +0,0 @@ ---[[ - Minetest Farming Redo Mod 1.22 (4th June 2016) - by TenPlus1 - NEW growing routine by prestidigitator - auto-refill by crabman77 -]] - -farming = {} -farming.mod = "redo" -farming.path = minetest.get_modpath("farming") -farming.hoe_on_use = default.hoe_on_use -farming.select = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5} -} - -farming.DEBUG = false --- farming.DEBUG = {} -- Uncomment to turn on profiling code/functions - -local DEBUG_abm_runs = 0 -local DEBUG_abm_time = 0 -local DEBUG_timer_runs = 0 -local DEBUG_timer_time = 0 - -if farming.DEBUG then - - function farming.DEBUG.reset_times() - DEBUG_abm_runs = 0 - DEBUG_abm_time = 0 - DEBUG_timer_runs = 0 - DEBUG_timer_time = 0 - end - - function farming.DEBUG.report_times() - - local abm_n = DEBUG_abm_runs - local abm_dt = DEBUG_abm_time - local abm_avg = (abm_n > 0 and abm_dt / abm_n) or 0 - local timer_n = DEBUG_timer_runs - local timer_dt = DEBUG_timer_time - local timer_avg = (timer_n > 0 and timer_dt / timer_n) or 0 - local dt = abm_dt + timer_dt - - print("ABM ran for "..abm_dt.."µs over "..abm_n.." runs: "..abm_avg.."µs/run") - print("Timer ran for "..timer_dt.."µs over "..timer_n.." runs: "..timer_avg.."µs/run") - print("Total farming time: "..dt.."µs") - end -end - -local statistics = dofile(farming.path.."/statistics.lua") - --- Intllib - -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() -else - S = function(s) return s end -end -farming.intllib = S - --- Utility Functions - -local time_speed = tonumber(minetest.setting_get("time_speed")) or 72 -local SECS_PER_CYCLE = (time_speed > 0 and 24 * 60 * 60 / time_speed) or 0 - -local function clamp(x, min, max) - return (x < min and min) or (x > max and max) or x -end - -local function in_range(x, min, max) - return min <= x and x <= max -end - ---- Tests the amount of day or night time between two times. - -- - -- @param t_game - -- The current time, as reported by mintest.get_gametime(). - -- @param t_day - -- The current time, as reported by mintest.get_timeofday(). - -- @param dt - -- The amount of elapsed time. - -- @param count_day - -- If true, count elapsed day time. Otherwise, count elapsed night time. - -- @return - -- The amount of day or night time that has elapsed. - -local function day_or_night_time(t_game, t_day, dt, count_day) - - local t1_day = t_day - dt / SECS_PER_CYCLE - local t1_c, t2_c -- t1_c < t2_c and t2_c always in [0, 1) - - if count_day then - - if t_day < 0.25 then - t1_c = t1_day + 0.75 -- Relative to sunup, yesterday - t2_c = t_day + 0.75 - else - t1_c = t1_day - 0.25 -- Relative to sunup, today - t2_c = t_day - 0.25 - end - else - if t_day < 0.75 then - t1_c = t1_day + 0.25 -- Relative to sundown, yesterday - t2_c = t_day + 0.25 - else - t1_c = t1_day - 0.75 -- Relative to sundown, today - t2_c = t_day - 0.75 - end - end - - local dt_c = clamp(t2_c, 0, 0.5) - clamp(t1_c, 0, 0.5) -- this cycle - - if t1_c < -0.5 then - local nc = math.floor(-t1_c) - t1_c = t1_c + nc - dt_c = dt_c + 0.5 * nc + clamp(-t1_c - 0.5, 0, 0.5) - end - - return dt_c * SECS_PER_CYCLE -end - ---- Tests the amount of elapsed day time. - -- - -- @param dt - -- The amount of elapsed time. - -- @return - -- The amount of day time that has elapsed. - -- -local function day_time(dt) - return day_or_night_time(minetest.get_gametime(), minetest.get_timeofday(), dt, true) -end - ---- Tests the amount of elapsed night time. - -- - -- @param dt - -- The amount of elapsed time. - -- @return - -- The amount of night time that has elapsed. - -- -local function night_time(time_game, time_day, dt, count_day) - return day_or_night_time(minetest.get_gametime(), minetest.get_timeofday(), dt, false) -end - - --- Growth Logic - -local STAGE_LENGTH_AVG = 160.0 -local STAGE_LENGTH_DEV = STAGE_LENGTH_AVG / 6 -local MIN_LIGHT = 11 -- /MFF (Mg|06/04/15 8:21PM--See #82) -local MAX_LIGHT = 1000 - ---- Determines plant name and stage from node. - -- - -- Separates node name on the last underscore (_). - -- - -- @param node - -- Node or position table, or node name. - -- @return - -- List (plant_name, stage), or nothing (nil) if node isn't loaded - -local function plant_name_stage(node) - - local name - - if type(node) == 'table' then - - if node.name then - name = node.name - elseif node.x and node.y and node.z then - node = minetest.get_node_or_nil(node) - name = node and node.name - end - else - name = tostring(node) - end - - if not name or name == "ignore" then - return nil - end - - local sep_pos = name:find("_[^_]+$") - - if sep_pos and sep_pos > 1 then - - local stage = tonumber(name:sub(sep_pos + 1)) - - if stage and stage >= 0 then - return name:sub(1, sep_pos - 1), stage - end - end - - return name, 0 -end - --- Map from node name to --- { plant_name = ..., name = ..., stage = n, stages_left = { node_name, ... } } - -local plant_stages = {} - -farming.plant_stages = plant_stages - ---- Registers the stages of growth of a (possible plant) node. - -- - -- @param node - -- Node or position table, or node name. - -- @return - -- The (possibly zero) number of stages of growth the plant will go through - -- before being fully grown, or nil if not a plant. - -local register_plant_node - --- Recursive helper -local function reg_plant_stages(plant_name, stage, force_last) - - local node_name = plant_name and plant_name .. "_" .. stage - local node_def = node_name and minetest.registered_nodes[node_name] - - if not node_def then - return nil - end - - local stages = plant_stages[node_name] - - if stages then - return stages - end - - if minetest.get_item_group(node_name, "growing") > 0 then - - local ns = reg_plant_stages(plant_name, stage + 1, true) - local stages_left = (ns and { ns.name, unpack(ns.stages_left) }) or {} - - stages = { - plant_name = plant_name, - name = node_name, - stage = stage, - stages_left = stages_left - } - - if #stages_left > 0 then - - local old_constr = node_def.on_construct - local old_destr = node_def.on_destruct - - minetest.override_item(node_name, - { - on_construct = function(pos) - - if old_constr then - old_constr(pos) - end - - farming.handle_growth(pos) - end, - - on_destruct = function(pos) - - minetest.get_node_timer(pos):stop() - - if old_destr then - old_destr(pos) - end - end, - - on_timer = function(pos, elapsed) - return farming.plant_growth_timer(pos, elapsed, node_name) - end, - }) - end - - elseif force_last then - - stages = { - plant_name = plant_name, - name = node_name, - stage = stage, - stages_left = {} - } - else - return nil - end - - plant_stages[node_name] = stages - - return stages -end - -register_plant_node = function(node) - - local plant_name, stage = plant_name_stage(node) - - if plant_name then - - local stages = reg_plant_stages(plant_name, stage, false) - return stages and #stages.stages_left - else - return nil - end -end - -local function set_growing(pos, stages_left) - - if not stages_left then - return - end - - local timer = minetest.get_node_timer(pos) - - if stages_left > 0 then - - if not timer:is_started() then - - local stage_length = statistics.normal(STAGE_LENGTH_AVG, STAGE_LENGTH_DEV) - - stage_length = clamp(stage_length, 0.5 * STAGE_LENGTH_AVG, 3.0 * STAGE_LENGTH_AVG) - - timer:set(stage_length, -0.5 * math.random() * STAGE_LENGTH_AVG) - end - - elseif timer:is_started() then - timer:stop() - end -end - --- Detects a plant type node at the given position, starting --- or stopping the plant growth timer as appopriate - --- @param pos --- The node's position. --- @param node --- The cached node table if available, or nil. - -function farming.handle_growth(pos, node) - - if not pos then - return - end - - local stages_left = register_plant_node(node or pos) - - if stages_left then - set_growing(pos, stages_left) - end -end - -minetest.after(0, function() - - for _, node_def in pairs(minetest.registered_nodes) do - register_plant_node(node_def) - end -end) - -local abm_func = farming.handle_growth - -if farming.DEBUG then - - local normal_abm_func = abm_func - - abm_func = function(...) - - local t0 = minetest.get_us_time() - local r = { normal_abm_func(...) } - local t1 = minetest.get_us_time() - - DEBUG_abm_runs = DEBUG_abm_runs + 1 - DEBUG_abm_time = DEBUG_abm_time + (t1 - t0) - - return unpack(r) - end -end - --- Just in case a growing type or added node is missed (also catches existing --- nodes added to map before timers were incorporated). - -minetest.register_abm({ - nodenames = { "group:growing" }, - interval = 300, - chance = 1, - action = abm_func -}) - --- Plant timer function. --- Grows plants under the right conditions. - -function farming.plant_growth_timer(pos, elapsed, node_name) - - local stages = plant_stages[node_name] - - if not stages then - return false - end - - local max_growth = #stages.stages_left - - if max_growth <= 0 then - return false - end - - if stages.plant_name == "farming:cocoa" then - - if not minetest.find_node_near(pos, 1, - {"default:jungletree", "moretrees:jungletree_leaves_green"}) then - - return true - end - else - local under = minetest.get_node({ x = pos.x, y = pos.y - 1, z = pos.z }) - - if minetest.get_item_group(under.name, "soil") < 3 then - return true - end - end - - local growth - local light_pos = {x = pos.x, y = pos.y + 1, z = pos.z} - local lambda = elapsed / STAGE_LENGTH_AVG - - if lambda < 0.1 then - return true - end - - if max_growth == 1 or lambda < 2.0 then - - local light = (minetest.get_node_light(light_pos) or 0) - --print ("light level:", light) - - if not in_range(light, MIN_LIGHT, MAX_LIGHT) then - return true - end - - growth = 1 - else - local night_light = (minetest.get_node_light(light_pos, 0) or 0) - local day_light = (minetest.get_node_light(light_pos, 0.5) or 0) - local night_growth = in_range(night_light, MIN_LIGHT, MAX_LIGHT) - local day_growth = in_range(day_light, MIN_LIGHT, MAX_LIGHT) - - if not night_growth then - - if not day_growth then - return true - end - - lambda = day_time(elapsed) / STAGE_LENGTH_AVG - - elseif not day_growth then - - lambda = night_time(elapsed) / STAGE_LENGTH_AVG - end - - growth = statistics.poisson(lambda, max_growth) - - if growth < 1 then - return true - end - end - - if minetest.registered_nodes[stages.stages_left[growth]] then - minetest.swap_node(pos, {name = stages.stages_left[growth]}) - else - return true - end - - return growth ~= max_growth -end - -if farming.DEBUG then - - local timer_func = farming.plant_growth_timer; - - farming.plant_growth_timer = function(pos, elapsed, node_name) - - local t0 = minetest.get_us_time() - local r = { timer_func(pos, elapsed, node_name) } - local t1 = minetest.get_us_time() - - DEBUG_timer_runs = DEBUG_timer_runs + 1 - DEBUG_timer_time = DEBUG_timer_time + (t1 - t0) - - return unpack(r) - end -end - --- refill placed plant by crabman (26/08/2015) -local can_refill_plant = { - ["farming:blueberry_1"] = "farming:blueberries", - ["farming:carrot_1"] = "farming:carrot", - ["farming:coffee_1"] = "farming:coffee_beans", - ["farming:corn_1"] = "farming:corn", - ["farming:cotton_1"] = "farming:seed_cotton", - ["farming:cucumber_1"] = "farming:cucumber", - ["farming:melon_1"] = "farming:melon_slice", - ["farming:potato_1"] = "farming:potato", - ["farming:pumpkin_1"] = "farming:pumpkin_slice", - ["farming:raspberry_1"] = "farming:raspberries", - ["farming:rhubarb_1"] = "farming:rhubarb", - ["farming:tomato_1"] = "farming:tomato", - ["farming:wheat_1"] = "farming:seed_wheat", - ["farming:grapes_1"] = "farming:grapes", - ["farming:beans_1"] = "farming:beans", - ["farming:rhubarb_1"] = "farming:rhubarb", - ["farming:cocoa_1"] = "farming:cocoa_beans", - ["farming:barley_1"] = "farming:seed_barley", -} - -function farming.refill_plant(player, plantname, index) - - local inv = player:get_inventory() - local old_stack = inv:get_stack("main", index) - - if old_stack:get_name() ~= "" then - return - end - - for i, stack in pairs(inv:get_list("main")) do - - if stack:get_name() == plantname and i ~= index then - - inv:set_stack("main", index, stack) - stack:clear() - inv:set_stack("main", i, stack) - --minetest.log("action", "farming: refilled stack("..plantname..") of " .. player:get_player_name() ) - return - end - end -end - --- Place Seeds on Soil - -function farming.place_seed(itemstack, placer, pointed_thing, plantname) - - local pt = pointed_thing - - -- check if pointing at a node - if not pt or pt.type ~= "node" then - return - end - - local under = minetest.get_node(pt.under) - local above = minetest.get_node(pt.above) - - -- return if any of the nodes is not registered - if not minetest.registered_nodes[under.name] - or not minetest.registered_nodes[above.name] then - return - end - - -- is there an on_rightclick callback? - if minetest.registered_nodes[under.name].on_rightclick and not placer:get_player_control().sneak then - return minetest.registered_nodes[under.name].on_rightclick(pt.under, under, placer, itemstack, pointed_thing) - end - - -- check if pointing at the top of the node - if pt.above.y ~= pt.under.y + 1 then - return - end - - -- can I replace above node, and am I pointing at soil - if not minetest.registered_nodes[above.name].buildable_to - or minetest.get_item_group(under.name, "soil") < 2 - -- avoid multiple seed placement bug - or minetest.get_item_group(above.name, "plant") ~= 0 then - return - end - - -- if not protected then add node and remove 1 item from the itemstack - if not minetest.is_protected(pt.above, placer:get_player_name()) then - - minetest.set_node(pt.above, {name = plantname, param2 = 1}) - - minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}) - - if not minetest.setting_getbool("creative_mode") then - - itemstack:take_item() - - -- check for refill - if itemstack:get_count() == 0 - and can_refill_plant[plantname] then - - minetest.after(0.10, - farming.refill_plant, - placer, - can_refill_plant[plantname], - placer:get_wield_index() - ) - end - end - - return itemstack - end -end - --- Function to register plants (for compatibility) - -farming.register_plant = function(name, def) - - local mname = name:split(":")[1] - local pname = name:split(":")[2] - - -- Check def table - if not def.description then - def.description = S("Seed") - end - - if not def.inventory_image then - def.inventory_image = "unknown_item.png" - end - - if not def.steps then - return nil - end - - -- Register seed - minetest.register_node(":" .. mname .. ":seed_" .. pname, { - - description = def.description, - tiles = {def.inventory_image}, - inventory_image = def.inventory_image, - wield_image = def.inventory_image, - drawtype = "signlike", - groups = {seed = 1, snappy = 3, attached_node = 1}, - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = farming.select, - - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, mname .. ":"..pname.."_1") - end, - }) - - -- Register harvest - minetest.register_craftitem(":" .. mname .. ":" .. pname, { - description = pname:gsub("^%l", string.upper), - inventory_image = mname .. "_" .. pname .. ".png", - }) - - -- Register growing steps - for i = 1, def.steps do - - local drop = { - items = { - {items = {mname .. ":" .. pname}, rarity = 9 - i}, - {items = {mname .. ":" .. pname}, rarity= 18 - i * 2}, - {items = {mname .. ":seed_" .. pname}, rarity = 9 - i}, - {items = {mname .. ":seed_" .. pname}, rarity = 18 - i * 2}, - } - } - - local g = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, growing = 1} - - -- Last step doesn't need growing=1 so Abm never has to check these - if i == def.steps then - g.growing = 0 - end - - local node_name = mname .. ":" .. pname .. "_" .. i - - minetest.register_node(node_name, { - drawtype = "plantlike", - waving = 1, - tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, - paramtype = "light", - walkable = false, - buildable_to = true, - drop = drop, - selection_box = farming.select, - groups = g, - sounds = default.node_sound_leaves_defaults(), - }) - --- register_plant_node(node_name) - end - - -- Return info - local r = {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname} - return r -end - --- load crops - -dofile(farming.path.."/soil.lua") -dofile(farming.path.."/hoes.lua") -dofile(farming.path.."/grass.lua") -dofile(farming.path.."/wheat.lua") -dofile(farming.path.."/cotton.lua") -dofile(farming.path.."/carrot.lua") -dofile(farming.path.."/potato.lua") -dofile(farming.path.."/tomato.lua") -dofile(farming.path.."/cucumber.lua") -dofile(farming.path.."/corn.lua") -dofile(farming.path.."/coffee.lua") -dofile(farming.path.."/melon.lua") -dofile(farming.path.."/sugar.lua") -dofile(farming.path.."/pumpkin.lua") -dofile(farming.path.."/cocoa.lua") -dofile(farming.path.."/raspberry.lua") -dofile(farming.path.."/blueberry.lua") -dofile(farming.path.."/rhubarb.lua") -dofile(farming.path.."/beanpole.lua") -dofile(farming.path.."/grapes.lua") -dofile(farming.path.."/barley.lua") -dofile(farming.path.."/donut.lua") -dofile(farming.path.."/mapgen.lua") -dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility diff --git a/minetestforfun_game/mods/farming/init.lua_orig b/minetestforfun_game/mods/farming/init.lua_orig deleted file mode 100755 index aee9976f..00000000 --- a/minetestforfun_game/mods/farming/init.lua_orig +++ /dev/null @@ -1,192 +0,0 @@ ---[[ - Minetest Farming Redo Mod 1.14 (11th May 2015) - by TenPlus1 -]] - -farming = {} -farming.mod = "redo" -farming.path = minetest.get_modpath("farming") -farming.hoe_on_use = default.hoe_on_use - -dofile(farming.path.."/soil.lua") -dofile(farming.path.."/hoes.lua") -dofile(farming.path.."/grass.lua") -dofile(farming.path.."/wheat.lua") -dofile(farming.path.."/cotton.lua") -dofile(farming.path.."/carrot.lua") -dofile(farming.path.."/potato.lua") -dofile(farming.path.."/tomato.lua") -dofile(farming.path.."/cucumber.lua") -dofile(farming.path.."/corn.lua") -dofile(farming.path.."/coffee.lua") -dofile(farming.path.."/melon.lua") -dofile(farming.path.."/sugar.lua") -dofile(farming.path.."/pumpkin.lua") -dofile(farming.path.."/cocoa.lua") -dofile(farming.path.."/raspberry.lua") -dofile(farming.path.."/blueberry.lua") -dofile(farming.path.."/rhubarb.lua") -dofile(farming.path.."/beanpole.lua") -dofile(farming.path.."/donut.lua") -dofile(farming.path.."/mapgen.lua") -dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility - --- Place Seeds on Soil - -function farming.place_seed(itemstack, placer, pointed_thing, plantname) - local pt = pointed_thing - - -- check if pointing at a node - if not pt and pt.type ~= "node" then - return - end - - local under = minetest.get_node(pt.under) - local above = minetest.get_node(pt.above) - - -- check if pointing at the top of the node - if pt.above.y ~= pt.under.y+1 then - return - end - - -- return if any of the nodes is not registered - if not minetest.registered_nodes[under.name] - or not minetest.registered_nodes[above.name] then - return - end - - -- can I replace above node, and am I pointing at soil - if not minetest.registered_nodes[above.name].buildable_to - or minetest.get_item_group(under.name, "soil") < 2 - or minetest.get_item_group(above.name, "plant") ~= 0 then -- ADDED this line for multiple seed placement bug - return - end - - -- add the node and remove 1 item from the itemstack - if not minetest.is_protected(pt.above, placer:get_player_name()) then - minetest.add_node(pt.above, {name=plantname}) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack - end -end - --- Single ABM Handles Growing of All Plants - -minetest.register_abm({ - nodenames = {"group:growing"}, - neighbors = {"farming:soil_wet", "default:jungletree"}, - interval = 80, - chance = 2, - - action = function(pos, node) - - -- split plant name (e.g. farming:wheat_1) - local plant = node.name:split("_")[1].."_" - local numb = node.name:split("_")[2] - - -- fully grown ? - if not minetest.registered_nodes[plant..(numb + 1)] then return end - - -- cocoa pod on jungle tree ? - if plant ~= "farming:cocoa_" then - - -- growing on wet soil ? - if minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name ~= "farming:soil_wet" then return end - end - - -- enough light ? - if minetest.get_node_light(pos) < 13 then return end - - -- grow - minetest.set_node(pos, {name=plant..(numb + 1)}) - - end -}) - --- Function to register plants (for compatibility) - -farming.register_plant = function(name, def) - local mname = name:split(":")[1] - local pname = name:split(":")[2] - - -- Check def table - if not def.description then - def.description = "Seed" - end - if not def.inventory_image then - def.inventory_image = "unknown_item.png" - end - if not def.steps then - return nil - end - - -- Register seed - minetest.register_node(":" .. mname .. ":seed_" .. pname, { - description = def.description, - tiles = {def.inventory_image}, - inventory_image = def.inventory_image, - wield_image = def.inventory_image, - drawtype = "signlike", - groups = {seed = 1, snappy = 3, attached_node = 1}, - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, mname .. ":"..pname.."_1") - end - }) - - -- Register harvest - minetest.register_craftitem(":" .. mname .. ":" .. pname, { - description = pname:gsub("^%l", string.upper), - inventory_image = mname .. "_" .. pname .. ".png", - }) - - -- Register growing steps - for i=1,def.steps do - local drop = { - items = { - {items = {mname .. ":" .. pname}, rarity = 9 - i}, - {items = {mname .. ":" .. pname}, rarity= 18 - i * 2}, - {items = {mname .. ":seed_" .. pname}, rarity = 9 - i}, - {items = {mname .. ":seed_" .. pname}, rarity = 18 - i * 2}, - } - } - - local g = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, growing = 1} - -- Last step doesn't need growing=1 so Abm never has to check these - if i == def.steps then - g = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1} - end - - minetest.register_node(mname .. ":" .. pname .. "_" .. i, { - drawtype = "plantlike", - waving = 1, - tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, - paramtype = "light", - walkable = false, - buildable_to = true, - is_ground_content = true, - drop = drop, - selection_box = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},}, - groups = g, - sounds = default.node_sound_leaves_defaults(), - }) - end - - -- Return info - local r = {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname} - return r -end - ---[[ Cotton (example, is already registered in cotton.lua) -farming.register_plant("farming:cotton", { - description = "Cotton seed", - inventory_image = "farming_cotton_seed.png", - steps = 8, -}) ---]] diff --git a/minetestforfun_game/mods/farming/license.txt b/minetestforfun_game/mods/farming/license.txt deleted file mode 100755 index 5d30c149..00000000 --- a/minetestforfun_game/mods/farming/license.txt +++ /dev/null @@ -1,14 +0,0 @@ - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. \ No newline at end of file diff --git a/minetestforfun_game/mods/farming/mapgen.lua b/minetestforfun_game/mods/farming/mapgen.lua deleted file mode 100755 index dcd51a33..00000000 --- a/minetestforfun_game/mods/farming/mapgen.lua +++ /dev/null @@ -1,63 +0,0 @@ --- decoration function -local function register_plant(name, min, max, spawnby, num) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.006, - spread = {x = 100, y = 100, z = 100}, - seed = 329, - octaves = 3, - persist = 0.6 - }, - y_min = min, - y_max = max, - decoration = "farming:" .. name, - spawn_by = spawnby, - num_spawn_by = num, - }) -end - -function farming.register_mgv6_decorations() - register_plant("potato_3", 15, 40, "", -1) - register_plant("tomato_7", 5, 20, "", -1) - register_plant("carrot_8", 1, 30, "group:water", 1) - register_plant("cucumber_4", 1, 20, "group:water", 1) - register_plant("corn_7", 12, 22, "", -1) - register_plant("corn_8", 10, 20, "", -1) - register_plant("coffee_5", 20, 45, "", -1) - register_plant("melon_8", 1, 20, "group:water", 1) - register_plant("pumpkin_8", 1, 20, "group:water", 1) - register_plant("raspberry_4", 3, 10, "", -1) - register_plant("rhubarb_3", 3, 15, "", -1) - register_plant("blueberry_4", 3, 10, "", -1) - register_plant("beanbush", 18, 35, "", -1) - register_plant("grapebush", 25, 45, "", -1) -end - --- v7 maps have a beach so plants growing near water is limited to 6 high -function farming.register_mgv7_decorations() - register_plant("potato_3", 15, 40, "", -1) - register_plant("tomato_7", 5, 20, "", -1) - register_plant("carrot_8", 1, 6, "", -1) - register_plant("cucumber_4", 1, 6, "", -1) - register_plant("corn_7", 12, 22, "", -1) - register_plant("corn_8", 10, 20, "", -1) - register_plant("coffee_5", 20, 45, "", -1) - register_plant("melon_8", 1, 6, "", -1) - register_plant("pumpkin_8", 1, 6, "", -1) - register_plant("raspberry_4", 3, 10, "", -1) - register_plant("rhubarb_3", 3, 15, "", -1) - register_plant("blueberry_4", 3, 10, "", -1) - register_plant("beanbush", 18, 35, "", -1) - register_plant("grapebush", 25, 45, "", -1) -end - --- detect mapgen -if minetest.get_mapgen_params().mgname == "v6" then - farming.register_mgv6_decorations() -else - farming.register_mgv7_decorations() -end \ No newline at end of file diff --git a/minetestforfun_game/mods/farming/melon.lua b/minetestforfun_game/mods/farming/melon.lua deleted file mode 100755 index e2f65644..00000000 --- a/minetestforfun_game/mods/farming/melon.lua +++ /dev/null @@ -1,82 +0,0 @@ - -local S = farming.intllib - --- melon -minetest.register_craftitem("farming:melon_slice", { - description = S("Melon Slice"), - inventory_image = "farming_melon_slice.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:melon_1") - end, - on_use = minetest.item_eat(2), -}) - -minetest.register_craft({ - output = "farming:melon_8", - recipe = { - {"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"}, - {"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"}, - {"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"}, - } -}) - -minetest.register_craft({ - output = "farming:melon_slice 9", - recipe = { - {"", "farming:melon_8", ""}, - } -}) - --- melon definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_melon_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:melon_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_melon_2.png"} -minetest.register_node("farming:melon_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_melon_3.png"} -minetest.register_node("farming:melon_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_melon_4.png"} -minetest.register_node("farming:melon_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_melon_5.png"} -minetest.register_node("farming:melon_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_melon_6.png"} -minetest.register_node("farming:melon_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_melon_7.png"} -minetest.register_node("farming:melon_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.drawtype = "nodebox" -crop_def.description = S("Melon") -crop_def.tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png"} -crop_def.selection_box = {-.5, -.5, -.5, .5, .5, .5} -crop_def.walkable = true -crop_def.groups = {snappy = 1, oddly_breakable_by_hand = 1, flammable = 2, plant = 1} -crop_def.drop = "farming:melon_slice 9" -minetest.register_node("farming:melon_8", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/mod.conf b/minetestforfun_game/mods/farming/mod.conf deleted file mode 100644 index 80ab8b0b..00000000 --- a/minetestforfun_game/mods/farming/mod.conf +++ /dev/null @@ -1 +0,0 @@ -name = farming \ No newline at end of file diff --git a/minetestforfun_game/mods/farming/potato.lua b/minetestforfun_game/mods/farming/potato.lua deleted file mode 100755 index be369052..00000000 --- a/minetestforfun_game/mods/farming/potato.lua +++ /dev/null @@ -1,77 +0,0 @@ - ---[[ - Original textures from DocFarming mod - https://forum.minetest.net/viewtopic.php?id=3948 -]] - -local S = farming.intllib - --- potato -minetest.register_craftitem("farming:potato", { - description = S("Potato"), - inventory_image = "farming_potato.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1") - end, - on_use = minetest.item_eat(1), -}) - --- baked potato -minetest.register_craftitem("farming:baked_potato", { - description = S("Baked Potato"), - inventory_image = "farming_baked_potato.png", - on_use = minetest.item_eat(6), -}) - -minetest.register_craft({ - type = "cooking", - cooktime = 10, - output = "farming:baked_potato", - recipe = "farming:potato" -}) - --- potato definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_potato_1.png"}, - paramtype = "light", - sunlight_propagates = true, - waving = 1, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:potato_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_potato_2.png"} -minetest.register_node("farming:potato_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_potato_3.png"} -crop_def.drop = { - items = { - {items = {'farming:potato'}, rarity = 1}, - {items = {'farming:potato'}, rarity = 3}, - } -} -minetest.register_node("farming:potato_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_potato_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:potato 2'}, rarity = 1}, - {items = {'farming:potato 3'}, rarity = 2}, - } -} -minetest.register_node("farming:potato_4", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/pumpkin.lua b/minetestforfun_game/mods/farming/pumpkin.lua deleted file mode 100755 index ebbbd877..00000000 --- a/minetestforfun_game/mods/farming/pumpkin.lua +++ /dev/null @@ -1,181 +0,0 @@ - ---[[ - Big thanks to PainterlyPack.net for allowing me to use these textures -]] - -local S = farming.intllib - --- pumpkin -minetest.register_node("farming:pumpkin", { - description = S("Pumpkin"), - tiles = { - "farming_pumpkin_top.png", - "farming_pumpkin_top.png", - "farming_pumpkin_side.png" - }, - groups = { - choppy = 1, oddly_breakable_by_hand = 1, - flammable = 2, plant = 1 - }, - drop = { - items = { - {items = {'farming:pumpkin_slice 9'}, rarity = 1}, - } - }, - sounds = default.node_sound_wood_defaults(), -}) - --- pumpkin slice -minetest.register_craftitem("farming:pumpkin_slice", { - description = S("Pumpkin Slice"), - inventory_image = "farming_pumpkin_slice.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1") - end, - on_use = minetest.item_eat(2), -}) - -minetest.register_craft({ - output = "farming:pumpkin", - recipe = { - {"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"}, - {"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"}, - {"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"}, - } -}) - -minetest.register_craft({ - output = "farming:pumpkin_slice 9", - recipe = { - {"", "farming:pumpkin", ""}, - } -}) - --- jack 'o lantern -minetest.register_node("farming:jackolantern", { - description = S("Jack 'O Lantern"), - tiles = { - "farming_pumpkin_top.png", - "farming_pumpkin_top.png", - "farming_pumpkin_side.png", - "farming_pumpkin_side.png", - "farming_pumpkin_side.png", - "farming_pumpkin_face_off.png" - }, - paramtype2 = "facedir", - groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - on_punch = function(pos, node, puncher) - node.name = "farming:jackolantern_on" - minetest.swap_node(pos, node) - end, -}) - -minetest.register_node("farming:jackolantern_on", { - tiles = { - "farming_pumpkin_top.png", - "farming_pumpkin_top.png", - "farming_pumpkin_side.png", - "farming_pumpkin_side.png", - "farming_pumpkin_side.png", - "farming_pumpkin_face_on.png" - }, - light_source = default.LIGHT_MAX - 1, - paramtype2 = "facedir", - groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = default.node_sound_wood_defaults(), - drop = "farming:jackolantern", - on_punch = function(pos, node, puncher) - node.name = "farming:jackolantern" - minetest.swap_node(pos, node) - end, -}) - -minetest.register_craft({ - output = "farming:jackolantern", - recipe = { - {"", "", ""}, - {"", "default:torch", ""}, - {"", "farming:pumpkin", ""}, - } -}) - --- pumpkin bread -minetest.register_craftitem("farming:pumpkin_bread", { - description = S("Pumpkin Bread"), - inventory_image = "farming_pumpkin_bread.png", - on_use = minetest.item_eat(8) -}) - -minetest.register_craftitem("farming:pumpkin_dough", { - description = S("Pumpkin Dough"), - inventory_image = "farming_pumpkin_dough.png", -}) - -minetest.register_craft({ - output = "farming:pumpkin_dough", - type = "shapeless", - recipe = {"farming:flour", "farming:pumpkin_slice", "farming:pumpkin_slice"} -}) - -minetest.register_craft({ - type = "cooking", - output = "farming:pumpkin_bread", - recipe = "farming:pumpkin_dough", - cooktime = 10 -}) - --- pumpkin definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_pumpkin_1.png"}, - paramtype = "light", - sunlight_propagates = true, - waving = 1, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:pumpkin_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_pumpkin_2.png"} -minetest.register_node("farming:pumpkin_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_pumpkin_3.png"} -minetest.register_node("farming:pumpkin_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_pumpkin_4.png"} -minetest.register_node("farming:pumpkin_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_pumpkin_5.png"} -minetest.register_node("farming:pumpkin_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_pumpkin_6.png"} -minetest.register_node("farming:pumpkin_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_pumpkin_7.png"} -minetest.register_node("farming:pumpkin_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_pumpkin_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:pumpkin_slice 9'}, rarity = 1}, - } -} -minetest.register_node("farming:pumpkin_8", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/raspberry.lua b/minetestforfun_game/mods/farming/raspberry.lua deleted file mode 100755 index 384eb590..00000000 --- a/minetestforfun_game/mods/farming/raspberry.lua +++ /dev/null @@ -1,68 +0,0 @@ - -local S = farming.intllib - --- raspberries -minetest.register_craftitem("farming:raspberries", { - description = S("Raspberries"), - inventory_image = "farming_raspberries.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1") - end, - on_use = minetest.item_eat(1), -}) - --- raspberry smoothie -minetest.register_craftitem("farming:smoothie_raspberry", { - description = S("Raspberry Smoothie"), - inventory_image = "farming_raspberry_smoothie.png", - on_use = minetest.item_eat(2, "vessels:drinking_glass"), -}) - -minetest.register_craft({ - output = "farming:smoothie_raspberry", - recipe = { - {"default:snow"}, - {"farming:raspberries"}, - {"vessels:drinking_glass"}, - } -}) - --- raspberries definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_raspberry_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:raspberry_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_raspberry_2.png"} -minetest.register_node("farming:raspberry_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_raspberry_3.png"} -minetest.register_node("farming:raspberry_3", table.copy(crop_def)) - --- stage 4 (final) -crop_def.tiles = {"farming_raspberry_4.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:raspberries 2'}, rarity = 1}, - {items = {'farming:raspberries'}, rarity = 2}, - {items = {'farming:raspberries'}, rarity = 3}, - } -} -minetest.register_node("farming:raspberry_4", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/rhubarb.lua b/minetestforfun_game/mods/farming/rhubarb.lua deleted file mode 100755 index 30e9fba9..00000000 --- a/minetestforfun_game/mods/farming/rhubarb.lua +++ /dev/null @@ -1,64 +0,0 @@ - -local S = farming.intllib - --- rhubarb -minetest.register_craftitem("farming:rhubarb", { - description = S("Rhubarb"), - inventory_image = "farming_rhubarb.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1") - end, - on_use = minetest.item_eat(1), -}) - --- rhubarb pie -minetest.register_craftitem("farming:rhubarb_pie", { - description = S("Rhubarb Pie"), - inventory_image = "farming_rhubarb_pie.png", - on_use = minetest.item_eat(6), -}) - -minetest.register_craft({ - output = "farming:rhubarb_pie", - recipe = { - {"", "farming:sugar", ""}, - {"farming:rhubarb", "farming:rhubarb", "farming:rhubarb"}, - {"farming:wheat", "farming:wheat", "farming:wheat"}, - } -}) - --- rhubarb definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_rhubarb_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:rhubarb_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_rhubarb_2.png"} -minetest.register_node("farming:rhubarb_2", table.copy(crop_def)) - --- stage 3 (final) -crop_def.tiles = {"farming_rhubarb_3.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:rhubarb 2'}, rarity = 1}, - {items = {'farming:rhubarb'}, rarity = 2}, - {items = {'farming:rhubarb'}, rarity = 3}, - } -} -minetest.register_node("farming:rhubarb_3", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/soil.lua b/minetestforfun_game/mods/farming/soil.lua deleted file mode 100755 index 3546081c..00000000 --- a/minetestforfun_game/mods/farming/soil.lua +++ /dev/null @@ -1,67 +0,0 @@ - -local S = farming.intllib - --- normal soil -minetest.register_node("farming:soil", { - description = S("Soil"), - tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"}, - drop = "default:dirt", - groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2}, - sounds = default.node_sound_dirt_defaults(), -}) - --- wet soil -minetest.register_node("farming:soil_wet", { - description = S("Wet Soil"), - tiles = {"default_dirt.png^farming_soil_wet.png", "default_dirt.png^farming_soil_wet_side.png"}, - drop = "default:dirt", - groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3}, - sounds = default.node_sound_dirt_defaults(), -}) - --- sand is not soil, change existing sand-soil to use normal soil -minetest.register_alias("farming:desert_sand_soil", "farming:soil") -minetest.register_alias("farming:desert_sand_soil_wet", "farming:soil_wet") - --- if water near soil then change to wet soil -minetest.register_abm({ - nodenames = {"farming:soil", "farming:soil_wet"}, - interval = 15, - chance = 4, - catch_up = false, - - action = function(pos, node) - - pos.y = pos.y + 1 - local nn = minetest.get_node_or_nil(pos) - pos.y = pos.y - 1 - - if nn then nn = nn.name else return end - - -- what's on top of soil, if solid/not plant change soil to dirt - if minetest.registered_nodes[nn] - and minetest.registered_nodes[nn].walkable - and minetest.get_item_group(nn, "plant") == 0 then - minetest.set_node(pos, {name = "default:dirt"}) - return - end - - -- if map around soil not loaded then skip until loaded - if minetest.find_node_near(pos, 3, {"ignore"}) then - return - end - - -- check if there is water nearby and change soil accordingly - if minetest.find_node_near(pos, 3, {"group:water"}) then - if node.name == "farming:soil" then - minetest.set_node(pos, {name = "farming:soil_wet"}) - end - - elseif node.name == "farming:soil_wet" then - minetest.set_node(pos, {name = "farming:soil"}) - - elseif node.name == "farming:soil" then - minetest.set_node(pos, {name = "default:dirt"}) - end - end, -}) diff --git a/minetestforfun_game/mods/farming/statistics.lua b/minetestforfun_game/mods/farming/statistics.lua deleted file mode 100755 index c8defa2f..00000000 --- a/minetestforfun_game/mods/farming/statistics.lua +++ /dev/null @@ -1,174 +0,0 @@ -local statistics = {} -local ROOT_2 = math.sqrt(2.0) - --- Approximations for erf(x) and erfInv(x) from --- https://en.wikipedia.org/wiki/Error_function - -local erf -local erf_inv - -local A = 8 * (math.pi - 3.0)/(3.0 * math.pi * (4.0 - math.pi)) -local B = 4.0 / math.pi -local C = 2.0/(math.pi * A) -local D = 1.0 / A - -erf = function(x) - - if x == 0 then return 0; end - - local xSq = x * x - local aXSq = A * xSq - local v = math.sqrt(1.0 - math.exp(-xSq * (B + aXSq) / (1.0 + aXSq))) - - return (x > 0 and v) or -v -end - -erf_inv = function(x) - - if x == 0 then return 0; end - - if x <= -1 or x >= 1 then return nil; end - - local y = math.log(1 - x * x) - local u = C + 0.5 * y - local v = math.sqrt(math.sqrt(u * u - D * y) - u) - - return (x > 0 and v) or -v -end - -local function std_normal(u) - return ROOT_2 * erf_inv(2.0 * u - 1.0) -end - -local poisson -local cdf_table = {} - -local function generate_cdf(lambda_index, lambda) - - local max = math.ceil(4 * lambda) - local pdf = math.exp(-lambda) - local cdf = pdf - local t = { [0] = pdf } - - for i = 1, max - 1 do - pdf = pdf * lambda / i - cdf = cdf + pdf - t[i] = cdf - end - - return t -end - -for li = 1, 100 do - cdf_table[li] = generate_cdf(li, 0.25 * li) -end - -poisson = function(lambda, max) - - if max < 2 then - return (math.random() < math.exp(-lambda) and 0) or 1 - elseif lambda >= 2 * max then - return max - end - - local u = math.random() - local lambda_index = math.floor(4 * lambda + 0.5) - local cdfs = cdf_table[lambda_index] - - if cdfs then - - lambda = 0.25 * lambda_index - - if u < cdfs[0] then return 0; end - if max > #cdfs then max = #cdfs + 1 else max = math.floor(max); end - if u >= cdfs[max - 1] then return max; end - - if max > 4 then -- Binary search - - local s = 0 - - while s + 1 < max do - - local m = math.floor(0.5 * (s + max)) - - if u < cdfs[m] then max = m; else s = m; end - end - else - for i = 1, max - 1 do - if u < cdfs[i] then return i; end - end - end - - return max - else - local x = lambda + math.sqrt(lambda) * std_normal(u) - - return (x < 0.5 and 0) or (x >= max - 0.5 and max) or math.floor(x + 0.5) - end -end - --- Error function. -statistics.erf = erf - --- Inverse error function. -statistics.erf_inv = erf_inv - ---- Standard normal distribution function (mean 0, standard deviation 1). - -- - -- @return - -- Any real number (actually between -3.0 and 3.0). - -statistics.std_normal = function() - - local u = math.random() - - if u < 0.001 then - return -3.0 - elseif u > 0.999 then - return 3.0 - end - - return std_normal(u) -end - ---- Standard normal distribution function (mean 0, standard deviation 1). - -- - -- @param mu - -- The distribution mean. - -- @param sigma - -- The distribution standard deviation. - -- @return - -- Any real number (actually between -3*sigma and 3*sigma). - -statistics.normal = function(mu, sigma) - - local u = math.random() - - if u < 0.001 then - return mu - 3.0 * sigma - elseif u > 0.999 then - return mu + 3.0 * sigma - end - - return mu + sigma * std_normal(u) -end - ---- Poisson distribution function. - -- - -- @param lambda - -- The distribution mean and variance. - -- @param max - -- The distribution maximum. - -- @return - -- An integer between 0 and max (both inclusive). - -statistics.poisson = function(lambda, max) - - lambda, max = tonumber(lambda), tonumber(max) - - if not lambda or not max or lambda <= 0 or max < 1 then return 0; end - - return poisson(lambda, max) -end - -return statistics diff --git a/minetestforfun_game/mods/farming/sugar.lua b/minetestforfun_game/mods/farming/sugar.lua deleted file mode 100755 index 9c65eadf..00000000 --- a/minetestforfun_game/mods/farming/sugar.lua +++ /dev/null @@ -1,16 +0,0 @@ - -local S = farming.intllib - ---= Sugar - -minetest.register_craftitem("farming:sugar", { - description = S("Sugar"), - inventory_image = "farming_sugar.png", -}) - -minetest.register_craft({ - type = "cooking", - cooktime = 3, - output = "farming:sugar 2", - recipe = "default:papyrus", -}) diff --git a/minetestforfun_game/mods/farming/textures/default_junglegrass.png b/minetestforfun_game/mods/farming/textures/default_junglegrass.png deleted file mode 100755 index 50a894a4..00000000 Binary files a/minetestforfun_game/mods/farming/textures/default_junglegrass.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_baked_potato.png b/minetestforfun_game/mods/farming/textures/farming_baked_potato.png deleted file mode 100755 index fa06937c..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_baked_potato.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley.png b/minetestforfun_game/mods/farming/textures/farming_barley.png deleted file mode 100644 index ca929e0e..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_1.png b/minetestforfun_game/mods/farming/textures/farming_barley_1.png deleted file mode 100644 index 4a458b16..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_2.png b/minetestforfun_game/mods/farming/textures/farming_barley_2.png deleted file mode 100644 index 96610c2f..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_3.png b/minetestforfun_game/mods/farming/textures/farming_barley_3.png deleted file mode 100644 index ef14b5b3..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_4.png b/minetestforfun_game/mods/farming/textures/farming_barley_4.png deleted file mode 100644 index f7c90544..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_5.png b/minetestforfun_game/mods/farming/textures/farming_barley_5.png deleted file mode 100644 index 68c0d683..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_6.png b/minetestforfun_game/mods/farming/textures/farming_barley_6.png deleted file mode 100644 index 496a2185..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_7.png b/minetestforfun_game/mods/farming/textures/farming_barley_7.png deleted file mode 100644 index 1c636afb..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_barley_seed.png b/minetestforfun_game/mods/farming/textures/farming_barley_seed.png deleted file mode 100644 index 2f00a20a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_barley_seed.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beanbush.png b/minetestforfun_game/mods/farming/textures/farming_beanbush.png deleted file mode 100644 index 637e7162..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beanbush.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beanpole.png b/minetestforfun_game/mods/farming/textures/farming_beanpole.png deleted file mode 100644 index ed07572e..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beanpole.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beanpole_1.png b/minetestforfun_game/mods/farming/textures/farming_beanpole_1.png deleted file mode 100644 index ef2bd5ab..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beanpole_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beanpole_2.png b/minetestforfun_game/mods/farming/textures/farming_beanpole_2.png deleted file mode 100644 index 34143e47..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beanpole_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beanpole_3.png b/minetestforfun_game/mods/farming/textures/farming_beanpole_3.png deleted file mode 100644 index d693f170..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beanpole_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beanpole_4.png b/minetestforfun_game/mods/farming/textures/farming_beanpole_4.png deleted file mode 100644 index c779b254..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beanpole_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beanpole_5.png b/minetestforfun_game/mods/farming/textures/farming_beanpole_5.png deleted file mode 100644 index 910f8a07..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beanpole_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_beans.png b/minetestforfun_game/mods/farming/textures/farming_beans.png deleted file mode 100644 index ad5cf859..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_beans.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_blueberries.png b/minetestforfun_game/mods/farming/textures/farming_blueberries.png deleted file mode 100755 index b0c49319..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_blueberries.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_blueberry_1.png b/minetestforfun_game/mods/farming/textures/farming_blueberry_1.png deleted file mode 100755 index b3cfdbf1..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_blueberry_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_blueberry_2.png b/minetestforfun_game/mods/farming/textures/farming_blueberry_2.png deleted file mode 100755 index d5209e8a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_blueberry_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_blueberry_3.png b/minetestforfun_game/mods/farming/textures/farming_blueberry_3.png deleted file mode 100755 index 4ccf71a6..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_blueberry_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_blueberry_4.png b/minetestforfun_game/mods/farming/textures/farming_blueberry_4.png deleted file mode 100755 index 72a5d13b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_blueberry_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_blueberry_muffin.png b/minetestforfun_game/mods/farming/textures/farming_blueberry_muffin.png deleted file mode 100755 index 1f0a39a0..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_blueberry_muffin.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_bottle_ethanol.png b/minetestforfun_game/mods/farming/textures/farming_bottle_ethanol.png deleted file mode 100755 index 7972e1db..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_bottle_ethanol.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_bread.png b/minetestforfun_game/mods/farming/textures/farming_bread.png deleted file mode 100755 index bd00e3e1..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_bread.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot.png b/minetestforfun_game/mods/farming/textures/farming_carrot.png deleted file mode 100755 index 9727555e..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_1.png b/minetestforfun_game/mods/farming/textures/farming_carrot_1.png deleted file mode 100755 index bbeae7e8..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_2.png b/minetestforfun_game/mods/farming/textures/farming_carrot_2.png deleted file mode 100755 index b24ecc05..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_3.png b/minetestforfun_game/mods/farming/textures/farming_carrot_3.png deleted file mode 100755 index 471ba233..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_4.png b/minetestforfun_game/mods/farming/textures/farming_carrot_4.png deleted file mode 100755 index 32ee2624..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_5.png b/minetestforfun_game/mods/farming/textures/farming_carrot_5.png deleted file mode 100755 index 0bcd9c1e..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_6.png b/minetestforfun_game/mods/farming/textures/farming_carrot_6.png deleted file mode 100755 index a17c6b2b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_7.png b/minetestforfun_game/mods/farming/textures/farming_carrot_7.png deleted file mode 100755 index d26eee7c..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_8.png b/minetestforfun_game/mods/farming/textures/farming_carrot_8.png deleted file mode 100755 index 00b6d928..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_8.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_carrot_gold.png b/minetestforfun_game/mods/farming/textures/farming_carrot_gold.png deleted file mode 100755 index a1453c71..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_carrot_gold.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_chocolate_dark.png b/minetestforfun_game/mods/farming/textures/farming_chocolate_dark.png deleted file mode 100755 index c3855722..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_chocolate_dark.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cocoa_1.png b/minetestforfun_game/mods/farming/textures/farming_cocoa_1.png deleted file mode 100755 index cbf4da89..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cocoa_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cocoa_2.png b/minetestforfun_game/mods/farming/textures/farming_cocoa_2.png deleted file mode 100755 index 3c4bc985..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cocoa_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cocoa_3.png b/minetestforfun_game/mods/farming/textures/farming_cocoa_3.png deleted file mode 100755 index f4ceac25..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cocoa_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cocoa_beans.png b/minetestforfun_game/mods/farming/textures/farming_cocoa_beans.png deleted file mode 100755 index b230630f..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cocoa_beans.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_1.png b/minetestforfun_game/mods/farming/textures/farming_coffee_1.png deleted file mode 100755 index 97c207a3..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_2.png b/minetestforfun_game/mods/farming/textures/farming_coffee_2.png deleted file mode 100755 index cc7fceb0..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_3.png b/minetestforfun_game/mods/farming/textures/farming_coffee_3.png deleted file mode 100755 index 93088c80..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_4.png b/minetestforfun_game/mods/farming/textures/farming_coffee_4.png deleted file mode 100755 index dbfc0ed9..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_5.png b/minetestforfun_game/mods/farming/textures/farming_coffee_5.png deleted file mode 100755 index 3bafd1ce..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_beans.png b/minetestforfun_game/mods/farming/textures/farming_coffee_beans.png deleted file mode 100755 index 8e6743c4..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_beans.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_cup.png b/minetestforfun_game/mods/farming/textures/farming_coffee_cup.png deleted file mode 100755 index 7cdc4d43..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_cup.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_coffee_cup_hot.png b/minetestforfun_game/mods/farming/textures/farming_coffee_cup_hot.png deleted file mode 100755 index 2aaea7bf..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_coffee_cup_hot.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cookie.png b/minetestforfun_game/mods/farming/textures/farming_cookie.png deleted file mode 100755 index 09a8a62a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cookie.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn.png b/minetestforfun_game/mods/farming/textures/farming_corn.png deleted file mode 100755 index 9dcde4b5..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_1.png b/minetestforfun_game/mods/farming/textures/farming_corn_1.png deleted file mode 100755 index 60e8b997..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_2.png b/minetestforfun_game/mods/farming/textures/farming_corn_2.png deleted file mode 100755 index 6ba6cc97..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_3.png b/minetestforfun_game/mods/farming/textures/farming_corn_3.png deleted file mode 100755 index c5fa80b1..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_4.png b/minetestforfun_game/mods/farming/textures/farming_corn_4.png deleted file mode 100755 index a43632dd..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_5.png b/minetestforfun_game/mods/farming/textures/farming_corn_5.png deleted file mode 100755 index 7b6fb02b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_6.png b/minetestforfun_game/mods/farming/textures/farming_corn_6.png deleted file mode 100755 index bf1c6f2f..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_7.png b/minetestforfun_game/mods/farming/textures/farming_corn_7.png deleted file mode 100755 index 51581536..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_8.png b/minetestforfun_game/mods/farming/textures/farming_corn_8.png deleted file mode 100755 index 0bf4fa76..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_8.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_corn_cob.png b/minetestforfun_game/mods/farming/textures/farming_corn_cob.png deleted file mode 100755 index 688016b3..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_corn_cob.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton.png b/minetestforfun_game/mods/farming/textures/farming_cotton.png deleted file mode 100755 index e2bbfd7a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_1.png b/minetestforfun_game/mods/farming/textures/farming_cotton_1.png deleted file mode 100755 index 5fc21807..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_2.png b/minetestforfun_game/mods/farming/textures/farming_cotton_2.png deleted file mode 100755 index db4f4a3e..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_3.png b/minetestforfun_game/mods/farming/textures/farming_cotton_3.png deleted file mode 100755 index df3d7a77..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_4.png b/minetestforfun_game/mods/farming/textures/farming_cotton_4.png deleted file mode 100755 index f314b07b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_5.png b/minetestforfun_game/mods/farming/textures/farming_cotton_5.png deleted file mode 100644 index 81e184e0..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_6.png b/minetestforfun_game/mods/farming/textures/farming_cotton_6.png deleted file mode 100755 index f4bd4fb3..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_7.png b/minetestforfun_game/mods/farming/textures/farming_cotton_7.png deleted file mode 100644 index 11c0cf6d..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_8.png b/minetestforfun_game/mods/farming/textures/farming_cotton_8.png deleted file mode 100644 index 4450a2c4..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_8.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cotton_seed.png b/minetestforfun_game/mods/farming/textures/farming_cotton_seed.png deleted file mode 100755 index f1d5b8ab..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cotton_seed.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cucumber.png b/minetestforfun_game/mods/farming/textures/farming_cucumber.png deleted file mode 100755 index 2fba95df..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cucumber.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cucumber_1.png b/minetestforfun_game/mods/farming/textures/farming_cucumber_1.png deleted file mode 100755 index e008fd12..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cucumber_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cucumber_2.png b/minetestforfun_game/mods/farming/textures/farming_cucumber_2.png deleted file mode 100755 index 9c345ff4..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cucumber_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cucumber_3.png b/minetestforfun_game/mods/farming/textures/farming_cucumber_3.png deleted file mode 100755 index 02cf00b5..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cucumber_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_cucumber_4.png b/minetestforfun_game/mods/farming/textures/farming_cucumber_4.png deleted file mode 100755 index f42533a7..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_cucumber_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil.png b/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil.png deleted file mode 100755 index 1450e014..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil_wet.png b/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil_wet.png deleted file mode 100755 index cffa955d..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil_wet.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil_wet_side.png b/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil_wet_side.png deleted file mode 100755 index fbb2815e..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_desert_sand_soil_wet_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_donut.png b/minetestforfun_game/mods/farming/textures/farming_donut.png deleted file mode 100755 index 6e3d8d32..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_donut.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_donut_apple.png b/minetestforfun_game/mods/farming/textures/farming_donut_apple.png deleted file mode 100755 index aaa97aff..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_donut_apple.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_donut_chocolate.png b/minetestforfun_game/mods/farming/textures/farming_donut_chocolate.png deleted file mode 100755 index 7175df69..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_donut_chocolate.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_flour.png b/minetestforfun_game/mods/farming/textures/farming_flour.png deleted file mode 100755 index b1a97836..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_flour.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapebush.png b/minetestforfun_game/mods/farming/textures/farming_grapebush.png deleted file mode 100755 index c2e66205..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapebush.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes.png b/minetestforfun_game/mods/farming/textures/farming_grapes.png deleted file mode 100644 index 1a6df8b4..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_1.png b/minetestforfun_game/mods/farming/textures/farming_grapes_1.png deleted file mode 100644 index 5358685a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_2.png b/minetestforfun_game/mods/farming/textures/farming_grapes_2.png deleted file mode 100644 index 901add19..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_3.png b/minetestforfun_game/mods/farming/textures/farming_grapes_3.png deleted file mode 100644 index 4f6095e5..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_4.png b/minetestforfun_game/mods/farming/textures/farming_grapes_4.png deleted file mode 100644 index 63fee466..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_5.png b/minetestforfun_game/mods/farming/textures/farming_grapes_5.png deleted file mode 100644 index 536c49aa..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_6.png b/minetestforfun_game/mods/farming/textures/farming_grapes_6.png deleted file mode 100644 index fd6131e8..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_7.png b/minetestforfun_game/mods/farming/textures/farming_grapes_7.png deleted file mode 100644 index 63c9ae84..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_grapes_8.png b/minetestforfun_game/mods/farming/textures/farming_grapes_8.png deleted file mode 100644 index 4b35cc4b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_grapes_8.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_1.png b/minetestforfun_game/mods/farming/textures/farming_melon_1.png deleted file mode 100755 index 3c6ea6d8..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_2.png b/minetestforfun_game/mods/farming/textures/farming_melon_2.png deleted file mode 100755 index 185ed826..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_3.png b/minetestforfun_game/mods/farming/textures/farming_melon_3.png deleted file mode 100755 index e1f62d4a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_4.png b/minetestforfun_game/mods/farming/textures/farming_melon_4.png deleted file mode 100755 index d9199f3c..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_5.png b/minetestforfun_game/mods/farming/textures/farming_melon_5.png deleted file mode 100755 index 755cbd34..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_6.png b/minetestforfun_game/mods/farming/textures/farming_melon_6.png deleted file mode 100755 index 30382b84..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_7.png b/minetestforfun_game/mods/farming/textures/farming_melon_7.png deleted file mode 100755 index 438a9413..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_side.png b/minetestforfun_game/mods/farming/textures/farming_melon_side.png deleted file mode 100755 index fc815141..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_slice.png b/minetestforfun_game/mods/farming/textures/farming_melon_slice.png deleted file mode 100755 index b3cf2293..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_slice.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_melon_top.png b/minetestforfun_game/mods/farming/textures/farming_melon_top.png deleted file mode 100755 index f387dbd0..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_melon_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_potato.png b/minetestforfun_game/mods/farming/textures/farming_potato.png deleted file mode 100755 index 9fe29706..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_potato.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_potato_1.png b/minetestforfun_game/mods/farming/textures/farming_potato_1.png deleted file mode 100755 index a9c00409..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_potato_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_potato_2.png b/minetestforfun_game/mods/farming/textures/farming_potato_2.png deleted file mode 100755 index a46fa4f8..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_potato_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_potato_3.png b/minetestforfun_game/mods/farming/textures/farming_potato_3.png deleted file mode 100755 index c3d19e93..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_potato_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_potato_4.png b/minetestforfun_game/mods/farming/textures/farming_potato_4.png deleted file mode 100755 index 457a2664..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_potato_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_1.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_1.png deleted file mode 100755 index e5b9a2bf..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_2.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_2.png deleted file mode 100755 index d977e8c2..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_3.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_3.png deleted file mode 100755 index 83f81905..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_4.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_4.png deleted file mode 100755 index 20de004a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_5.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_5.png deleted file mode 100755 index 59fa78eb..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_6.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_6.png deleted file mode 100755 index 0ad58b14..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_7.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_7.png deleted file mode 100755 index 235dac3d..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_8.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_8.png deleted file mode 100755 index 9565e566..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_8.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_bread.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_bread.png deleted file mode 100755 index dd659057..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_bread.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_dough.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_dough.png deleted file mode 100755 index f54fb14b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_dough.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_face_off.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_face_off.png deleted file mode 100755 index f44751ca..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_face_off.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_face_on.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_face_on.png deleted file mode 100755 index 6e3d1b9f..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_face_on.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_side.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_side.png deleted file mode 100755 index 69ee16d1..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_slice.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_slice.png deleted file mode 100755 index 1fb659e2..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_slice.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_pumpkin_top.png b/minetestforfun_game/mods/farming/textures/farming_pumpkin_top.png deleted file mode 100755 index 1c6a5ea5..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_pumpkin_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_raspberries.png b/minetestforfun_game/mods/farming/textures/farming_raspberries.png deleted file mode 100755 index 0879f416..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_raspberries.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_raspberry_1.png b/minetestforfun_game/mods/farming/textures/farming_raspberry_1.png deleted file mode 100755 index d1a7ffca..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_raspberry_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_raspberry_2.png b/minetestforfun_game/mods/farming/textures/farming_raspberry_2.png deleted file mode 100755 index d5209e8a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_raspberry_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_raspberry_3.png b/minetestforfun_game/mods/farming/textures/farming_raspberry_3.png deleted file mode 100755 index 4ccf71a6..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_raspberry_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_raspberry_4.png b/minetestforfun_game/mods/farming/textures/farming_raspberry_4.png deleted file mode 100755 index e0067124..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_raspberry_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_raspberry_smoothie.png b/minetestforfun_game/mods/farming/textures/farming_raspberry_smoothie.png deleted file mode 100755 index 78393b15..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_raspberry_smoothie.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_rhubarb.png b/minetestforfun_game/mods/farming/textures/farming_rhubarb.png deleted file mode 100755 index 7d416ab2..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_rhubarb.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_rhubarb_1.png b/minetestforfun_game/mods/farming/textures/farming_rhubarb_1.png deleted file mode 100755 index 01585b1b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_rhubarb_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_rhubarb_2.png b/minetestforfun_game/mods/farming/textures/farming_rhubarb_2.png deleted file mode 100755 index d87b71f5..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_rhubarb_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_rhubarb_3.png b/minetestforfun_game/mods/farming/textures/farming_rhubarb_3.png deleted file mode 100755 index 44682e90..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_rhubarb_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_rhubarb_pie.png b/minetestforfun_game/mods/farming/textures/farming_rhubarb_pie.png deleted file mode 100755 index ba9ea550..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_rhubarb_pie.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_soil.png b/minetestforfun_game/mods/farming/textures/farming_soil.png deleted file mode 100644 index 31504258..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_soil.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_soil_wet.png b/minetestforfun_game/mods/farming/textures/farming_soil_wet.png deleted file mode 100644 index 2eb2c3cd..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_soil_wet.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_soil_wet_side.png b/minetestforfun_game/mods/farming/textures/farming_soil_wet_side.png deleted file mode 100755 index f0b1bd45..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_soil_wet_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_straw.png b/minetestforfun_game/mods/farming/textures/farming_straw.png deleted file mode 100644 index ffc789dc..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_straw.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_sugar.png b/minetestforfun_game/mods/farming/textures/farming_sugar.png deleted file mode 100755 index 5cb7fa01..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_sugar.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato.png b/minetestforfun_game/mods/farming/textures/farming_tomato.png deleted file mode 100755 index 586aa56d..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_1.png b/minetestforfun_game/mods/farming/textures/farming_tomato_1.png deleted file mode 100755 index c15e0952..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_2.png b/minetestforfun_game/mods/farming/textures/farming_tomato_2.png deleted file mode 100755 index 33837a5b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_3.png b/minetestforfun_game/mods/farming/textures/farming_tomato_3.png deleted file mode 100755 index 04ef57a9..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_4.png b/minetestforfun_game/mods/farming/textures/farming_tomato_4.png deleted file mode 100755 index 44baad9f..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_5.png b/minetestforfun_game/mods/farming/textures/farming_tomato_5.png deleted file mode 100755 index 3c8fee33..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_6.png b/minetestforfun_game/mods/farming/textures/farming_tomato_6.png deleted file mode 100755 index fa584497..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_7.png b/minetestforfun_game/mods/farming/textures/farming_tomato_7.png deleted file mode 100755 index 880c05b0..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tomato_8.png b/minetestforfun_game/mods/farming/textures/farming_tomato_8.png deleted file mode 100755 index f07b9eb6..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tomato_8.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_bronzehoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_bronzehoe.png deleted file mode 100755 index ef07a80a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_bronzehoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_diamondhoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_diamondhoe.png deleted file mode 100644 index 0ca8c83a..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_diamondhoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_mesehoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_mesehoe.png deleted file mode 100755 index ffd597a4..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_mesehoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_mithrilhoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_mithrilhoe.png deleted file mode 100755 index 329a9b70..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_mithrilhoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_silverhoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_silverhoe.png deleted file mode 100755 index d174dda2..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_silverhoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_steelhoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_steelhoe.png deleted file mode 100755 index 893a6958..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_steelhoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_stonehoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_stonehoe.png deleted file mode 100755 index 4f8dade0..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_stonehoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_tool_woodhoe.png b/minetestforfun_game/mods/farming/textures/farming_tool_woodhoe.png deleted file mode 100755 index 8b20d2dc..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_tool_woodhoe.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_trellis.png b/minetestforfun_game/mods/farming/textures/farming_trellis.png deleted file mode 100644 index fed03277..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_trellis.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat.png b/minetestforfun_game/mods/farming/textures/farming_wheat.png deleted file mode 100644 index d188c295..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_1.png b/minetestforfun_game/mods/farming/textures/farming_wheat_1.png deleted file mode 100755 index c16ad94b..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_1.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_2.png b/minetestforfun_game/mods/farming/textures/farming_wheat_2.png deleted file mode 100755 index baddb4c5..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_2.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_3.png b/minetestforfun_game/mods/farming/textures/farming_wheat_3.png deleted file mode 100644 index 3e609426..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_3.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_4.png b/minetestforfun_game/mods/farming/textures/farming_wheat_4.png deleted file mode 100644 index 6710ec0c..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_4.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_5.png b/minetestforfun_game/mods/farming/textures/farming_wheat_5.png deleted file mode 100644 index 47442942..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_5.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_6.png b/minetestforfun_game/mods/farming/textures/farming_wheat_6.png deleted file mode 100644 index fd220bfe..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_6.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_7.png b/minetestforfun_game/mods/farming/textures/farming_wheat_7.png deleted file mode 100644 index e58fcf7d..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_7.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_8.png b/minetestforfun_game/mods/farming/textures/farming_wheat_8.png deleted file mode 100755 index d0500934..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_8.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/farming_wheat_seed.png b/minetestforfun_game/mods/farming/textures/farming_wheat_seed.png deleted file mode 100755 index a9031fba..00000000 Binary files a/minetestforfun_game/mods/farming/textures/farming_wheat_seed.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/textures/vessels_drinking_cup.png b/minetestforfun_game/mods/farming/textures/vessels_drinking_cup.png deleted file mode 100755 index c19cfeb2..00000000 Binary files a/minetestforfun_game/mods/farming/textures/vessels_drinking_cup.png and /dev/null differ diff --git a/minetestforfun_game/mods/farming/tomato.lua b/minetestforfun_game/mods/farming/tomato.lua deleted file mode 100755 index 1ed78704..00000000 --- a/minetestforfun_game/mods/farming/tomato.lua +++ /dev/null @@ -1,78 +0,0 @@ - ---[[ - Textures edited from: - http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288375-food-plus-mod-more-food-than-you-can-imagine-v2-9) -]] - -local S = farming.intllib - --- tomato -minetest.register_craftitem("farming:tomato", { - description = S("Tomato"), - inventory_image = "farming_tomato.png", - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1") - end, - on_use = minetest.item_eat(4), -}) - --- tomato definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_tomato_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:tomato_1", table.copy(crop_def)) - --- stage2 -crop_def.tiles = {"farming_tomato_2.png"} -minetest.register_node("farming:tomato_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_tomato_3.png"} -minetest.register_node("farming:tomato_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_tomato_4.png"} -minetest.register_node("farming:tomato_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_tomato_5.png"} -minetest.register_node("farming:tomato_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_tomato_6.png"} -minetest.register_node("farming:tomato_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_tomato_7.png"} -crop_def.drop = { - items = { - {items = {'farming:tomato'}, rarity = 1}, - {items = {'farming:tomato'}, rarity = 3}, - } -} -minetest.register_node("farming:tomato_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_tomato_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:tomato 3'}, rarity = 1}, - {items = {'farming:tomato 3'}, rarity = 2}, - } -} -minetest.register_node("farming:tomato_8", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/farming/wheat.lua b/minetestforfun_game/mods/farming/wheat.lua deleted file mode 100755 index 65e5ce69..00000000 --- a/minetestforfun_game/mods/farming/wheat.lua +++ /dev/null @@ -1,154 +0,0 @@ - -local S = farming.intllib - --- wheat seeds -minetest.register_node("farming:seed_wheat", { - description = S("Wheat Seed"), - tiles = {"farming_wheat_seed.png"}, - inventory_image = "farming_wheat_seed.png", - wield_image = "farming_wheat_seed.png", - drawtype = "signlike", - groups = {seed = 1, snappy = 3, attached_node = 1}, - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = farming.select, - on_place = function(itemstack, placer, pointed_thing) - return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1") - end, -}) - --- harvested wheat -minetest.register_craftitem("farming:wheat", { - description = S("Wheat"), - inventory_image = "farming_wheat.png", -}) - --- straw -minetest.register_node("farming:straw", { - description = S("Straw"), - tiles = {"farming_straw.png"}, - is_ground_content = false, - groups = {snappy = 3, flammable = 4}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_craft({ - output = "farming:straw 3", - recipe = { - {"farming:wheat", "farming:wheat", "farming:wheat"}, - {"farming:wheat", "farming:wheat", "farming:wheat"}, - {"farming:wheat", "farming:wheat", "farming:wheat"}, - } -}) - -minetest.register_craft({ - output = "farming:wheat 3", - recipe = { - {"farming:straw"}, - } -}) - --- flour -minetest.register_craftitem("farming:flour", { - description = S("Flour"), - inventory_image = "farming_flour.png", -}) - -minetest.register_craft({ - type = "shapeless", - output = "farming:flour", - recipe = {"farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat"} -}) - --- bread -minetest.register_craftitem("farming:bread", { - description = S("Bread"), - inventory_image = "farming_bread.png", - on_use = minetest.item_eat(5), -}) - -minetest.register_craft({ - type = "cooking", - cooktime = 15, - output = "farming:bread", - recipe = "farming:flour" -}) - --- wheat definition -local crop_def = { - drawtype = "plantlike", - tiles = {"farming_wheat_1.png"}, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - drop = "", - selection_box = farming.select, - groups = { - snappy = 3, flammable = 2, plant = 1, attached_node = 1, - not_in_creative_inventory = 1, growing = 1 - }, - sounds = default.node_sound_leaves_defaults() -} - --- stage 1 -minetest.register_node("farming:wheat_1", table.copy(crop_def)) - --- stage 2 -crop_def.tiles = {"farming_wheat_2.png"} -minetest.register_node("farming:wheat_2", table.copy(crop_def)) - --- stage 3 -crop_def.tiles = {"farming_wheat_3.png"} -minetest.register_node("farming:wheat_3", table.copy(crop_def)) - --- stage 4 -crop_def.tiles = {"farming_wheat_4.png"} -minetest.register_node("farming:wheat_4", table.copy(crop_def)) - --- stage 5 -crop_def.tiles = {"farming_wheat_5.png"} -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 2}, - {items = {'farming:seed_wheat'}, rarity = 2}, - } -} -minetest.register_node("farming:wheat_5", table.copy(crop_def)) - --- stage 6 -crop_def.tiles = {"farming_wheat_6.png"} -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 2}, - {items = {'farming:seed_wheat'}, rarity = 1}, - } -} -minetest.register_node("farming:wheat_6", table.copy(crop_def)) - --- stage 7 -crop_def.tiles = {"farming_wheat_7.png"} -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 1}, - {items = {'farming:wheat'}, rarity = 3}, - {items = {'farming:seed_wheat'}, rarity = 1}, - {items = {'farming:seed_wheat'}, rarity = 3}, - } -} -minetest.register_node("farming:wheat_7", table.copy(crop_def)) - --- stage 8 (final) -crop_def.tiles = {"farming_wheat_8.png"} -crop_def.groups.growing = 0 -crop_def.drop = { - items = { - {items = {'farming:wheat'}, rarity = 1}, - {items = {'farming:wheat'}, rarity = 3}, - {items = {'farming:seed_wheat'}, rarity = 1}, - {items = {'farming:seed_wheat'}, rarity = 3}, - } -} -minetest.register_node("farming:wheat_8", table.copy(crop_def)) diff --git a/minetestforfun_game/mods/fire/README.txt b/minetestforfun_game/mods/fire/README.txt deleted file mode 100644 index 35affc26..00000000 --- a/minetestforfun_game/mods/fire/README.txt +++ /dev/null @@ -1,28 +0,0 @@ -Minetest Game mod: fire -======================= -See license.txt for license information. - -Authors of source code ----------------------- -Originally by Perttu Ahola (celeron55) (LGPL 2.1) -Various Minetest developers and contributors (LGPL 2.1) - -Authors of media (textures and sounds) --------------------------------------- -Everything not listed in here: -Copyright (C) 2012 Perttu Ahola (celeron55) (CC BY-SA 3.0) - -fire_basic_flame_animated.png: - Muadtralk (CC BY-SA 3.0) - -fire_flint_steel.png - Gambit (CC BY-SA 3.0) - -fire_small.ogg sampled from: - http://www.freesound.org/people/dobroide/sounds/4211/ (CC BY 3.0) - -fire_large.ogg sampled from: - http://www.freesound.org/people/Dynamicell/sounds/17548/ (CC BY 3.0) - -fire_flint_and_steel.ogg - https://www.freesound.org/people/Benboncan/sounds/66457/ (CC BY 3.0) diff --git a/minetestforfun_game/mods/fire/depends.txt b/minetestforfun_game/mods/fire/depends.txt deleted file mode 100644 index 4ad96d51..00000000 --- a/minetestforfun_game/mods/fire/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/minetestforfun_game/mods/fire/init.lua b/minetestforfun_game/mods/fire/init.lua deleted file mode 100755 index 41d41caf..00000000 --- a/minetestforfun_game/mods/fire/init.lua +++ /dev/null @@ -1,331 +0,0 @@ --- minetest/fire/init.lua - --- Global namespace for functions - -fire = {} - - --- Register flame nodes - -minetest.register_node("fire:basic_flame", { - drawtype = "firelike", - tiles = { - { - name = "fire_basic_flame_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1 - }, - }, - }, - inventory_image = "fire_basic_flame.png", - paramtype = "light", - light_source = 14, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - damage_per_second = 4, - groups = {igniter = 2, dig_immediate = 3, not_in_creative_inventory = 1}, - on_timer = function(pos) - local f = minetest.find_node_near(pos, 1, {"group:flammable"}) - if not f then - minetest.remove_node(pos) - return - end - -- restart timer - return true - end, - drop = "", - - on_construct = function(pos) - minetest.get_node_timer(pos):start(math.random(30, 60)) - minetest.after(0, fire.update_sounds_around, pos) - end, - - on_destruct = function(pos) - minetest.after(0, fire.update_sounds_around, pos) - end, - - on_blast = function() - end, -- unaffected by explosions -}) - -minetest.register_node("fire:permanent_flame", { - description = "Permanent Flame", - drawtype = "firelike", - tiles = { - { - name = "fire_basic_flame_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1 - }, - }, - }, - inventory_image = "fire_basic_flame.png", - paramtype = "light", - light_source = 14, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - damage_per_second = 4, - groups = {igniter = 2, dig_immediate = 3}, - drop = "", - - on_blast = function() - end, -}) - - --- Flint and steel - -minetest.register_tool("fire:flint_and_steel", { - description = "Flint and Steel", - inventory_image = "fire_flint_steel.png", - on_use = function(itemstack, user, pointed_thing) - local pt = pointed_thing - minetest.sound_play( - "fire_flint_and_steel", - {pos = pt.above, gain = 0.6, max_hear_distance = 8} - ) - itemstack:add_wear(1000) - if pt.type == "node" then - local node_under = minetest.get_node(pt.under).name - local nodedef = minetest.registered_nodes[node_under] - if not nodedef then - return - end - local player_name = user:get_player_name() - if minetest.is_protected(pt.under, player_name) then - minetest.chat_send_player(player_name, "This area is protected") - return - end - if nodedef.on_ignite then - nodedef.on_ignite(pt.under, user) - elseif minetest.get_item_group(node_under, "flammable") >= 1 - and minetest.get_node(pt.above).name == "air" then - minetest.set_node(pt.above, {name = "fire:basic_flame"}) - end - end - if not minetest.setting_getbool("creative_mode") then - return itemstack - end - end -}) - -minetest.register_craft({ - output = "fire:flint_and_steel", - recipe = { - {"default:flint", "default:steel_ingot"} - } -}) - - --- Override coalblock to enable permanent flame above --- Coalblock is non-flammable to avoid unwanted basic_flame nodes - -minetest.override_item("default:coalblock", { - after_destruct = function(pos, oldnode) - pos.y = pos.y + 1 - if minetest.get_node(pos).name == "fire:permanent_flame" then - minetest.remove_node(pos) - end - end, - on_ignite = function(pos, igniter) - local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z} - if minetest.get_node(flame_pos).name == "air" then - minetest.set_node(flame_pos, {name = "fire:permanent_flame"}) - end - end, -}) - --- Get sound area of position - -fire.D = 6 -- size of sound areas - -function fire.get_area_p0p1(pos) - local p0 = { - x = math.floor(pos.x / fire.D) * fire.D, - y = math.floor(pos.y / fire.D) * fire.D, - z = math.floor(pos.z / fire.D) * fire.D, - } - local p1 = { - x = p0.x + fire.D - 1, - y = p0.y + fire.D - 1, - z = p0.z + fire.D - 1 - } - return p0, p1 -end - - --- Fire sounds table --- key: position hash of low corner of area --- value: {handle=sound handle, name=sound name} -fire.sounds = {} - - --- Update fire sounds in sound area of position - -function fire.update_sounds_around(pos) - local p0, p1 = fire.get_area_p0p1(pos) - local cp = {x = (p0.x + p1.x) / 2, y = (p0.y + p1.y) / 2, z = (p0.z + p1.z) / 2} - local flames_p = minetest.find_nodes_in_area(p0, p1, {"fire:basic_flame"}) - --print("number of flames at "..minetest.pos_to_string(p0).."/" - -- ..minetest.pos_to_string(p1)..": "..#flames_p) - local should_have_sound = (#flames_p > 0) - local wanted_sound = nil - if #flames_p >= 9 then - wanted_sound = {name = "fire_large", gain = 0.7} - elseif #flames_p > 0 then - wanted_sound = {name = "fire_small", gain = 0.9} - end - local p0_hash = minetest.hash_node_position(p0) - local sound = fire.sounds[p0_hash] - if not sound then - if should_have_sound then - fire.sounds[p0_hash] = { - handle = minetest.sound_play(wanted_sound, - {pos = cp, max_hear_distance = 16, loop = true}), - name = wanted_sound.name, - } - end - else - if not wanted_sound then - minetest.sound_stop(sound.handle) - fire.sounds[p0_hash] = nil - elseif sound.name ~= wanted_sound.name then - minetest.sound_stop(sound.handle) - fire.sounds[p0_hash] = { - handle = minetest.sound_play(wanted_sound, - {pos = cp, max_hear_distance = 16, loop = true}), - name = wanted_sound.name, - } - end - end -end - - --- Extinguish all flames quickly with water, snow, ice - -minetest.register_abm({ - label = "Extinguish flame", - nodenames = {"fire:basic_flame", "fire:permanent_flame"}, - neighbors = {"group:puts_out_fire"}, - interval = 3, - chance = 1, - catch_up = false, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.remove_node(pos) - minetest.sound_play("fire_extinguish_flame", - {pos = pos, max_hear_distance = 16, gain = 0.25}) - end, -}) - - --- Enable the following ABMs according to 'enable fire' setting - -local fire_enabled = minetest.setting_getbool("enable_fire") -if fire_enabled == nil then - -- New setting not specified, check for old setting. - -- If old setting is also not specified, 'not nil' is true. - fire_enabled = not minetest.setting_getbool("disable_fire") -end - -if not fire_enabled then - - -- Remove basic flames only - - minetest.register_abm({ - label = "Remove disabled fire", - nodenames = {"fire:basic_flame"}, - interval = 7, - chance = 1, - catch_up = false, - action = minetest.remove_node, - }) - -else -- Fire enabled - - -- Ignite neighboring nodes, add basic flames - - minetest.register_abm({ - label = "Ignite flame", - nodenames = {"group:flammable"}, - neighbors = {"group:igniter"}, - interval = 7, - chance = 12, - catch_up = false, - action = function(pos, node, active_object_count, active_object_count_wider) - -- If there is water or stuff like that around node, don't ignite - if minetest.find_node_near(pos, 1, {"group:puts_out_fire"}) then - return - end - local p = minetest.find_node_near(pos, 1, {"air"}) - if p then - minetest.set_node(p, {name = "fire:basic_flame"}) - end - end, - }) - - -- Remove flammable nodes - - minetest.register_abm({ - label = "Remove flammable nodes", - nodenames = {"fire:basic_flame"}, - neighbors = "group:flammable", - interval = 5, - chance = 18, - catch_up = false, - action = function(pos, node, active_object_count, active_object_count_wider) - local p = minetest.find_node_near(pos, 1, {"group:flammable"}) - if p then - -- remove flammable nodes around flame - local flammable_node = minetest.get_node(p) - local def = minetest.registered_nodes[flammable_node.name] - if def.on_burn then - def.on_burn(p) - else - minetest.remove_node(p) - nodeupdate(p) - end - end - end, - }) - -end - - ---[[ Rarely ignite things from far - --- Currently disabled to reduce the chance of uncontrollable spreading - fires that disrupt servers. Also for less lua processing load. - -minetest.register_abm({ - nodenames = {"group:igniter"}, - neighbors = {"air"}, - interval = 5, - chance = 10, - action = function(pos, node, active_object_count, active_object_count_wider) - local reg = minetest.registered_nodes[node.name] - if not reg or not reg.groups.igniter or reg.groups.igniter < 2 then - return - end - local d = reg.groups.igniter - local p = minetest.find_node_near(pos, d, {"group:flammable"}) - if p then - -- If there is water or stuff like that around flame, don't ignite - if fire.flame_should_extinguish(p) then - return - end - local p2 = fire.find_pos_for_flame_around(p) - if p2 then - minetest.set_node(p2, {name = "fire:basic_flame"}) - end - end - end, -}) ---]] diff --git a/minetestforfun_game/mods/fire/license.txt b/minetestforfun_game/mods/fire/license.txt deleted file mode 100644 index 43f9cd7f..00000000 --- a/minetestforfun_game/mods/fire/license.txt +++ /dev/null @@ -1,84 +0,0 @@ -License of source code ----------------------- - -GNU Lesser General Public License, version 2.1 -Copyright (C) 2012-2016 celeron55, Perttu Ahola -Copyright (C) 2012-2016 Various Minetest developers and contributors - -This program is free software; you can redistribute it and/or modify it under the terms -of the GNU Lesser General Public License as published by the Free Software Foundation; -either version 2.1 of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -See the GNU Lesser General Public License for more details: -https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - - -Licenses of media (textures and sounds) ---------------------------------------- - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2012-2016 Perttu Ahola (celeron55) -Copyright (C) 2012-2016 Muadtralk -Copyright (C) 2013-2016 Gambit - -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/ - ------------------------ - -Attribution 3.0 Unported (CC BY 3.0) -Copyright (C) 2005 dobroide -Copyright (C) 2006 Dynamicell -Copyright (C) 2009 Benboncan - -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. - -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/3.0/ diff --git a/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.1.ogg b/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.1.ogg deleted file mode 100644 index 42506ddf..00000000 Binary files a/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.1.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.2.ogg b/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.2.ogg deleted file mode 100644 index 2747ab81..00000000 Binary files a/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.2.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.3.ogg b/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.3.ogg deleted file mode 100644 index 8baeac32..00000000 Binary files a/minetestforfun_game/mods/fire/sounds/fire_extinguish_flame.3.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/fire/sounds/fire_flint_and_steel.ogg b/minetestforfun_game/mods/fire/sounds/fire_flint_and_steel.ogg deleted file mode 100644 index 6996e16f..00000000 Binary files a/minetestforfun_game/mods/fire/sounds/fire_flint_and_steel.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/fire/sounds/fire_large.ogg b/minetestforfun_game/mods/fire/sounds/fire_large.ogg deleted file mode 100755 index f97867d7..00000000 Binary files a/minetestforfun_game/mods/fire/sounds/fire_large.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/fire/sounds/fire_small.ogg b/minetestforfun_game/mods/fire/sounds/fire_small.ogg deleted file mode 100755 index 4fc13bf7..00000000 Binary files a/minetestforfun_game/mods/fire/sounds/fire_small.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/fire/textures/fire_basic_flame.png b/minetestforfun_game/mods/fire/textures/fire_basic_flame.png deleted file mode 100755 index 7a126e32..00000000 Binary files a/minetestforfun_game/mods/fire/textures/fire_basic_flame.png and /dev/null differ diff --git a/minetestforfun_game/mods/fire/textures/fire_basic_flame_animated.png b/minetestforfun_game/mods/fire/textures/fire_basic_flame_animated.png deleted file mode 100755 index 3b312e53..00000000 Binary files a/minetestforfun_game/mods/fire/textures/fire_basic_flame_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/fire/textures/fire_flint_steel.png b/minetestforfun_game/mods/fire/textures/fire_flint_steel.png deleted file mode 100644 index 624f5565..00000000 Binary files a/minetestforfun_game/mods/fire/textures/fire_flint_steel.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/README.txt b/minetestforfun_game/mods/flowers/README.txt deleted file mode 100755 index 2a5e4de3..00000000 --- a/minetestforfun_game/mods/flowers/README.txt +++ /dev/null @@ -1,26 +0,0 @@ -Minetest Game mod: flowers -========================== -See license.txt for license information. - -Authors of source code ----------------------- -Originally by Ironzorg (MIT) and VanessaE (MIT) -Various Minetest developers and contributors (MIT) - -Authors of media (textures) ---------------------------- -RHRhino (CC BY-SA 3.0): - flowers_dandelion_white.png - flowers_dandelion_yellow.png - flowers_geranium.png - flowers_rose.png - flowers_tulip.png - flowers_viola.png - -Gambit (CC BY-SA 3.0): - flowers_mushroom_brown.png - flowers_mushroom_red.png - flowers_waterlily.png - -yyt16384 (CC BY-SA 3.0): - flowers_waterlily_bottom.png, derived from Gambit's texture diff --git a/minetestforfun_game/mods/flowers/depends.txt b/minetestforfun_game/mods/flowers/depends.txt deleted file mode 100755 index 4ad96d51..00000000 --- a/minetestforfun_game/mods/flowers/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/minetestforfun_game/mods/flowers/init.lua b/minetestforfun_game/mods/flowers/init.lua deleted file mode 100755 index 563287ff..00000000 --- a/minetestforfun_game/mods/flowers/init.lua +++ /dev/null @@ -1,321 +0,0 @@ --- Minetest 0.4 mod: default --- See README.txt for licensing and other information. - - --- Namespace for functions - -flowers = {} - - --- Map Generation - -dofile(minetest.get_modpath("flowers") .. "/mapgen.lua") - - --- --- Flowers --- - --- Aliases for original flowers mod - -minetest.register_alias("flowers:flower_rose", "flowers:rose") -minetest.register_alias("flowers:flower_tulip", "flowers:tulip") -minetest.register_alias("flowers:flower_dandelion_yellow", "flowers:dandelion_yellow") -minetest.register_alias("flowers:flower_geranium", "flowers:geranium") -minetest.register_alias("flowers:flower_viola", "flowers:viola") -minetest.register_alias("flowers:flower_dandelion_white", "flowers:dandelion_white") - - --- Flower registration - -local function add_simple_flower(name, desc, box, f_groups) - -- Common flowers' groups - f_groups.snappy = 3 - f_groups.flammable = 2 - f_groups.flower = 1 - f_groups.flora = 1 - f_groups.attached_node = 1 - - minetest.register_node("flowers:" .. name, { - description = desc, - drawtype = "plantlike", - waving = 1, - tiles = {"flowers_" .. name .. ".png"}, - inventory_image = "flowers_" .. name .. ".png", - wield_image = "flowers_" .. name .. ".png", - sunlight_propagates = true, - paramtype = "light", - walkable = false, - buildable_to = true, - stack_max = 99, - groups = f_groups, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = box - } - }) -end - -flowers.datas = { - { - "rose", - "Rose", - {-2 / 16, -0.5, -2 / 16, 2 / 16, 5 / 16, 2 / 16}, - {color_red = 1, flammable = 1} - }, - { - "tulip", - "Orange Tulip", - {-2 / 16, -0.5, -2 / 16, 2 / 16, 3 / 16, 2 / 16}, - {color_orange = 1, flammable = 1} - }, - { - "dandelion_yellow", - "Yellow Dandelion", - {-2 / 16, -0.5, -2 / 16, 2 / 16, 4 / 16, 2 / 16}, - {color_yellow = 1, flammable = 1} - }, - { - "geranium", - "Blue Geranium", - {-2 / 16, -0.5, -2 / 16, 2 / 16, 2 / 16, 2 / 16}, - {color_blue = 1, flammable = 1} - }, - { - "viola", - "Viola", - {-5 / 16, -0.5, -5 / 16, 5 / 16, -1 / 16, 5 / 16}, - {color_violet = 1, flammable = 1} - }, - { - "dandelion_white", - "White dandelion", - {-5 / 16, -0.5, -5 / 16, 5 / 16, -2 / 16, 5 / 16}, - {color_white = 1, flammable = 1} - }, -} - -for _,item in pairs(flowers.datas) do - add_simple_flower(unpack(item)) -end - -minetest.register_node("flowers:lily_pad", { - description = "Lily Pad", - drawtype = "nodebox", - tiles = { "flowers_lily_pad.png" }, - inventory_image = "flowers_lily_pad.png", - wield_image = "flowers_lily_pad.png", - wield_scale = {x = 1, y = 1, z = 0.001}, - is_ground_content = true, - sunlight_propagates = true, - paramtype = "light", - walkable = false, - buildable_to = true, - groups = {snappy = 3, flammable = 2, flower = 1, flora = 1}, - sounds = default.node_sound_leaves_defaults(), - node_box = { - type = "fixed", - fixed = {-0.5, -0.45, -0.5, 0.5, -0.4375, 0.5}, - }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, - }, -}) - --- Flower spread --- Public function to enable override by mods - -function flowers.flower_spread(pos, node) - pos.y = pos.y - 1 - local under = minetest.get_node(pos) - pos.y = pos.y + 1 - if under.name == "default:desert_sand" then - minetest.set_node(pos, {name = "default:dry_shrub"}) - return - elseif under.name ~= "default:dirt_with_grass" and - under.name ~= "default:dirt_with_dry_grass" then - return - end - - local light = minetest.get_node_light(pos) - if not light or light < 13 then - return - end - - local pos0 = vector.subtract(pos, 4) - local pos1 = vector.add(pos, 4) - if #minetest.find_nodes_in_area(pos0, pos1, "group:flora") > 3 then - return - end - - local seedling = minetest.find_nodes_in_area_under_air(pos0, pos1, - {"default:dirt_with_grass", "default:dirt_with_dry_grass"}) - if #seedling > 0 then - seedling = seedling[math.random(#seedling)] - seedling.y = seedling.y + 1 - light = minetest.get_node_light(seedling) - if not light or light < 13 then - return - end - minetest.set_node(seedling, {name = node.name}) - end -end - - -minetest.register_abm({ - label = "Flower spread", - nodenames = {"group:flora"}, - neighbors = {"default:dirt_with_grass", "default:dirt_with_dry_grass", - "default:desert_sand"}, - interval = 13, - chance = 96, - action = function(...) - flowers.flower_spread(...) - end, -}) - - --- --- Mushrooms --- - -minetest.register_node("flowers:mushroom_red", { - description = "Red Mushroom", - tiles = {"flowers_mushroom_red.png"}, - inventory_image = "flowers_mushroom_red.png", - wield_image = "flowers_mushroom_red.png", - drawtype = "plantlike", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, attached_node = 1, flammable = 1}, - sounds = default.node_sound_leaves_defaults(), - on_use = minetest.item_eat(-5), - selection_box = { - type = "fixed", - fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, -1 / 16, 4 / 16}, - } -}) - -minetest.register_node("flowers:mushroom_brown", { - description = "Brown Mushroom", - tiles = {"flowers_mushroom_brown.png"}, - inventory_image = "flowers_mushroom_brown.png", - wield_image = "flowers_mushroom_brown.png", - drawtype = "plantlike", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - buildable_to = true, - groups = {snappy = 3, attached_node = 1, flammable = 1}, - sounds = default.node_sound_leaves_defaults(), - on_use = minetest.item_eat(1), - selection_box = { - type = "fixed", - fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, -2 / 16, 3 / 16}, - } -}) - - --- Mushroom spread and death - -minetest.register_abm({ - label = "Mushroom spread", - nodenames = {"flowers:mushroom_brown", "flowers:mushroom_red"}, - interval = 11, - chance = 50, - action = function(pos, node) - if minetest.get_node_light(pos, nil) == 15 then - minetest.remove_node(pos) - return - end - local random = { - x = pos.x + math.random(-2, 2), - y = pos.y + math.random(-1, 1), - z = pos.z + math.random(-2, 2) - } - local random_node = minetest.get_node_or_nil(random) - if not random_node or random_node.name ~= "air" then - return - end - local node_under = minetest.get_node_or_nil({x = random.x, - y = random.y - 1, z = random.z}) - if not node_under then - return - end - - if (minetest.get_item_group(node_under.name, "soil") ~= 0 or - minetest.get_item_group(node_under.name, "tree") ~= 0) and - minetest.get_node_light(pos, 0.5) <= 3 and - minetest.get_node_light(random, 0.5) <= 3 then - minetest.set_node(random, {name = node.name}) - end - end -}) - - --- These old mushroom related nodes can be simplified now - -minetest.register_alias("flowers:mushroom_spores_brown", "flowers:mushroom_brown") -minetest.register_alias("flowers:mushroom_spores_red", "flowers:mushroom_red") -minetest.register_alias("flowers:mushroom_fertile_brown", "flowers:mushroom_brown") -minetest.register_alias("flowers:mushroom_fertile_red", "flowers:mushroom_red") -minetest.register_alias("mushroom:brown_natural", "flowers:mushroom_brown") -minetest.register_alias("mushroom:red_natural", "flowers:mushroom_red") - - --- --- Waterlily --- - -minetest.register_node("flowers:waterlily", { - description = "Waterlily", - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - tiles = {"flowers_waterlily.png", "flowers_waterlily_bottom.png"}, - inventory_image = "flowers_waterlily.png", - wield_image = "flowers_waterlily.png", - liquids_pointable = true, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - floodable = true, - groups = {snappy = 3, flower = 1, flammable = 1}, - sounds = default.node_sound_leaves_defaults(), - node_placement_prediction = "", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -15 / 32, 0.5} - }, - selection_box = { - type = "fixed", - fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, -15 / 32, 7 / 16} - }, - - on_place = function(itemstack, placer, pointed_thing) - local pos = pointed_thing.above - local node = minetest.get_node(pointed_thing.under).name - local def = minetest.registered_nodes[node] - local player_name = placer:get_player_name() - - if def and def.liquidtype == "source" and - minetest.get_item_group(node, "water") > 0 then - if not minetest.is_protected(pos, player_name) then - minetest.set_node(pos, {name = "flowers:waterlily", - param2 = math.random(0, 3)}) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - else - minetest.chat_send_player(player_name, "Node is protected") - minetest.record_protection_violation(pos, player_name) - end - end - - return itemstack - end -}) diff --git a/minetestforfun_game/mods/flowers/license.txt b/minetestforfun_game/mods/flowers/license.txt deleted file mode 100644 index d3011622..00000000 --- a/minetestforfun_game/mods/flowers/license.txt +++ /dev/null @@ -1,62 +0,0 @@ -License of source code ----------------------- - -The MIT License (MIT) -Copyright (C) 2012-2016 Ironzorg, VanessaE -Copyright (C) 2012-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 RHRhino -Copyright (C) 2015-2016 Gambit -Copyright (C) 2016 yyt16384 - -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/minetestforfun_game/mods/flowers/mapgen.lua b/minetestforfun_game/mods/flowers/mapgen.lua deleted file mode 100755 index 921e3abb..00000000 --- a/minetestforfun_game/mods/flowers/mapgen.lua +++ /dev/null @@ -1,229 +0,0 @@ --- --- Mgv6 --- - -local function register_mgv6_flower(name) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.006, - spread = {x = 100, y = 100, z = 100}, - seed = 436, - octaves = 3, - persist = 0.6 - }, - y_min = 1, - y_max = 30, - decoration = "flowers:"..name, - }) -end - -local function register_mgv6_mushroom(name) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.04, - spread = {x = 100, y = 100, z = 100}, - seed = 7133, - octaves = 3, - persist = 0.6 - }, - y_min = 1, - y_max = 30, - decoration = "flowers:"..name, - spawn_by = "default:tree", - num_spawn_by = 1, - }) -end - -local function register_mgv6_waterlily() - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt"}, - sidelen = 16, - noise_params = { - offset = -0.12, - scale = 0.3, - spread = {x = 100, y = 100, z = 100}, - seed = 33, - octaves = 3, - persist = 0.7 - }, - y_min = 0, - y_max = 0, - schematic = minetest.get_modpath("flowers").."/schematics/waterlily.mts", - rotation = "random", - }) -end - -function flowers.register_mgv6_decorations() - register_mgv6_flower("rose") - register_mgv6_flower("tulip") - register_mgv6_flower("dandelion_yellow") - register_mgv6_flower("geranium") - register_mgv6_flower("viola") - register_mgv6_flower("dandelion_white") - - register_mgv6_mushroom("mushroom_brown") - register_mgv6_mushroom("mushroom_red") - - register_mgv6_waterlily() -end - - --- --- All other biome API mapgens --- - -local function register_flower(seed, name) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = -0.015, - scale = 0.025, - spread = {x = 200, y = 200, z = 200}, - seed = seed, - octaves = 3, - persist = 0.6 - }, - biomes = {"stone_grassland", "sandstone_grassland", - "deciduous_forest", "coniferous_forest"}, - y_min = 1, - y_max = 31000, - decoration = "flowers:"..name, - }) -end - -local function register_mushroom(name) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.006, - spread = {x = 200, y = 200, z = 200}, - seed = 2, - octaves = 3, - persist = 0.66 - }, - biomes = {"deciduous_forest", "coniferous_forest"}, - y_min = 1, - y_max = 31000, - decoration = "flowers:"..name, - }) -end - -local function register_waterlily() - minetest.register_decoration({ - deco_type = "schematic", - place_on = {"default:dirt"}, - sidelen = 16, - noise_params = { - offset = -0.12, - scale = 0.3, - spread = {x = 200, y = 200, z = 200}, - seed = 33, - octaves = 3, - persist = 0.7 - }, - biomes = {"rainforest_swamp", "savanna_swamp", "deciduous_forest_swamp"}, - y_min = 0, - y_max = 0, - schematic = minetest.get_modpath("flowers").."/schematics/waterlily.mts", - rotation = "random", - }) -end - -function flowers.register_decorations() - register_flower(436, "rose") - register_flower(19822, "tulip") - register_flower(1220999, "dandelion_yellow") - register_flower(36662, "geranium") - register_flower(1133, "viola") - register_flower(73133, "dandelion_white") - - register_mushroom("mushroom_brown") - register_mushroom("mushroom_red") - - register_waterlily() -end - - -minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:water_source"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.006, - spread = {x=100, y=100, z=100}, - seed = 436, - octaves = 3, - persist = 0.6 - }, - y_min = -10, - y_max = 30, - decoration = "flowers:lily_pad", -}) - -minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:sand"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.006, - spread = {x=100, y=100, z=100}, - seed = 436, - octaves = 3, - persist = 0.6 - }, - y_min = -400, - y_max = 400, - decoration = "default:dry_shrub", -}) - -minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:snow"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.006, - spread = {x=100, y=100, z=100}, - seed = 436, - octaves = 3, - persist = 0.6 - }, - y_min = -400, - y_max = 400, - decoration = "default:snow", -}) - - --- --- Detect mapgen to select functions --- - --- Mods using singlenode mapgen can call these functions to enable --- the use of minetest.generate_ores or minetest.generate_decorations - - -local mg_params = minetest.get_mapgen_params() --(1) MFF IMPORTANT for mt <= 0.14.4 stable -if mg_params.mgname == "v6" then --(1) ---local mg_name = minetest.get_mapgen_setting("mg_name") --(2) for mt > 0.14.4 stable ---if mg_name == "v6" then --(2) - flowers.register_mgv6_decorations() -elseif mg_params.mgname ~= "singlenode" then --(1) ---elseif mg_name ~= "singlenode" then --(2) - flowers.register_decorations() -end diff --git a/minetestforfun_game/mods/flowers/schematics/waterlily.mts b/minetestforfun_game/mods/flowers/schematics/waterlily.mts deleted file mode 100755 index 876310cc..00000000 Binary files a/minetestforfun_game/mods/flowers/schematics/waterlily.mts and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_dandelion_white.png b/minetestforfun_game/mods/flowers/textures/flowers_dandelion_white.png deleted file mode 100755 index b39ba602..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_dandelion_white.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_dandelion_yellow.png b/minetestforfun_game/mods/flowers/textures/flowers_dandelion_yellow.png deleted file mode 100755 index 3c7070a1..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_dandelion_yellow.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_geranium.png b/minetestforfun_game/mods/flowers/textures/flowers_geranium.png deleted file mode 100755 index 4bc51f06..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_geranium.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_lily_pad.png b/minetestforfun_game/mods/flowers/textures/flowers_lily_pad.png deleted file mode 100755 index b0879406..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_lily_pad.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_brown.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_brown.png deleted file mode 100755 index 33ffcd47..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_brown.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_red.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_red.png deleted file mode 100755 index a68f5d50..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_brown.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_brown.png deleted file mode 100755 index a0818d23..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_brown.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_red.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_red.png deleted file mode 100755 index 1f1d3a45..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_rose.png b/minetestforfun_game/mods/flowers/textures/flowers_rose.png deleted file mode 100755 index 733fbe31..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_rose.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_tulip.png b/minetestforfun_game/mods/flowers/textures/flowers_tulip.png deleted file mode 100755 index 1b0dd816..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_tulip.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_viola.png b/minetestforfun_game/mods/flowers/textures/flowers_viola.png deleted file mode 100755 index 13f390a9..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_viola.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_waterlily.png b/minetestforfun_game/mods/flowers/textures/flowers_waterlily.png deleted file mode 100644 index 6b5ddc0b..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_waterlily.png and /dev/null differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_waterlily_bottom.png b/minetestforfun_game/mods/flowers/textures/flowers_waterlily_bottom.png deleted file mode 100644 index 3dbeaf40..00000000 Binary files a/minetestforfun_game/mods/flowers/textures/flowers_waterlily_bottom.png and /dev/null differ diff --git a/minetestforfun_game/mods/h2omes/depends.txt b/minetestforfun_game/mods/h2omes/depends.txt deleted file mode 100755 index b231431d..00000000 --- a/minetestforfun_game/mods/h2omes/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -action_timers -nether? diff --git a/minetestforfun_game/mods/h2omes/init.lua b/minetestforfun_game/mods/h2omes/init.lua deleted file mode 100644 index 39bac125..00000000 --- a/minetestforfun_game/mods/h2omes/init.lua +++ /dev/null @@ -1,425 +0,0 @@ -h2omes = {} -h2omes.homes = {} -- table players home -h2omes.path = minetest.get_worldpath() .. "/h2omes/" -minetest.mkdir(h2omes.path) - -h2omes.time_home = 2 * 60 --MFF 04/05/2016 2 minutes plus 20 minutes -h2omes.time_spawn = 5*60 -h2omes.time_from_player = 5*60 -h2omes.time_to_player = 5*60 - -local tmp_players = {} -local from_players = {} - -h2omes.have_nether = false -- nether mod -if (minetest.get_modpath("nether") ~= nil) then - h2omes.have_nether = true -end - - -function h2omes.check(name) - if h2omes.homes[name] == nil then - h2omes.homes[name] = {["home"] = {}, ["pit"] = {}} - end -end - - ---function save_homes -function h2omes.save_homes(name) - local file = h2omes.path..name - local input, err = io.open(file, "w") - if input then - input:write(minetest.serialize(h2omes.homes[name])) - input:close() - else - minetest.log("error", "open(" .. file .. ", 'w') failed: " .. err) - end -end - - ---function load_homes -function h2omes.load_homes(name) - h2omes.check(name) - local file = h2omes.path..name - local input, err = io.open(file, "r") - if input then - local data = minetest.deserialize(input:read()) - io.close(input) - if data and type(data) == "table" then - if data.home then - if data.home.real then - h2omes.homes[name].home.real = data.home.real - end - if data.home.nether then - h2omes.homes[name].home.nether = data.home.nether - end - end - if data.pit then - if data.pit.real then - h2omes.homes[name].pit.real = data.pit.real - end - if data.pit.nether then - h2omes.homes[name].pit.nether = data.pit.nether - end - end - end - end -end - --- disallowed tp real-->nether or nether-->real -function h2omes.can_teleport(from_pos, to_pos) - if not h2omes.have_nether then -- not nether mod, -19600 is real - return true - end - if from_pos.y < -19600 and to_pos.y < -19600 then - return true - elseif from_pos.y > -19600 and to_pos.y > -19600 then - return true - end - return false -end - - ---function set_homes -function h2omes.set_home(name, home_type, pos) - h2omes.check(name) - if not pos then - local player = minetest.get_player_by_name(name) - if not player then return end - pos = player:getpos() - end - if not pos then return false end - if pos.y < -19600 and h2omes.have_nether then - h2omes.homes[name][home_type].nether = pos - else - h2omes.homes[name][home_type].real = pos - end - minetest.chat_send_player(name, home_type.." set!") - minetest.sound_play("dingdong",{to_player=name, gain = 1.0}) - h2omes.save_homes(name) - return true -end - - ---function get_homes -function h2omes.get_home(name, home_type) - h2omes.check(name) - local player = minetest.get_player_by_name(name) - if not player then return nil end - local pos = player:getpos() - if not pos then return nil end - local status = "real" - if pos.y < -19600 and h2omes.have_nether then - status = "nether" - end - if h2omes.homes[name][home_type][status] then - return h2omes.homes[name][home_type][status] - end - return nil -end - ---function getspawn -function h2omes.getspawn(name) - local player = minetest.get_player_by_name(name) - if not player then return nil end - local pos = player:getpos() - if not pos then return nil end - local spawn_pos - if pos.y < -19600 and h2omes.have_nether then - spawn_pos = minetest.string_to_pos(minetest.setting_get("nether_static_spawnpoint") or "") - elseif minetest.setting_get_pos("static_spawnpoint") then - spawn_pos = minetest.setting_get_pos("static_spawnpoint") - end - return spawn_pos -end - - ---function to_spawn -function h2omes.to_spawn(name) - local player = minetest.get_player_by_name(name) - if not player then return false end - local spawn_pos = h2omes.getspawn(name) - if spawn_pos then - minetest.chat_send_player(name, "Teleporting to spawn...") - player:setpos(spawn_pos) - minetest.sound_play("teleport", {to_player=name, gain = 1.0}) - minetest.log("action","Player ".. name .." respawned. Next allowed respawn in ".. h2omes.time_spawn .." seconds.") - return true - else - minetest.chat_send_player(name, "ERROR: No spawn point is set on this server!") - return false - end -end - - ---function to_homes -function h2omes.to_home(name, home_type) - h2omes.check(name) - local player = minetest.get_player_by_name(name) - if not player then return false end - local pos = player:getpos() - if not pos then return false end - local status = "real" - if pos.y < -19600 and h2omes.have_nether then - status = "nether" - end - if h2omes.homes[name][home_type][status] then - player:setpos(h2omes.homes[name][home_type][status]) - minetest.chat_send_player(name, "Teleported to "..home_type.."!") - minetest.sound_play("teleport", {to_player=name, gain = 1.0}) - return true - end - return false -end - - ---function to_player -function h2omes.to_player(name, to_pos, to_name) - local player = minetest.get_player_by_name(name) - if not player then return false end - local from_pos = player:getpos() - if to_pos then - if h2omes.can_teleport(from_pos, to_pos) then - minetest.chat_send_player(name, "Teleporting to player "..to_name) - player:setpos(to_pos) - minetest.sound_play("teleport", {to_player=name, gain = 1.0}) - return true - else - minetest.chat_send_player(name, "Sorry, teleport between 2 worlds(real/nether) is not allowed!") - return false - end - else - minetest.chat_send_player(name, "ERROR: No position to player!") - return false - end -end - - -function h2omes.update_pos(name, pos, from_name) - from_players[name] = {name=from_name, pos=pos} - minetest.chat_send_player(name, from_name .." sent you their position to teleport") - minetest.sound_play("dingdong",{to_player=name, gain = 0.8}) - return true -end - - -function h2omes.send_pos_to_player(name, pos, to_name) - local player = minetest.get_player_by_name(to_name) - if not player or not pos then return false end - if action_timers.wrapper(name, "send_pos_to_player", "from_player_" .. to_name, h2omes.time_from_player, h2omes.update_pos, {to_name, pos, name}) then - minetest.chat_send_player(name, "Your position has been sent to "..to_name) - return true - else - minetest.chat_send_player(name, "Error: "..to_name.." already received a request. please try again later.") - end - return false -end - - -function h2omes.show_formspec_home(name) - if tmp_players[name] == nil then - tmp_players[name] = {} - end - local player = minetest.get_player_by_name(name) - if not player then return false end - local formspec = {"size[8,9]label[3.15,0;Home Settings]"} - local pos = player:getpos() - --spawn - table.insert(formspec, "label[3.45,0.8;TO SPAWN]") - local spawn_pos = h2omes.getspawn(name) - if spawn_pos then - table.insert(formspec, string.format("label[2.9,1.3;x:%s, y:%s, z:%s]", math.floor(spawn_pos.x), math.floor(spawn_pos.y), math.floor(spawn_pos.z) )) - table.insert(formspec, "button_exit[6,1.1;1.5,1;to_spawn;To Spawn]") - else - table.insert(formspec, "label[3.3,1.3;No spawn set]") - end - - --home - table.insert(formspec, "label[3.5,2.1;TO HOME]") - table.insert(formspec, "button[0.5,2.4;1.5,1;set_home;Set Home]") - local home_pos = h2omes.get_home(name, "home") - if home_pos then - table.insert(formspec, string.format("label[2.9,2.5;x:%s, y:%s, z:%s]", math.floor(home_pos.x), math.floor(home_pos.y), math.floor(home_pos.z) )) - table.insert(formspec, "button_exit[6,2.4;1.5,1;to_home;To Home]") - else - table.insert(formspec, "label[3.3,2.5;Home no set]") - end - - --pit - table.insert(formspec, "label[3.55,3.4;TO PIT]") - table.insert(formspec, "button[0.5,3.7;1.5,1;set_pit;Set Pit]") - local pit_pos = h2omes.get_home(name, "pit") - if pit_pos then - table.insert(formspec, string.format("label[2.9,3.8;x:%s, y:%s, z:%s]", math.floor(pit_pos.x), math.floor(pit_pos.y), math.floor(pit_pos.z) )) - table.insert(formspec, "button_exit[6,3.7;1.5,1;to_pit;To Pit]") - else - table.insert(formspec, "label[3.3,3.8;Pit no set]") - end - - --to player - table.insert(formspec, "label[3.35,4.7;TO PLAYER]") - local to_player = from_players[name] - if to_player and to_player.name and to_player.pos then - table.insert(formspec, string.format("label[0.5,5.1;To %s]", to_player.name)) - table.insert(formspec,string.format("label[2.9,5.1;x:%s, y:%s, z:%s]", math.floor(to_player.pos.x),math.floor(to_player.pos.y),math.floor(to_player.pos.z))) - table.insert(formspec, "button_exit[6,5;1.5,1;to_player;To Player]") - else - table.insert(formspec, "label[2.7,5.1;No request from player]") - end - - table.insert(formspec, "label[2.8,6;SEND MY POS TO PLAYER]") - if not tmp_players[name] or not tmp_players[name].players_list or #tmp_players[name].players_list < 1 or tmp_players[name].refresh then - tmp_players[name].refresh = nil - tmp_players[name].players_list = {} - tmp_players[name].selected_id = 0 - for _,player in pairs(minetest.get_connected_players()) do - local player_name = player:get_player_name() - if player_name and player_name ~= "" and player_name ~= name then - table.insert(tmp_players[name].players_list, player_name) - end - end - tmp_players[name]["select_player"] = nil - end - if #tmp_players[name].players_list == 0 then - table.insert(formspec, "label[3,6.4;No player, try later]") - else - table.insert(formspec,"button[3.5,6.4;1.5,1;refresh;refresh]") - table.insert(formspec, "dropdown[0.5,6.5;3,1;select_player;"..table.concat(tmp_players[name].players_list, ",")..";"..tmp_players[name].selected_id.."]") - end - if tmp_players[name].selected_id and tmp_players[name].selected_id > 0 then - table.insert(formspec, "button_exit[6,6.4;1.5,1;send_to;Send To]") - end - - table.insert(formspec, "button_exit[3.25,8.3;1.5,1;close;Close]") - minetest.show_formspec(name, "h2omes:formspec", table.concat(formspec)) -end - - -minetest.register_on_player_receive_fields(function(player, formname, fields) - local name = player:get_player_name() - if not name or name == "" then return end - if formname == "h2omes:formspec" then - if fields["set_home"] then - --h2omes.set_home(name, "home") - action_timers.wrapper(name, "sethome", "sethome_" .. name, h2omes.time_home, h2omes.set_home, {name, "home"}) - elseif fields["set_pit"] then - --h2omes.set_home(name, "pit") - action_timers.wrapper(name, "setpit", "sethome_" .. name, h2omes.time_home, h2omes.set_home, {name, "pit"}) - elseif fields["to_home"] then - --h2omes.to_home(name, "home") - action_timers.wrapper(name, "home", "tohome_" .. name, h2omes.time_home, h2omes.to_home, {name, "home"}) - elseif fields["to_pit"] then - --h2omes.to_home(name, "pit") - action_timers.wrapper(name, "pit", "tohome_" .. name, h2omes.time_home, h2omes.to_home, {name, "pit"}) - elseif fields["to_spawn"] then - action_timers.wrapper(name, "spawn", "tospawn_" .. name, h2omes.time_spawn, h2omes.to_spawn, {name}) - elseif fields["to_player"] then - if not from_players[name] then return end - local to_name = from_players[name].name - local pos = from_players[name].pos - from_players[name] = nil - if not to_name or not pos then return end - h2omes.to_player(name, pos, to_name) - elseif fields["send_to"] then - local to_name = tmp_players[name]["select_player"] - if not to_name then return end - local pos = player:getpos() - action_timers.wrapper(name, "send_pos_to_player", "to_player_" .. name, h2omes.time_to_player, h2omes.send_pos_to_player, {name, pos, to_name}) - tmp_players[name] = nil - elseif fields["refresh"] then - tmp_players[name].refresh = true - elseif fields["select_player"] then - for i, n in pairs(tmp_players[name].players_list) do - if n == fields["select_player"] then - tmp_players[name]["select_player"] = fields["select_player"] - tmp_players[name].selected_id = i - break - end - end - end - if not fields["quit"] then - h2omes.show_formspec_home(name) - end - end -end) - - -minetest.register_on_joinplayer(function(player) - local name = player:get_player_name() - if not name or name == "" then return end - h2omes.load_homes(name) -end) - - -minetest.register_on_leaveplayer(function(player) - local name = player:get_player_name() - if not name or name == "" then return end - h2omes.homes[name] = nil - tmp_players[name] = nil - from_players[name] = nil -end) - - -minetest.register_privilege("home", "Can use /sethome, /home, /setpit and /pit") - -minetest.register_chatcommand("spawn", { - description = "Teleport a player to the defined spawnpoint", - func = function(name) - local spawn_pos = h2omes.getspawn(name) - if spawn_pos then - action_timers.wrapper(name, "spawn", "tospawn_" .. name, h2omes.time_spawn, h2omes.to_spawn, {name}) - else - minetest.chat_send_player(name, "ERROR: No spawn point is set on this server!") - return false - end - end -}) - -minetest.register_chatcommand("home", { - description = "Teleport you to your home point", - privs = {home=true}, - func = function (name, params) - if not h2omes.get_home(name, "home") then - minetest.chat_send_player(name, "Set a home using /sethome") - return false - end - --h2omes.to_home(name, "home") - return action_timers.wrapper(name, "home", "tohome_" .. name, h2omes.time_home, h2omes.to_home, {name, "home"}) - end, -}) - - -minetest.register_chatcommand("sethome", { - description = "Set your home point", - privs = {home=true}, - func = function (name, params) - --h2omes.set_home(name, "home") - return action_timers.wrapper(name, "sethome", "sethome_" .. name, h2omes.time_home, h2omes.set_home, {name, "home"}) - end, -}) - - -minetest.register_chatcommand("pit", { - description = "Teleport you to your pit point", - privs = {home=true}, - func = function (name, params) - if not h2omes.get_home(name, "pit") then - minetest.chat_send_player(name, "Set a pit using /setpit") - return false - end - --h2omes.to_home(name, "pit") - return action_timers.wrapper(name, "pit", "tohome_" .. name, h2omes.time_home, h2omes.to_home, {name, "pit"}) - end, -}) - - -minetest.register_chatcommand("setpit", { - description = "Set your pit point", - privs = {home=true}, - func = function (name, params) - --h2omes.set_home(name, "pit") - return action_timers.wrapper(name, "setpit", "sethome_" .. name, h2omes.time_home, h2omes.set_home, {name, "pit"}) - end, -}) - -minetest.log("action","[h2omes] Loaded.") diff --git a/minetestforfun_game/mods/nyancat/depends.txt b/minetestforfun_game/mods/nyancat/depends.txt deleted file mode 100644 index 4ad96d51..00000000 --- a/minetestforfun_game/mods/nyancat/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/minetestforfun_game/mods/player_physics/LICENSE b/minetestforfun_game/mods/player_physics/LICENSE deleted file mode 100644 index 9cecc1d4..00000000 --- a/minetestforfun_game/mods/player_physics/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - {project} Copyright (C) {year} {fullname} - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/minetestforfun_game/mods/player_physics/README.md b/minetestforfun_game/mods/player_physics/README.md deleted file mode 100644 index f0626cac..00000000 --- a/minetestforfun_game/mods/player_physics/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# player_physics -A minetest mod to centralize the management of player's stats(sprint, jump, gravity) -Because many mods (sprint, 3d_armor and others) rewrite the stats in their corner and it cancel - - -***API*** - - - player_physics.set_stats(player, "uniq_name", table) - - - player_physics.remove_stats(player, "uniq_name") - -**Exemple** - - - player_physics.set_stats(player, "potion_speedlvl1", {speed=0.35}) - - - player_physics.set_stats(player, "sprint_mod", {speed=0.35, jump=0.1}) - - - player_physics.remove_stats(player, "potion_speedlvl1") - -**Temporary effect** - - - player_physics.add_effect(player, "uniq_name", time, stats) - - player_physics.remove_effect(player, "uniq_name") - -**Exemple** -You make a potion that adds speed for 10 seconds. - - on_use = function(itemstack, user, pointed_thing) - player_physics.add_effect(user, "potion_speedlvl1", 10, {speed=0.6}) - itemstack:take_item() - return itemstack - end - - - diff --git a/minetestforfun_game/mods/player_physics/init.lua b/minetestforfun_game/mods/player_physics/init.lua deleted file mode 100644 index ed1e5e28..00000000 --- a/minetestforfun_game/mods/player_physics/init.lua +++ /dev/null @@ -1,121 +0,0 @@ -local players = {} -player_physics = {} - - -function player_physics.check(playerName) - if players[playerName] == nil then - players[playerName] = {speed = {}, jump = {}, gravity={}, temp={}} - end -end - - -minetest.register_on_joinplayer(function(player) - local playerName = player:get_player_name() - player_physics.check(playerName) -end) - - -minetest.register_on_leaveplayer(function(player) - local playerName = player:get_player_name() - players[playerName] = nil -end) - - -function player_physics.set_stats(player, uuid, stats) - if type(stats) ~= "table" then - minetest.log("error", "player_physics: set_stats(player, uuid, stat) stats must be table(eg:{speed=1})") - return - end - local playerName = player:get_player_name() - player_physics.check(playerName) - for stat, v in pairs(stats) do - if (stat == "speed" or stat == "jump" or stat == "gravity") and type(v) == "number" then - players[playerName][stat][uuid] = v - end - end -end - - -function player_physics.remove_stats(player, uuid) - local playerName = player:get_player_name() - player_physics.check(playerName) - for _, stat in pairs({"speed", "jump", "gravity"}) do - players[playerName][stat][uuid] = nil - end -end - - -function player_physics.add_effect(player, uuid, time, stats) - if type(stats) ~= "table" then - minetest.log("error", "player_physics: add_effect(player, uuid, time, stats) stats must be table(eg:{speed=1})") - return - end - if type(time) ~= "number" then - minetest.log("error", "player_physics: add_effect(player, uuid, time, stats) time must be number") - return - end - local playerName = player:get_player_name() - player_physics.check(playerName) - for stat, v in pairs(stats) do - if (stat == "speed" or stat == "jump" or stat == "gravity") and type(v) == "number" then - players[playerName]["temp"][uuid][stat] = {value=v, time=time} - end - end -end - - -function player_physics.remove_effect(player, uuid) - local playerName = player:get_player_name() - player_physics.check(playerName) - players[playerName]["temp"][uuid] = nil -end - - -minetest.register_globalstep(function(dtime) - for _,player in ipairs(minetest.get_connected_players()) do - local playerName = player:get_player_name() - if playerName ~= "" then - player_physics.check(playerName) - local stats ={speed=1, jump=1, gravity=1} - - for _, stat in pairs({"speed", "jump", "gravity"}) do - for uuid, v in pairs(players[playerName][stat]) do - stats[stat] = stats[stat] + v - end - end - - --temporary effect - for uuid, _ in pairs(players[playerName]["temp"]) do - for stat, v in pairs(players[playerName]["temp"][uuid]) do - stats[stat] = stats[stat] + v.value - local t = v.time-dtime - if t > 0 then - players[playerName]["temp"][uuid][stat].time = t - else - players[playerName]["temp"][uuid][stat] = nil - end - end - end --/temporary effect - - if stats.speed > 4 then - stats.speed = 4 - elseif stats.speed < 0 then - stats.speed = 0 - end - - if stats.jump > 3 then - stats.jump = 3 - elseif stats.jump < 0 then - stats.jump = 0 - end - - if stats.gravity > 2 then - stats.gravity = 2 - elseif stats.gravity < -2 then - stats.gravity = -2 - end - player:set_physics_override(stats) - end - end -end) - diff --git a/minetestforfun_game/mods/screwdriver/README.txt b/minetestforfun_game/mods/screwdriver/README.txt deleted file mode 100644 index 9d39c58c..00000000 --- a/minetestforfun_game/mods/screwdriver/README.txt +++ /dev/null @@ -1,13 +0,0 @@ -Minetest Game mod: screwdriver -============================== -See license.txt for license information. - -License of source code ----------------------- -Originally by RealBadAngel, Maciej Kasatkin (LGPL 2.1) -Various Minetest developers and contributors (LGPL 2.1) - -License of media (textures) ---------------------------- -Created by Gambit (CC BY-SA 3.0): - screwdriver.png diff --git a/minetestforfun_game/mods/screwdriver/init.lua b/minetestforfun_game/mods/screwdriver/init.lua deleted file mode 100755 index 31daa1c5..00000000 --- a/minetestforfun_game/mods/screwdriver/init.lua +++ /dev/null @@ -1,143 +0,0 @@ -screwdriver = {} - -local function nextrange(x, max) - x = x + 1 - if x > max then - x = 0 - end - return x -end - -screwdriver.ROTATE_FACE = 1 -screwdriver.ROTATE_AXIS = 2 -screwdriver.disallow = function(pos, node, user, mode, new_param2) - return false -end -screwdriver.rotate_simple = function(pos, node, user, mode, new_param2) - if mode ~= screwdriver.ROTATE_FACE then - return false - end -end -local USES = 200 -local USES_perfect = 10000 - --- Handles rotation -screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses) - if pointed_thing.type ~= "node" then - return - end - - local pos = pointed_thing.under - - if minetest.is_protected(pos, user:get_player_name()) then - minetest.record_protection_violation(pos, user:get_player_name()) - return - end - - local node = minetest.get_node(pos) - local ndef = minetest.registered_nodes[node.name] - -- verify node is facedir (expected to be rotatable) - if not ndef or ndef.paramtype2 ~= "facedir" then - return - end - -- Compute param2 - local rotationPart = node.param2 % 32 -- get first 4 bits - local preservePart = node.param2 - rotationPart - local axisdir = math.floor(rotationPart / 4) - local rotation = rotationPart - axisdir * 4 - if mode == screwdriver.ROTATE_FACE then - rotationPart = axisdir * 4 + nextrange(rotation, 3) - elseif mode == screwdriver.ROTATE_AXIS then - rotationPart = nextrange(axisdir, 5) * 4 - end - - local new_param2 = preservePart + rotationPart - local should_rotate = true - - if ndef and ndef.on_rotate then -- Node provides a handler, so let the handler decide instead if the node can be rotated - -- Copy pos and node because callback can modify it - local result = ndef.on_rotate(vector.new(pos), - {name = node.name, param1 = node.param1, param2 = node.param2}, - user, mode, new_param2) - if result == false then -- Disallow rotation - return - elseif result == true then - should_rotate = false - end - else - if not ndef or not ndef.paramtype2 == "facedir" or - ndef.on_rotate == false or - (ndef.drawtype == "nodebox" and - not ndef.node_box.type == "fixed") or - node.param2 == nil then - return - end - - if ndef.can_dig and not ndef.can_dig(pos, user) then - return - end - end - - if should_rotate then - node.param2 = new_param2 - minetest.swap_node(pos, node) - end - - if not minetest.setting_getbool("creative_mode") and minetest.registered_tools["screwdriver:screwdriver_perfect"] then - itemstack:add_wear(65535 / (USES_perfect - 1)) - elseif not minetest.setting_getbool("creative_mode") then - itemstack:add_wear(65535 / (USES - 1)) - end - - return itemstack -end - --- Screwdriver -minetest.register_tool("screwdriver:screwdriver", { - description = "Screwdriver (left-click rotates face, right-click rotates axis)", - inventory_image = "screwdriver.png", - on_use = function(itemstack, user, pointed_thing) - screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 200) - return itemstack - end, - on_place = function(itemstack, user, pointed_thing) - screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS) - return itemstack - end, -}) - --- Perfect Screwdriver (en mithril à 10 000 utilisations) -minetest.register_tool("screwdriver:screwdriver_perfect", { - description = "Perfect Screwdriver (left-click rotates face, right-click rotates axis)", - inventory_image = "screwdriver_perfect.png", - on_use = function(itemstack, user, pointed_thing) - screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 10000) - return itemstack - end, - on_place = function(itemstack, user, pointed_thing) - screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS, 10000) - return itemstack - end, -}) - - -minetest.register_craft({ - output = "screwdriver:screwdriver", - recipe = { - {"default:steel_ingot"}, - {"group:stick"} - } -}) - -minetest.register_craft({ - output = "screwdriver:screwdriver_perfect", - recipe = { - {"default:mithril_ingot"}, - {"group:stick"} - } -}) - -minetest.register_alias("screwdriver:screwdriver1", "screwdriver:screwdriver") -minetest.register_alias("screwdriver:screwdriver2", "screwdriver:screwdriver") -minetest.register_alias("screwdriver:screwdriver3", "screwdriver:screwdriver") -minetest.register_alias("screwdriver:screwdriver4", "screwdriver:screwdriver") diff --git a/minetestforfun_game/mods/screwdriver/license.txt b/minetestforfun_game/mods/screwdriver/license.txt deleted file mode 100644 index d9b721bb..00000000 --- a/minetestforfun_game/mods/screwdriver/license.txt +++ /dev/null @@ -1,50 +0,0 @@ -License of source code ----------------------- - -GNU Lesser General Public License, version 2.1 -Copyright (C) 2013-2016 RealBadAngel, Maciej Kasatkin -Copyright (C) 2013-2016 Various Minetest developers and contributors - -This program is free software; you can redistribute it and/or modify it under the terms -of the GNU Lesser General Public License as published by the Free Software Foundation; -either version 2.1 of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -See the GNU Lesser General Public License for more details: -https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - - -Licenses of media (textures) ----------------------------- - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2013-2016 Gambit - -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/minetestforfun_game/mods/screwdriver/textures/screwdriver.png b/minetestforfun_game/mods/screwdriver/textures/screwdriver.png deleted file mode 100755 index 32b38462..00000000 Binary files a/minetestforfun_game/mods/screwdriver/textures/screwdriver.png and /dev/null differ diff --git a/minetestforfun_game/mods/screwdriver/textures/screwdriver_perfect.png b/minetestforfun_game/mods/screwdriver/textures/screwdriver_perfect.png deleted file mode 100755 index 37118cde..00000000 Binary files a/minetestforfun_game/mods/screwdriver/textures/screwdriver_perfect.png and /dev/null differ diff --git a/minetestforfun_game/mods/stairs/README.txt b/minetestforfun_game/mods/stairs/README.txt deleted file mode 100755 index d32cd71b..00000000 --- a/minetestforfun_game/mods/stairs/README.txt +++ /dev/null @@ -1,16 +0,0 @@ -Minetest Game mod: stairs -========================= -See license.txt for license information. - -Authors of source code ----------------------- -Originally by Kahrl (LGPL 2.1) and -celeron55, Perttu Ahola (LGPL 2.1) -Various Minetest developers and contributors (LGPL 2.1) - -Authors of media (models) -------------------------- -Jean-Patrick G. (kilbith) (CC BY-SA 3.0): - stairs_stair.obj - - diff --git a/minetestforfun_game/mods/stairs/depends.txt b/minetestforfun_game/mods/stairs/depends.txt deleted file mode 100755 index d77ba253..00000000 --- a/minetestforfun_game/mods/stairs/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -farming diff --git a/minetestforfun_game/mods/stairs/init.lua b/minetestforfun_game/mods/stairs/init.lua deleted file mode 100755 index 3dd34954..00000000 --- a/minetestforfun_game/mods/stairs/init.lua +++ /dev/null @@ -1,548 +0,0 @@ --- Minetest 0.4 mod: stairs --- See README.txt for licensing and other information. - - --- Global namespace for functions - -stairs = {} - - --- Register aliases for new pine node names - -minetest.register_alias("stairs:stair_pinewood", "stairs:stair_pine_wood") -minetest.register_alias("stairs:slab_pinewood", "stairs:slab_pine_wood") - - --- Get setting for replace ABM - -local replace = minetest.setting_getbool("enable_stairs_replace_abm") - - --- Register stairs. --- Node will be called stairs:stair_ - -function stairs.register_stair(subname, recipeitem, groups, images, description, sounds) - groups.stair = 1 - minetest.register_node(":stairs:stair_" .. subname, { - description = description, - drawtype = "mesh", - mesh = "stairs_stair.obj", - tiles = images, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - groups = groups, - sounds = sounds, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - collision_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - - local p0 = pointed_thing.under - local p1 = pointed_thing.above - local param2 = 0 - - local placer_pos = placer:getpos() - if placer_pos then - local dir = { - x = p1.x - placer_pos.x, - y = p1.y - placer_pos.y, - z = p1.z - placer_pos.z - } - param2 = minetest.dir_to_facedir(dir) - end - - if p0.y - 1 == p1.y then - param2 = param2 + 20 - if param2 == 21 then - param2 = 23 - elseif param2 == 23 then - param2 = 21 - end - end - - return minetest.item_place(itemstack, placer, pointed_thing, param2) - end, - }) - - -- for replace ABM - if replace then - minetest.register_node(":stairs:stair_" .. subname .. "upside_down", { - replace_name = "stairs:stair_" .. subname, - groups = {slabs_replace = 1}, - }) - end - - if recipeitem then - minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 8', - recipe = { - {recipeitem, "", ""}, - {recipeitem, recipeitem, ""}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - -- Flipped recipe for the silly minecrafters - minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 8', - recipe = { - {"", "", recipeitem}, - {"", recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - -- Fuel - local baseburntime = minetest.get_craft_result({ - method = "fuel", - width = 1, - items = {recipeitem} - }).time - if baseburntime > 0 then - minetest.register_craft({ - type = "fuel", - recipe = 'stairs:stair_' .. subname, - burntime = math.floor(baseburntime * 0.75), - }) - end - end -end - - --- Slab facedir to placement 6d matching table -local slab_trans_dir = {[0] = 8, 0, 2, 1, 3, 4} --- Slab facedir when placing initial slab against other surface -local slab_trans_dir_place = {[0] = 0, 20, 12, 16, 4, 8} - --- Register slabs. --- Node will be called stairs:slab_ - -function stairs.register_slab(subname, recipeitem, groups, images, description, sounds) - groups.slab = 1 - minetest.register_node(":stairs:slab_" .. subname, { - description = description, - drawtype = "nodebox", - tiles = images, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = false, - groups = groups, - sounds = sounds, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - }, - on_place = function(itemstack, placer, pointed_thing) - local under = minetest.get_node(pointed_thing.under) - local wield_item = itemstack:get_name() - - if under and wield_item == under.name then - -- place slab using under node orientation - local dir = minetest.dir_to_facedir(vector.subtract( - pointed_thing.above, pointed_thing.under), true) - - local p2 = under.param2 - - -- combine two slabs if possible - if slab_trans_dir[math.floor(p2 / 4)] == dir then - if not recipeitem then - return itemstack - end - local player_name = placer:get_player_name() - if minetest.is_protected(pointed_thing.under, player_name) and not - minetest.check_player_privs(placer, "protection_bypass") then - minetest.record_protection_violation(pointed_thing.under, - player_name) - return - end - minetest.set_node(pointed_thing.under, {name = recipeitem, param2 = p2}) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack - end - - -- Placing a slab on an upside down slab should make it right-side up. - if p2 >= 20 and dir == 8 then - p2 = p2 - 20 - -- same for the opposite case: slab below normal slab - elseif p2 <= 3 and dir == 4 then - p2 = p2 + 20 - end - - -- else attempt to place node with proper param2 - minetest.item_place_node(ItemStack(wield_item), placer, pointed_thing, p2) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack - else - -- place slab using look direction of player - local dir = minetest.dir_to_wallmounted(vector.subtract( - pointed_thing.above, pointed_thing.under), true) - - local rot = slab_trans_dir_place[dir] - if rot == 0 or rot == 20 then - rot = rot + minetest.dir_to_facedir(placer:get_look_dir()) - end - - return minetest.item_place(itemstack, placer, pointed_thing, rot) - end - end, - }) - - -- for replace ABM - if replace then - minetest.register_node(":stairs:slab_" .. subname .. "upside_down", { - replace_name = "stairs:slab_".. subname, - groups = {slabs_replace = 1}, - }) - end - - if recipeitem then - minetest.register_craft({ - output = 'stairs:slab_' .. subname .. ' 6', - recipe = { - {recipeitem, recipeitem, recipeitem}, - }, - }) - - -- Fuel - local baseburntime = minetest.get_craft_result({ - method = "fuel", - width = 1, - items = {recipeitem} - }).time - if baseburntime > 0 then - minetest.register_craft({ - type = "fuel", - recipe = 'stairs:slab_' .. subname, - burntime = math.floor(baseburntime * 0.5), - }) - end - end -end - - --- Optionally replace old "upside_down" nodes with new param2 versions. --- Disabled by default. - -if replace then - minetest.register_abm({ - label = "Slab replace", - nodenames = {"group:slabs_replace"}, - interval = 16, - chance = 1, - action = function(pos, node) - node.name = minetest.registered_nodes[node.name].replace_name - node.param2 = node.param2 + 20 - if node.param2 == 21 then - node.param2 = 23 - elseif node.param2 == 23 then - node.param2 = 21 - end - minetest.set_node(pos, node) - end, - }) -end - - --- Stair/slab registration function. --- Nodes will be called stairs:{stair,slab}_ - -function stairs.register_stair_and_slab(subname, recipeitem, - groups, images, desc_stair, desc_slab, sounds) - stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds) - stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds) -end - - --- Register default stairs and slabs - -stairs.register_stair_and_slab( - "wood", - "default:wood", - {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - {"default_wood.png"}, - "Wooden Stair", - "Wooden Slab", - default.node_sound_wood_defaults() -) - -stairs.register_stair_and_slab( - "junglewood", - "default:junglewood", - {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - {"default_junglewood.png"}, - "Jungle Wood Stair", - "Jungle Wood Slab", - default.node_sound_wood_defaults() -) - -stairs.register_stair_and_slab( - "pine_wood", - "default:pine_wood", - {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, - {"default_pine_wood.png"}, - "Pine Wood Stair", - "Pine Wood Slab", - default.node_sound_wood_defaults() -) - -stairs.register_stair_and_slab( - "acacia_wood", - "default:acacia_wood", - {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - {"default_acacia_wood.png"}, - "Acacia Wood Stair", - "Acacia Wood Slab", - default.node_sound_wood_defaults() -) - -stairs.register_stair_and_slab( - "aspen_wood", - "default:aspen_wood", - {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, - {"default_aspen_wood.png"}, - "Aspen Wood Stair", - "Aspen Wood Slab", - default.node_sound_wood_defaults() -) - -stairs.register_stair_and_slab( - "stone", - "default:stone", - {cracky = 3}, - {"default_stone.png"}, - "Stone Stair", - "Stone Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "cobble", - "default:cobble", - {cracky = 3}, - {"default_cobble.png"}, - "Cobblestone Stair", - "Cobblestone Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "mossycobble", - nil, - {cracky = 3}, - {"default_mossycobble.png"}, - "Mossy Cobblestone Stair", - "Mossy Cobblestone Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "stonebrick", - "default:stonebrick", - {cracky = 2}, - {"default_stone_brick.png"}, - "Stone Brick Stair", - "Stone Brick Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "stone_block", - "default:stone_block", - {cracky = 2}, - {"default_stone_block.png"}, - "Stone Block Stair", - "Stone Block Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "desert_stone", - "default:desert_stone", - {cracky = 3}, - {"default_desert_stone.png"}, - "Desert Stone Stair", - "Desert Stone Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "desert_cobble", - "default:desert_cobble", - {cracky = 3}, - {"default_desert_cobble.png"}, - "Desert Cobblestone Stair", - "Desert Cobblestone Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "desert_stonebrick", - "default:desert_stonebrick", - {cracky = 2}, - {"default_desert_stone_brick.png"}, - "Desert Stone Brick Stair", - "Desert Stone Brick Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "desert_stone_block", - "default:desert_stone_block", - {cracky = 2}, - {"default_desert_stone_block.png"}, - "Desert Stone Block Stair", - "Desert Stone Block Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "sandstone", - "default:sandstone", - {crumbly = 1, cracky = 3}, - {"default_sandstone.png"}, - "Sandstone Stair", - "Sandstone Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "sandstonebrick", - "default:sandstonebrick", - {cracky = 2}, - {"default_sandstone_brick.png"}, - "Sandstone Brick Stair", - "Sandstone Brick Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "sandstone_block", - "default:sandstone_block", - {cracky = 2}, - {"default_sandstone_block.png"}, - "Sandstone Block Stair", - "Sandstone Block Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "obsidian", - "default:obsidian", - {cracky = 1, level = 2}, - {"default_obsidian.png"}, - "Obsidian Stair", - "Obsidian Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "obsidianbrick", - "default:obsidianbrick", - {cracky = 1, level = 2}, - {"default_obsidian_brick.png"}, - "Obsidian Brick Stair", - "Obsidian Brick Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "obsidian_block", - "default:obsidian_block", - {cracky = 1, level = 2}, - {"default_obsidian_block.png"}, - "Obsidian Block Stair", - "Obsidian Block Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "brick", - "default:brick", - {cracky = 3}, - {"default_brick.png"}, - "Brick Stair", - "Brick Slab", - default.node_sound_stone_defaults() -) - -stairs.register_stair_and_slab( - "straw", - "farming:straw", - {snappy = 3, flammable = 4}, - {"farming_straw.png"}, - "Straw Stair", - "Straw Slab", - default.node_sound_leaves_defaults() -) - -stairs.register_stair_and_slab( - "steelblock", - "default:steelblock", - {cracky = 1, level = 2}, - {"default_steel_block.png"}, - "Steel Block Stair", - "Steel Block Slab", - default.node_sound_metal_defaults() -) - -stairs.register_stair_and_slab( - "copperblock", - "default:copperblock", - {cracky = 1, level = 2}, - {"default_copper_block.png"}, - "Copper Block Stair", - "Copper Block Slab", - default.node_sound_metal_defaults() -) - -stairs.register_stair_and_slab( - "bronzeblock", - "default:bronzeblock", - {cracky = 1, level = 2}, - {"default_bronze_block.png"}, - "Bronze Block Stair", - "Bronze Block Slab", - default.node_sound_metal_defaults() -) - -stairs.register_stair_and_slab( - "goldblock", - "default:goldblock", - {cracky = 1}, - {"default_gold_block.png"}, - "Gold Block Stair", - "Gold Block Slab", - default.node_sound_metal_defaults() -) - --- From BFD: - -stairs.register_stair_and_slab( - "cherry_wood", - "default:cherry_plank", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_wood_cherry_planks.png"}, - "Cherry Plank Stair", - "Cherry Plank Slab", - "Cherry Plank Corner Stair", - default.node_sound_wood_defaults() -) diff --git a/minetestforfun_game/mods/stairs/models/stairs_stair.obj b/minetestforfun_game/mods/stairs/models/stairs_stair.obj deleted file mode 100755 index 45882c6e..00000000 --- a/minetestforfun_game/mods/stairs/models/stairs_stair.obj +++ /dev/null @@ -1,113 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib stairs.mtl -o stairs_top -v -0.500000 0.000000 -0.500000 -v -0.500000 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -v 0.500000 0.000000 -0.500000 -v -0.500000 0.500000 0.000000 -v 0.500000 0.500000 0.000000 -v -0.500000 0.500000 0.500000 -v 0.500000 0.500000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vn 0.000000 1.000000 0.000000 -g stairs_top -usemtl None -s off -f 4/1/1 1/2/1 2/3/1 3/4/1 -f 7/5/1 8/6/1 6/4/1 5/3/1 -o stairs_bottom -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -g stairs_bottom -usemtl None -s off -f 11/7/2 9/8/2 10/9/2 12/10/2 -o stairs_right -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 0.000000 0.000000 -v -0.500000 -0.500000 0.500000 -v -0.500000 0.500000 0.000000 -v -0.500000 0.500000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.500000 1.000000 -vt 1.000000 0.000000 -vn -1.000000 0.000000 0.000000 -g stairs_right -usemtl None -s off -f 13/11/3 14/12/3 15/13/3 -f 15/13/3 18/14/3 17/15/3 -f 14/12/3 16/16/3 18/14/3 -o stairs_left -v 0.500000 0.000000 0.000000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.000000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.000000 -v 0.500000 0.500000 0.500000 -vt 0.500000 0.500000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.500000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -g stairs_left -usemtl None -s off -f 19/17/4 20/18/4 21/19/4 -f 19/17/4 23/20/4 24/21/4 -f 20/18/4 24/21/4 22/22/4 -o stairs_back -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v 0.500000 0.500000 0.500000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -g stairs_back -usemtl None -s off -f 26/23/5 28/24/5 27/25/5 25/26/5 -o stairs_front -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.000000 -0.500000 -v -0.500000 0.500000 0.000000 -v 0.500000 0.500000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -g stairs_front -usemtl None -s off -f 30/27/6 29/28/6 34/29/6 33/30/6 -f 31/28/6 35/31/6 36/32/6 32/29/6 diff --git a/minetestforfun_game/mods/tnt/README.txt b/minetestforfun_game/mods/tnt/README.txt deleted file mode 100644 index c1ca88d5..00000000 --- a/minetestforfun_game/mods/tnt/README.txt +++ /dev/null @@ -1,41 +0,0 @@ -Minetest Game mod: tnt -====================== -See license.txt for license information. - -Authors of source code ----------------------- -PilzAdam (MIT) -ShadowNinja (MIT) -sofar (sofar@foo-projects.org) (MIT) -Various Minetest developers and contributors (MIT) - -Authors of media (textures) ---------------------------- -BlockMen (CC BY-SA 3.0): -All textures not mentioned below. - -ShadowNinja (CC BY-SA 3.0): -tnt_smoke.png - -Wuzzy (CC BY-SA 3.0): -All gunpowder textures except tnt_gunpowder_inventory.png. - -sofar (sofar@foo-projects.org) (CC BY-SA 3.0): -tnt_blast.png - -Introduction ------------- -This mod adds TNT to Minetest. TNT is a tool to help the player -in mining. - -How to use the mod: -Craft gunpowder by placing coal and gravel in the crafting area. -The gunpowder can be used to craft TNT or as fuse for TNT. -To craft TNT surround gunpowder with 4 wood in a + shape. - -There are different ways to blow up TNT: - 1. Hit it with a torch. - 2. Hit a gunpowder fuse that leads to a TNT block with a torch or flint-and-steel. - 3. Activate it with mesecons (fastest way). - -Be aware of the damage radius of 6 blocks! diff --git a/minetestforfun_game/mods/tnt/depends.txt b/minetestforfun_game/mods/tnt/depends.txt deleted file mode 100644 index 5ff216f7..00000000 --- a/minetestforfun_game/mods/tnt/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -fire - diff --git a/minetestforfun_game/mods/tnt/init.lua b/minetestforfun_game/mods/tnt/init.lua deleted file mode 100644 index 5d1de604..00000000 --- a/minetestforfun_game/mods/tnt/init.lua +++ /dev/null @@ -1,618 +0,0 @@ -tnt = {} - --- Default to enabled when in singleplayer -local enable_tnt = minetest.setting_getbool("enable_tnt") -if enable_tnt == nil then - enable_tnt = minetest.is_singleplayer() -end - --- loss probabilities array (one in X will be lost) -local loss_prob = {} - -loss_prob["default:cobble"] = 3 -loss_prob["default:dirt"] = 4 - -local tnt_radius = tonumber(minetest.setting_get("tnt_radius") or 3) - --- Fill a list with data for content IDs, after all nodes are registered -local cid_data = {} -minetest.after(0, function() - for name, def in pairs(minetest.registered_nodes) do - cid_data[minetest.get_content_id(name)] = { - name = name, - drops = def.drops, - flammable = def.groups.flammable, - on_blast = def.on_blast, - } - end -end) - -local function rand_pos(center, pos, radius) - local def - local reg_nodes = minetest.registered_nodes - local i = 0 - repeat - -- Give up and use the center if this takes too long - if i > 4 then - pos.x, pos.z = center.x, center.z - break - end - pos.x = center.x + math.random(-radius, radius) - pos.z = center.z + math.random(-radius, radius) - def = reg_nodes[minetest.get_node(pos).name] - i = i + 1 - until def and not def.walkable -end - -local function eject_drops(drops, pos, radius) - local drop_pos = vector.new(pos) - for _, item in pairs(drops) do - local count = math.min(item:get_count(), item:get_stack_max()) - while count > 0 do - local take = math.max(1,math.min(radius * radius, - count, - item:get_stack_max())) - rand_pos(pos, drop_pos, radius) - local dropitem = ItemStack(item) - dropitem:set_count(take) - local obj = minetest.add_item(drop_pos, dropitem) - if obj then - obj:get_luaentity().collect = true - obj:setacceleration({x = 0, y = -10, z = 0}) - obj:setvelocity({x = math.random(-3, 3), - y = math.random(0, 10), - z = math.random(-3, 3)}) - end - count = count - take - end - end -end - -local function add_drop(drops, item) - item = ItemStack(item) - local name = item:get_name() - if loss_prob[name] ~= nil and math.random(1, loss_prob[name]) == 1 then - return - end - - local drop = drops[name] - if drop == nil then - drops[name] = item - else - drop:set_count(drop:get_count() + item:get_count()) - end -end - -local function destroy(drops, npos, cid, c_air, c_fire, on_blast_queue, ignore_protection, ignore_on_blast) - if not ignore_protection and minetest.is_protected(npos, "") then - return cid - end - - local def = cid_data[cid] - - if not def then - return c_air - elseif not ignore_on_blast and def.on_blast then - on_blast_queue[#on_blast_queue + 1] = {pos = vector.new(npos), on_blast = def.on_blast} - return cid - elseif def.flammable then - return c_fire - else - local node_drops = minetest.get_node_drops(def.name, "") - for _, item in pairs(node_drops) do - add_drop(drops, item) - end - return c_air - end -end - -local function calc_velocity(pos1, pos2, old_vel, power) - -- Avoid errors caused by a vector of zero length - if vector.equals(pos1, pos2) then - return old_vel - end - - local vel = vector.direction(pos1, pos2) - vel = vector.normalize(vel) - vel = vector.multiply(vel, power) - - -- Divide by distance - local dist = vector.distance(pos1, pos2) - dist = math.max(dist, 1) - vel = vector.divide(vel, dist) - - -- Add old velocity - vel = vector.add(vel, old_vel) - - -- randomize it a bit - vel = vector.add(vel, { - x = math.random() - 0.5, - y = math.random() - 0.5, - z = math.random() - 0.5, - }) - - -- Limit to terminal velocity - dist = vector.length(vel) - if dist > 250 then - vel = vector.divide(vel, dist / 250) - end - return vel -end - -local function entity_physics(pos, radius, drops) - local objs = minetest.get_objects_inside_radius(pos, radius) - for _, obj in pairs(objs) do - local obj_pos = obj:getpos() - local dist = math.max(1, vector.distance(pos, obj_pos)) - - local damage = (4 / dist) * radius - if obj:is_player() then - -- currently the engine has no method to set - -- player velocity. See #2960 - -- instead, we knock the player back 1.0 node, and slightly upwards - local dir = vector.normalize(vector.subtract(obj_pos, pos)) - local moveoff = vector.multiply(dir, dist + 1.0) - local newpos = vector.add(pos, moveoff) - newpos = vector.add(newpos, {x = 0, y = 0.2, z = 0}) - obj:setpos(newpos) - - obj:set_hp(obj:get_hp() - damage) - else - local do_damage = true - local do_knockback = true - local entity_drops = {} - local luaobj = obj:get_luaentity() - local objdef = minetest.registered_entities[luaobj.name] - - if objdef and objdef.on_blast then - do_damage, do_knockback, entity_drops = objdef.on_blast(luaobj, damage) - end - - if do_knockback then - local obj_vel = obj:getvelocity() - obj:setvelocity(calc_velocity(pos, obj_pos, - obj_vel, radius * 10)) - end - if do_damage then - if not obj:get_armor_groups().immortal then - obj:punch(obj, 1.0, { - full_punch_interval = 1.0, - damage_groups = {fleshy = damage}, - }, nil) - end - end - for _, item in pairs(entity_drops) do - add_drop(drops, item) - end - end - end -end - -local function add_effects(pos, radius, drops) - minetest.add_particle({ - pos = pos, - velocity = vector.new(), - acceleration = vector.new(), - expirationtime = 0.4, - size = radius * 10, - collisiondetection = false, - vertical = false, - texture = "tnt_boom.png", - }) - minetest.add_particlespawner({ - amount = 64, - time = 0.5, - minpos = vector.subtract(pos, radius / 2), - maxpos = vector.add(pos, radius / 2), - minvel = {x = -10, y = -10, z = -10}, - maxvel = {x = 10, y = 10, z = 10}, - minacc = vector.new(), - maxacc = vector.new(), - minexptime = 1, - maxexptime = 2.5, - minsize = radius * 3, - maxsize = radius * 5, - texture = "tnt_smoke.png", - }) - - -- we just dropped some items. Look at the items entities and pick - -- one of them to use as texture - local texture = "tnt_blast.png" --fallback texture - local most = 0 - for name, stack in pairs(drops) do - local count = stack:get_count() - if count > most then - most = count - local def = minetest.registered_nodes[name] - if def and def.tiles and def.tiles[1] then - texture = def.tiles[1] - end - end - end - - minetest.add_particlespawner({ - amount = 64, - time = 0.1, - minpos = vector.subtract(pos, radius / 2), - maxpos = vector.add(pos, radius / 2), - minvel = {x = -3, y = 0, z = -3}, - maxvel = {x = 3, y = 5, z = 3}, - minacc = {x = 0, y = -10, z = 0}, - maxacc = {x = 0, y = -10, z = 0}, - minexptime = 0.8, - maxexptime = 2.0, - minsize = radius * 0.66, - maxsize = radius * 2, - texture = texture, - collisiondetection = true, - }) -end - -function tnt.burn(pos, nodename) - local name = nodename or minetest.get_node(pos).name - local group = minetest.get_item_group(name, "tnt") - if group > 0 then - minetest.sound_play("tnt_ignite", {pos = pos}) - minetest.set_node(pos, {name = name .. "_burning"}) - minetest.get_node_timer(pos):start(1) - elseif name == "tnt:gunpowder" then - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - end -end - -local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast) - pos = vector.round(pos) - -- scan for adjacent TNT nodes first, and enlarge the explosion - local vm1 = VoxelManip() - local p1 = vector.subtract(pos, 2) - local p2 = vector.add(pos, 2) - local minp, maxp = vm1:read_from_map(p1, p2) - local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) - local data = vm1:get_data() - local count = 0 - local c_tnt = minetest.get_content_id("tnt:tnt") - local c_tnt_burning = minetest.get_content_id("tnt:tnt_burning") - local c_tnt_boom = minetest.get_content_id("tnt:boom") - local c_air = minetest.get_content_id("air") - - for z = pos.z - 2, pos.z + 2 do - for y = pos.y - 2, pos.y + 2 do - local vi = a:index(pos.x - 2, y, z) - for x = pos.x - 2, pos.x + 2 do - local cid = data[vi] - if cid == c_tnt or cid == c_tnt_boom or cid == c_tnt_burning then - count = count + 1 - data[vi] = c_air - end - vi = vi + 1 - end - end - end - - vm1:set_data(data) - vm1:write_to_map() - - -- recalculate new radius - radius = math.floor(radius * math.pow(count, 1/3)) - - -- perform the explosion - local vm = VoxelManip() - local pr = PseudoRandom(os.time()) - p1 = vector.subtract(pos, radius) - p2 = vector.add(pos, radius) - minp, maxp = vm:read_from_map(p1, p2) - a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) - data = vm:get_data() - - local drops = {} - local on_blast_queue = {} - - local c_fire = minetest.get_content_id("fire:basic_flame") - for z = -radius, radius do - for y = -radius, radius do - local vi = a:index(pos.x + (-radius), pos.y + y, pos.z + z) - for x = -radius, radius do - local r = vector.length(vector.new(x, y, z)) - if (radius * radius) / (r * r) >= (pr:next(80, 125) / 100) then - local cid = data[vi] - local p = {x = pos.x + x, y = pos.y + y, z = pos.z + z} - if cid ~= c_air then - data[vi] = destroy(drops, p, cid, c_air, c_fire, - on_blast_queue, ignore_protection, - ignore_on_blast) - end - end - vi = vi + 1 - end - end - end - - vm:set_data(data) - vm:write_to_map() - vm:update_map() - vm:update_liquids() - - -- call check_single_for_falling for everything within 1.5x blast radius - for y = -radius * 1.5, radius * 1.5 do - for z = -radius * 1.5, radius * 1.5 do - for x = -radius * 1.5, radius * 1.5 do - local rad = {x = x, y = y, z = z} - local s = vector.add(pos, rad) - local r = vector.length(rad) - if r / radius < 1.4 then - minetest.check_single_for_falling(s) - end - end - end - end - - for _, queued_data in pairs(on_blast_queue) do - local dist = math.max(1, vector.distance(queued_data.pos, pos)) - local intensity = (radius * radius) / (dist * dist) - local node_drops = queued_data.on_blast(queued_data.pos, intensity) - if node_drops then - for _, item in pairs(node_drops) do - add_drop(drops, item) - end - end - end - - return drops, radius -end - -function tnt.boom(pos, def) - minetest.sound_play("tnt_explode", {pos = pos, gain = 1.5, max_hear_distance = 2*64}) - minetest.set_node(pos, {name = "tnt:boom"}) - local drops, radius = tnt_explode(pos, def.radius, def.ignore_protection, - def.ignore_on_blast) - -- append entity drops - local damage_radius = (radius / def.radius) * def.damage_radius - entity_physics(pos, damage_radius, drops) - if not def.disable_drops then - eject_drops(drops, pos, radius) - end - add_effects(pos, radius, drops) - minetest.log("action", "A TNT explosion occurred at " .. minetest.pos_to_string(pos) .. - " with radius " .. radius) -end - -minetest.register_node("tnt:boom", { - drawtype = "airlike", - light_source = default.LIGHT_MAX, - walkable = false, - drop = "", - groups = {dig_immediate = 3}, - on_construct = function(pos) - minetest.get_node_timer(pos):start(0.4) - end, - on_timer = function(pos, elapsed) - minetest.remove_node(pos) - end, - -- unaffected by explosions - on_blast = function() end, -}) - -minetest.register_node("tnt:gunpowder", { - description = "Gun Powder", - drawtype = "raillike", - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - walkable = false, - tiles = {"tnt_gunpowder_straight.png", "tnt_gunpowder_curved.png", "tnt_gunpowder_t_junction.png", "tnt_gunpowder_crossing.png"}, - inventory_image = "tnt_gunpowder_inventory.png", - wield_image = "tnt_gunpowder_inventory.png", - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - groups = {dig_immediate = 2, attached_node = 1, flammable = 5, - connect_to_raillike = minetest.raillike_group("gunpowder")}, - sounds = default.node_sound_leaves_defaults(), - - on_punch = function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "default:torch" then - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - minetest.log("action", puncher:get_player_name() .. - " ignites tnt:gunpowder at " .. - minetest.pos_to_string(pos)) - end - end, - on_blast = function(pos, intensity) - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - end, - on_burn = function(pos) - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - end, - on_ignite = function(pos, igniter) - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - end, -}) - -minetest.register_node("tnt:gunpowder_burning", { - drawtype = "raillike", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - light_source = 5, - tiles = {{ - name = "tnt_gunpowder_burning_straight_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_curved_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_t_junction_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_crossing_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }}, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - drop = "", - groups = {dig_immediate = 2, attached_node = 1, connect_to_raillike = minetest.raillike_group("gunpowder")}, - sounds = default.node_sound_leaves_defaults(), - on_timer = function(pos, elapsed) - for dx = -1, 1 do - for dz = -1, 1 do - for dy = -1, 1 do - if not (dx == 0 and dz == 0) then - tnt.burn({ - x = pos.x + dx, - y = pos.y + dy, - z = pos.z + dz, - }) - end - end - end - end - minetest.remove_node(pos) - end, - -- unaffected by explosions - on_blast = function() end, - on_construct = function(pos) - minetest.sound_play("tnt_gunpowder_burning", {pos = pos, gain = 2}) - minetest.get_node_timer(pos):start(1) - end, -}) - -minetest.register_craft({ - output = "tnt:gunpowder 5", - type = "shapeless", - recipe = {"default:coal_lump", "default:gravel"} -}) - -if enable_tnt then - minetest.register_craft({ - output = "tnt:tnt", - recipe = { - {"group:wood", "tnt:gunpowder", "group:wood"}, - {"tnt:gunpowder", "tnt:gunpowder", "tnt:gunpowder"}, - {"group:wood", "tnt:gunpowder", "group:wood"} - } - }) - - minetest.register_abm({ - label = "TNT ignition", - nodenames = {"group:tnt", "tnt:gunpowder"}, - neighbors = {"fire:basic_flame", "default:lava_source", "default:lava_flowing"}, - interval = 4, - chance = 1, - action = function(pos, node) - tnt.burn(pos, node.name) - end, - }) -end - -function tnt.register_tnt(def) - local name - if not def.name:find(':') then - name = "tnt:" .. def.name - else - name = def.name - def.name = def.name:match(":([%w_]+)") - end - if not def.tiles then def.tiles = {} end - local tnt_top = def.tiles.top or def.name .. "_top.png" - local tnt_bottom = def.tiles.bottom or def.name .. "_bottom.png" - local tnt_side = def.tiles.side or def.name .. "_side.png" - local tnt_burning = def.tiles.burning or def.name .. "_top_burning_animated.png" - if not def.damage_radius then def.damage_radius = def.radius * 2 end - - if enable_tnt then - minetest.register_node(":" .. name, { - description = def.description, - tiles = {tnt_top, tnt_bottom, tnt_side}, - is_ground_content = false, - groups = {dig_immediate = 2, mesecon = 2, tnt = 1, flammable = 5}, - sounds = default.node_sound_wood_defaults(), - on_punch = function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "default:torch" then - minetest.set_node(pos, {name = name .. "_burning"}) - minetest.log("action", puncher:get_player_name() .. - " ignites " .. node.name .. " at " .. - minetest.pos_to_string(pos)) - end - end, - on_blast = function(pos, intensity) - minetest.after(0.1, function() - tnt.boom(pos, def) - end) - end, - mesecons = {effector = - {action_on = - function(pos) - tnt.boom(pos, def) - end - } - }, - on_burn = function(pos) - minetest.set_node(pos, {name = name .. "_burning"}) - end, - on_ignite = function(pos, igniter) - minetest.set_node(pos, {name = name .. "_burning"}) - end, - }) - end - - minetest.register_node(":" .. name .. "_burning", { - tiles = { - { - name = tnt_burning, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - tnt_bottom, tnt_side - }, - light_source = 5, - drop = "", - sounds = default.node_sound_wood_defaults(), - groups = {falling_node = 1}, - on_timer = function(pos, elapsed) - tnt.boom(pos, def) - end, - -- unaffected by explosions - on_blast = function() end, - on_construct = function(pos) - minetest.sound_play("tnt_ignite", {pos = pos}) - minetest.get_node_timer(pos):start(4) - minetest.check_for_falling(pos) - end, - }) -end - -tnt.register_tnt({ - name = "tnt:tnt", - description = "TNT", - radius = tnt_radius, -}) diff --git a/minetestforfun_game/mods/tnt/license.txt b/minetestforfun_game/mods/tnt/license.txt deleted file mode 100644 index 210f2bdc..00000000 --- a/minetestforfun_game/mods/tnt/license.txt +++ /dev/null @@ -1,65 +0,0 @@ -License of source code ----------------------- - -The MIT License (MIT) -Copyright (C) 2014-2016 PilzAdam -Copyright (C) 2014-2016 ShadowNinja -Copyright (C) 2016 sofar (sofar@foo-projects.org) -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 -Copyright (C) 2014-2016 ShadowNinja -Copyright (C) 2015-2016 Wuzzy -Copyright (C) 2016 sofar (sofar@foo-projects.org) - -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/minetestforfun_game/mods/tnt/sounds/tnt_explode.ogg b/minetestforfun_game/mods/tnt/sounds/tnt_explode.ogg deleted file mode 100644 index a414ea04..00000000 Binary files a/minetestforfun_game/mods/tnt/sounds/tnt_explode.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/sounds/tnt_gunpowder_burning.ogg b/minetestforfun_game/mods/tnt/sounds/tnt_gunpowder_burning.ogg deleted file mode 100644 index 5c5bfaf2..00000000 Binary files a/minetestforfun_game/mods/tnt/sounds/tnt_gunpowder_burning.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/sounds/tnt_ignite.ogg b/minetestforfun_game/mods/tnt/sounds/tnt_ignite.ogg deleted file mode 100644 index 199f2067..00000000 Binary files a/minetestforfun_game/mods/tnt/sounds/tnt_ignite.ogg and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_blast.png b/minetestforfun_game/mods/tnt/textures/tnt_blast.png deleted file mode 100644 index bbb1096f..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_blast.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_boom.png b/minetestforfun_game/mods/tnt/textures/tnt_boom.png deleted file mode 100644 index c848bfcd..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_boom.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_bottom.png b/minetestforfun_game/mods/tnt/textures/tnt_bottom.png deleted file mode 100644 index 95f66cb9..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_bottom.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png deleted file mode 100644 index a901f7bd..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png deleted file mode 100644 index bc018065..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png deleted file mode 100644 index c860acef..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png deleted file mode 100644 index a556072c..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_crossing.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_crossing.png deleted file mode 100644 index 916c84ee..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_crossing.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_curved.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_curved.png deleted file mode 100644 index cb8b4eac..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_curved.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_inventory.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_inventory.png deleted file mode 100644 index 105a2d25..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_inventory.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_straight.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_straight.png deleted file mode 100644 index 8ab0e3c8..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_straight.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_t_junction.png b/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_t_junction.png deleted file mode 100644 index ac997a7a..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_gunpowder_t_junction.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_side.png b/minetestforfun_game/mods/tnt/textures/tnt_side.png deleted file mode 100644 index d3034732..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_side.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_smoke.png b/minetestforfun_game/mods/tnt/textures/tnt_smoke.png deleted file mode 100644 index 488b50fe..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_smoke.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_top.png b/minetestforfun_game/mods/tnt/textures/tnt_top.png deleted file mode 100644 index 31b807cb..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_top_burning.png b/minetestforfun_game/mods/tnt/textures/tnt_top_burning.png deleted file mode 100644 index fc0d4905..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_top_burning.png and /dev/null differ diff --git a/minetestforfun_game/mods/tnt/textures/tnt_top_burning_animated.png b/minetestforfun_game/mods/tnt/textures/tnt_top_burning_animated.png deleted file mode 100644 index 18a270fb..00000000 Binary files a/minetestforfun_game/mods/tnt/textures/tnt_top_burning_animated.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/README.txt b/minetestforfun_game/mods/vessels/README.txt deleted file mode 100755 index 5bb798c8..00000000 --- a/minetestforfun_game/mods/vessels/README.txt +++ /dev/null @@ -1,22 +0,0 @@ -Minetest Game mod: vessels -========================== -See license.txt for license information. - -Authors of source code ----------------------- -Originally by Vanessa Ezekowitz (LGPL 2.1) -Modified by Perttu Ahola (LGPL 2.1) -Various Minetest developers and contributors (LGPL 2.1) - -Authors of media (textures) ---------------------------- -All not listed below, Vanessa Ezekowitz (CC BY-SA 3.0) - -The following textures were modified by Thomas-S (CC BY-SA 3.0): - vessels_drinking_glass.png - vessels_drinking_glass_inv.png - vessels_glass_bottle.png - vessels_steel_bottle.png - -The following texture was created by Wuzzy (CC BY-SA 3.0): - vessels_shelf_slot.png (based on vessels_glass_bottle.png) diff --git a/minetestforfun_game/mods/vessels/depends.txt b/minetestforfun_game/mods/vessels/depends.txt deleted file mode 100755 index 4ad96d51..00000000 --- a/minetestforfun_game/mods/vessels/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/minetestforfun_game/mods/vessels/init.lua b/minetestforfun_game/mods/vessels/init.lua deleted file mode 100755 index 06dba1f0..00000000 --- a/minetestforfun_game/mods/vessels/init.lua +++ /dev/null @@ -1,198 +0,0 @@ --- Minetest 0.4 mod: vessels --- See README.txt for licensing and other information. - -local vessels_shelf_formspec = - "size[8,7;]" .. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[context;vessels;0,0.3;8,2;]" .. - "list[current_player;main;0,2.85;8,1;]" .. - "list[current_player;main;0,4.08;8,3;8]" .. - "listring[context;vessels]" .. - "listring[current_player;main]" .. - default.get_hotbar_bg(0, 2.85) - --- Inventory slots overlay -local vx, vy = 0, 0.3 -for i = 1, 16 do - if i == 9 then - vx = 0 - vy = vy + 1 - end - vessels_shelf_formspec = vessels_shelf_formspec .. - "image[" .. vx .. "," .. vy .. ";1,1;vessels_shelf_slot.png]" - vx = vx + 1 -end - -minetest.register_node("vessels:shelf", { - description = "Vessels Shelf", - tiles = {"default_wood.png", "default_wood.png", "default_wood.png", - "default_wood.png", "vessels_shelf.png", "vessels_shelf.png"}, - paramtype2 = "facedir", - is_ground_content = false, - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, - sounds = default.node_sound_wood_defaults(), - - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", vessels_shelf_formspec) - local inv = meta:get_inventory() - inv:set_size("vessels", 8 * 2) - end, - can_dig = function(pos,player) - local inv = minetest.get_meta(pos):get_inventory() - return inv:is_empty("vessels") - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if minetest.get_item_group(stack:get_name(), "vessel") ~= 0 then - return stack:get_count() - end - return 0 - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name() .. - " moves stuff in vessels shelf at ".. minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " moves stuff to vessels shelf at ".. minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " takes stuff from vessels shelf at ".. minetest.pos_to_string(pos)) - end, - on_blast = function(pos) - local drops = {} - default.get_inventory_drops(pos, "vessels", drops) - drops[#drops + 1] = "vessels:shelf" - minetest.remove_node(pos) - return drops - end, -}) - -minetest.register_craft({ - output = "vessels:shelf", - recipe = { - {"group:wood", "group:wood", "group:wood"}, - {"group:vessel", "group:vessel", "group:vessel"}, - {"group:wood", "group:wood", "group:wood"}, - } -}) - -minetest.register_node("vessels:glass_bottle", { - description = "Glass Bottle (empty)", - drawtype = "plantlike", - tiles = {"vessels_glass_bottle.png"}, - inventory_image = "vessels_glass_bottle.png", - wield_image = "vessels_glass_bottle.png", - paramtype = "light", - is_ground_content = false, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} - }, - groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_craft( { - output = "vessels:glass_bottle 10", - recipe = { - {"default:glass", "", "default:glass"}, - {"default:glass", "", "default:glass"}, - {"", "default:glass", ""} - } -}) - -minetest.register_node("vessels:drinking_glass", { - description = "Drinking Glass (empty)", - drawtype = "plantlike", - tiles = {"vessels_drinking_glass.png"}, - inventory_image = "vessels_drinking_glass_inv.png", - wield_image = "vessels_drinking_glass.png", - paramtype = "light", - is_ground_content = false, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} - }, - groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_craft( { - output = "vessels:drinking_glass 14", - recipe = { - {"default:glass", "", "default:glass"}, - {"default:glass", "", "default:glass"}, - {"default:glass", "default:glass", "default:glass"} - } -}) - -minetest.register_node("vessels:steel_bottle", { - description = "Heavy Steel Bottle (empty)", - drawtype = "plantlike", - tiles = {"vessels_steel_bottle.png"}, - inventory_image = "vessels_steel_bottle.png", - wield_image = "vessels_steel_bottle.png", - paramtype = "light", - is_ground_content = false, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} - }, - groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, - sounds = default.node_sound_defaults(), -}) - -minetest.register_craft( { - output = "vessels:steel_bottle 5", - recipe = { - {"default:steel_ingot", "", "default:steel_ingot"}, - {"default:steel_ingot", "", "default:steel_ingot"}, - {"", "default:steel_ingot", ""} - } -}) - - --- Glass and steel recycling - -minetest.register_craftitem("vessels:glass_fragments", { - description = "Pile of Glass Fragments", - inventory_image = "vessels_glass_fragments.png", -}) - -minetest.register_craft( { - type = "shapeless", - output = "vessels:glass_fragments", - recipe = { - "vessels:glass_bottle", - "vessels:glass_bottle", - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "vessels:glass_fragments", - recipe = { - "vessels:drinking_glass", - "vessels:drinking_glass", - }, -}) - -minetest.register_craft({ - type = "cooking", - output = "default:glass", - recipe = "vessels:glass_fragments", -}) - -minetest.register_craft( { - type = "cooking", - output = "default:steel_ingot", - recipe = "vessels:steel_bottle", -}) - diff --git a/minetestforfun_game/mods/vessels/license.txt b/minetestforfun_game/mods/vessels/license.txt deleted file mode 100644 index de16a3b0..00000000 --- a/minetestforfun_game/mods/vessels/license.txt +++ /dev/null @@ -1,52 +0,0 @@ -License of source code ----------------------- - -GNU Lesser General Public License, version 2.1 -Copyright (C) 2012-2016 Vanessa Ezekowitz -Copyright (C) 2012-2016 celeron55, Perttu Ahola -Copyright (C) 2012-2016 Various Minetest developers and contributors - -This program is free software; you can redistribute it and/or modify it under the terms -of the GNU Lesser General Public License as published by the Free Software Foundation; -either version 2.1 of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -See the GNU Lesser General Public License for more details: -https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - - -Licenses of media (textures) ----------------------------- - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2012-2016 Vanessa Ezekowitz -Copyright (C) 2016 Thomas-S - -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/minetestforfun_game/mods/vessels/textures/vessels_drinking_glass.png b/minetestforfun_game/mods/vessels/textures/vessels_drinking_glass.png deleted file mode 100644 index 757a5153..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_drinking_glass.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_drinking_glass_inv.png b/minetestforfun_game/mods/vessels/textures/vessels_drinking_glass_inv.png deleted file mode 100644 index b3e9d8dc..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_drinking_glass_inv.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_glass_bottle.png b/minetestforfun_game/mods/vessels/textures/vessels_glass_bottle.png deleted file mode 100644 index 83777c5c..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_glass_bottle.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_glass_bottle_inv.png b/minetestforfun_game/mods/vessels/textures/vessels_glass_bottle_inv.png deleted file mode 100644 index c751e57a..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_glass_bottle_inv.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_glass_fragments.png b/minetestforfun_game/mods/vessels/textures/vessels_glass_fragments.png deleted file mode 100644 index 53dedda6..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_glass_fragments.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_shelf.png b/minetestforfun_game/mods/vessels/textures/vessels_shelf.png deleted file mode 100644 index b6ef3d96..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_shelf.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_shelf_slot.png b/minetestforfun_game/mods/vessels/textures/vessels_shelf_slot.png deleted file mode 100644 index ff29082a..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_shelf_slot.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_steel_bottle.png b/minetestforfun_game/mods/vessels/textures/vessels_steel_bottle.png deleted file mode 100644 index 5da1c69a..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_steel_bottle.png and /dev/null differ diff --git a/minetestforfun_game/mods/vessels/textures/vessels_steel_bottle_inv.png b/minetestforfun_game/mods/vessels/textures/vessels_steel_bottle_inv.png deleted file mode 100644 index 70c518ed..00000000 Binary files a/minetestforfun_game/mods/vessels/textures/vessels_steel_bottle_inv.png and /dev/null differ diff --git a/minetestforfun_game/mods/walls/README.txt b/minetestforfun_game/mods/walls/README.txt deleted file mode 100644 index 0389174d..00000000 --- a/minetestforfun_game/mods/walls/README.txt +++ /dev/null @@ -1,7 +0,0 @@ -Minetest Game mod: walls -======================== -See license.txt for license information. - -Authors of source code ----------------------- -Auke Kok (LGPL 2.1) diff --git a/minetestforfun_game/mods/walls/depends.txt b/minetestforfun_game/mods/walls/depends.txt deleted file mode 100644 index 4ad96d51..00000000 --- a/minetestforfun_game/mods/walls/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/minetestforfun_game/mods/walls/init.lua b/minetestforfun_game/mods/walls/init.lua deleted file mode 100644 index bee8e465..00000000 --- a/minetestforfun_game/mods/walls/init.lua +++ /dev/null @@ -1,46 +0,0 @@ -walls = {} - -walls.register = function(wall_name, wall_desc, wall_texture, wall_mat, wall_sounds) - -- inventory node, and pole-type wall start item - minetest.register_node(wall_name, { - description = wall_desc, - drawtype = "nodebox", - node_box = { - type = "connected", - fixed = {{-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}}, - -- connect_bottom = - connect_front = {{-3/16, -1/2, -1/2, 3/16, 3/8, -1/4}}, - connect_left = {{-1/2, -1/2, -3/16, -1/4, 3/8, 3/16}}, - connect_back = {{-3/16, -1/2, 1/4, 3/16, 3/8, 1/2}}, - connect_right = {{ 1/4, -1/2, -3/16, 1/2, 3/8, 3/16}}, - }, - connects_to = { "group:wall", "group:stone" }, - paramtype = "light", - is_ground_content = false, - tiles = { wall_texture, }, - walkable = true, - groups = { cracky = 3, wall = 1, stone = 2 }, - sounds = wall_sounds, - }) - - -- crafting recipe - minetest.register_craft({ - output = wall_name .. " 6", - recipe = { - { '', '', '' }, - { wall_mat, wall_mat, wall_mat}, - { wall_mat, wall_mat, wall_mat}, - } - }) - -end - -walls.register("walls:cobble", "Cobblestone Wall", "default_cobble.png", - "default:cobble", default.node_sound_stone_defaults()) - -walls.register("walls:mossycobble", "Mossy Cobblestone Wall", "default_mossycobble.png", - "default:mossycobble", default.node_sound_stone_defaults()) - -walls.register("walls:desertcobble", "Desert Cobblestone Wall", "default_desert_cobble.png", - "default:desert_cobble", default.node_sound_stone_defaults()) - diff --git a/minetestforfun_game/mods/walls/license.txt b/minetestforfun_game/mods/walls/license.txt deleted file mode 100644 index ccfaf1cd..00000000 --- a/minetestforfun_game/mods/walls/license.txt +++ /dev/null @@ -1,14 +0,0 @@ -License of source code ----------------------- - -GNU Lesser General Public License, version 2.1 -Copyright (C) 2015 Auke Kok - -This program is free software; you can redistribute it and/or modify it under the terms -of the GNU Lesser General Public License as published by the Free Software Foundation; -either version 2.1 of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -See the GNU Lesser General Public License for more details: -https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html diff --git a/minetestforfun_game/mods/wool/README.txt b/minetestforfun_game/mods/wool/README.txt deleted file mode 100755 index a66677dd..00000000 --- a/minetestforfun_game/mods/wool/README.txt +++ /dev/null @@ -1,16 +0,0 @@ -Minetest Game mod: wool -======================= -See license.txt for license information. - -Authors of source code ----------------------- -Originally by Perttu Ahola (celeron55) (MIT) -Various Minetest developers and contributors (MIT) - -Authors of media (textures) ---------------------------- -Cisoun (CC BY-SA 3.0): - wool_black.png wool_brown.png wool_dark_green.png wool_green.png - wool_magenta.png wool_pink.png wool_violet.png wool_yellow.png - wool_blue.png wool_cyan.png wool_dark_grey.png wool_grey.png - wool_orange.png wool_red.png wool_white.png diff --git a/minetestforfun_game/mods/wool/depends.txt b/minetestforfun_game/mods/wool/depends.txt deleted file mode 100755 index 4ad96d51..00000000 --- a/minetestforfun_game/mods/wool/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/minetestforfun_game/mods/wool/init.lua b/minetestforfun_game/mods/wool/init.lua deleted file mode 100755 index b2f7ea78..00000000 --- a/minetestforfun_game/mods/wool/init.lua +++ /dev/null @@ -1,52 +0,0 @@ -local wool = {} --- This uses a trick: you can first define the recipes using all of the base --- colors, and then some recipes using more specific colors for a few non-base --- colors available. When crafting, the last recipes will be checked first. - -wool.dyes = { - {"white", "White", "basecolor_white"}, - {"grey", "Grey", "basecolor_grey"}, - {"black", "Black", "basecolor_black"}, - {"red", "Red", "basecolor_red"}, - {"yellow", "Yellow", "basecolor_yellow"}, - {"green", "Green", "basecolor_green"}, - {"cyan", "Cyan", "basecolor_cyan"}, - {"blue", "Blue", "basecolor_blue"}, - {"magenta", "Magenta", "basecolor_magenta"}, - {"orange", "Orange", "excolor_orange"}, - {"violet", "Violet", "excolor_violet"}, - {"brown", "Brown", "unicolor_dark_orange"}, - {"pink", "Pink", "unicolor_light_red"}, - {"dark_grey", "Dark Grey", "unicolor_darkgrey"}, - {"dark_green", "Dark Green", "unicolor_dark_green"}, -} - -for _, row in ipairs(wool.dyes) do - local name = row[1] - local desc = row[2] - local craft_color_group = row[3] - -- Node Definition - minetest.register_node("wool:"..name, { - description = desc.." Wool", - tiles = {"wool_"..name..".png"}, - is_ground_content = false, - groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, - flammable = 3, wool = 1}, - sounds = default.node_sound_defaults(), - }) - if craft_color_group then - -- Crafting from dye and white wool - minetest.register_craft({ - type = "shapeless", - output = "wool:" .. name, - recipe = {"group:dye," .. craft_color_group, "group:wool"}, - }) - end -end - - --- legacy - --- Backwards compatibility with jordach's 16-color wool mod -minetest.register_alias("wool:dark_blue", "wool:blue") -minetest.register_alias("wool:gold", "wool:yellow") diff --git a/minetestforfun_game/mods/wool/license.txt b/minetestforfun_game/mods/wool/license.txt deleted file mode 100644 index 93101636..00000000 --- a/minetestforfun_game/mods/wool/license.txt +++ /dev/null @@ -1,60 +0,0 @@ -License of source code ----------------------- - -The MIT License (MIT) -Copyright (C) 2012-2016 Perttu Ahola (celeron55) -Copyright (C) 2012-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) 2012-2016 Cisoun - -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/minetestforfun_game/mods/wool/textures/wool_black.png b/minetestforfun_game/mods/wool/textures/wool_black.png deleted file mode 100755 index 700d439d..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_black.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_blue.png b/minetestforfun_game/mods/wool/textures/wool_blue.png deleted file mode 100755 index c71b36a0..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_blue.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_brown.png b/minetestforfun_game/mods/wool/textures/wool_brown.png deleted file mode 100755 index 2620dfdb..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_brown.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_cyan.png b/minetestforfun_game/mods/wool/textures/wool_cyan.png deleted file mode 100755 index 395b6ac7..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_cyan.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_dark_green.png b/minetestforfun_game/mods/wool/textures/wool_dark_green.png deleted file mode 100755 index a686bfd8..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_dark_green.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_dark_grey.png b/minetestforfun_game/mods/wool/textures/wool_dark_grey.png deleted file mode 100755 index 93597236..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_dark_grey.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_green.png b/minetestforfun_game/mods/wool/textures/wool_green.png deleted file mode 100755 index dcb663be..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_green.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_grey.png b/minetestforfun_game/mods/wool/textures/wool_grey.png deleted file mode 100755 index 2f4c3380..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_grey.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_magenta.png b/minetestforfun_game/mods/wool/textures/wool_magenta.png deleted file mode 100755 index 5c2c4a7a..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_magenta.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_orange.png b/minetestforfun_game/mods/wool/textures/wool_orange.png deleted file mode 100755 index a059f364..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_orange.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_pink.png b/minetestforfun_game/mods/wool/textures/wool_pink.png deleted file mode 100755 index 8e901407..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_pink.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_red.png b/minetestforfun_game/mods/wool/textures/wool_red.png deleted file mode 100755 index da12ecff..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_red.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_violet.png b/minetestforfun_game/mods/wool/textures/wool_violet.png deleted file mode 100755 index d7d67831..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_violet.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_white.png b/minetestforfun_game/mods/wool/textures/wool_white.png deleted file mode 100755 index 88f1e2f5..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_white.png and /dev/null differ diff --git a/minetestforfun_game/mods/wool/textures/wool_yellow.png b/minetestforfun_game/mods/wool/textures/wool_yellow.png deleted file mode 100755 index 2b0f0489..00000000 Binary files a/minetestforfun_game/mods/wool/textures/wool_yellow.png and /dev/null differ diff --git a/minetestforfun_game/mods/xpanes/README.txt b/minetestforfun_game/mods/xpanes/README.txt deleted file mode 100755 index bcbc1294..00000000 --- a/minetestforfun_game/mods/xpanes/README.txt +++ /dev/null @@ -1,21 +0,0 @@ -Minetest Game mod: xpanes -========================= -See license.txt for license information. - -Authors of source code ----------------------- -Originally by xyz (MIT) -BlockMen (MIT) -sofar (MIT) -Various Minetest developers and contributors (MIT) - -Authors of media (textures) ---------------------------- -xyz (CC BY-SA 3.0): - All textures not mentioned below. - -Gambit (CC BY-SA 3.0): - xpanes_bar.png - -paramat (CC BY-SA 3.0): - xpanes_bar_top.png diff --git a/minetestforfun_game/mods/xpanes/depends.txt b/minetestforfun_game/mods/xpanes/depends.txt deleted file mode 100755 index 331d858c..00000000 --- a/minetestforfun_game/mods/xpanes/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default \ No newline at end of file diff --git a/minetestforfun_game/mods/xpanes/init.lua b/minetestforfun_game/mods/xpanes/init.lua deleted file mode 100755 index b5299724..00000000 --- a/minetestforfun_game/mods/xpanes/init.lua +++ /dev/null @@ -1,174 +0,0 @@ -xpanes = {} - -local function is_pane(pos) - return minetest.get_item_group(minetest.get_node(pos).name, "pane") > 0 -end - -local function connects_dir(pos, name, dir) - local aside = vector.add(pos, minetest.facedir_to_dir(dir)) - if is_pane(aside) then - return true - end - - local connects_to = minetest.registered_nodes[name].connects_to - if not connects_to then - return false - end - local list = minetest.find_nodes_in_area(aside, aside, connects_to) - - if #list > 0 then - return true - end - - return false -end - -local function swap(pos, node, name, param2) - if node.name == name and node.param2 == param2 then - return - end - - minetest.set_node(pos, {name = name, param2 = param2}) -end - -local function update_pane(pos) - if not is_pane(pos) then - return - end - local node = minetest.get_node(pos) - local name = node.name - if name:sub(-5) == "_flat" then - name = name:sub(1, -6) - end - - local any = node.param2 - local c = {} - local count = 0 - for dir = 0, 3 do - c[dir] = connects_dir(pos, name, dir) - if c[dir] then - any = dir - count = count + 1 - end - end - - if count == 0 then - swap(pos, node, name .. "_flat", any) - elseif count == 1 then - swap(pos, node, name .. "_flat", (any + 1) % 4) - elseif count == 2 then - if (c[0] and c[2]) or (c[1] and c[3]) then - swap(pos, node, name .. "_flat", (any + 1) % 4) - else - swap(pos, node, name, 0) - end - else - swap(pos, node, name, 0) - end -end - -minetest.register_on_placenode(function(pos, node) - if minetest.get_item_group(node, "pane") then - update_pane(pos) - end - for i = 0, 3 do - local dir = minetest.facedir_to_dir(i) - update_pane(vector.add(pos, dir)) - end -end) - -minetest.register_on_dignode(function(pos) - for i = 0, 3 do - local dir = minetest.facedir_to_dir(i) - update_pane(vector.add(pos, dir)) - end -end) - -xpanes = {} -function xpanes.register_pane(name, def) - for i = 1, 15 do - minetest.register_alias("xpanes:" .. name .. "_" .. i, "xpanes:" .. name .. "_flat") - end - - local flatgroups = table.copy(def.groups) - flatgroups.pane = 1 - minetest.register_node(":xpanes:" .. name .. "_flat", { - description = def.description, - drawtype = "nodebox", - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - inventory_image = def.inventory_image, - wield_image = def.wield_image, - paramtype2 = "facedir", - tiles = {def.textures[3], def.textures[3], def.textures[1]}, - groups = flatgroups, - drop = "xpanes:" .. name .. "_flat", - sounds = def.sounds, - node_box = { - type = "fixed", - fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, - }, - selection_box = { - type = "fixed", - fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, - }, - connect_sides = { "left", "right" }, - }) - - local groups = table.copy(def.groups) - groups.pane = 1 - groups.not_in_creative_inventory = 1 - minetest.register_node(":xpanes:" .. name, { - drawtype = "nodebox", - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - description = def.description, - tiles = {def.textures[3], def.textures[3], def.textures[1]}, - groups = groups, - drop = "xpanes:" .. name .. "_flat", - sounds = def.sounds, - node_box = { - type = "connected", - fixed = {{-1/32, -1/2, -1/32, 1/32, 1/2, 1/32}}, - connect_front = {{-1/32, -1/2, -1/2, 1/32, 1/2, -1/32}}, - connect_left = {{-1/2, -1/2, -1/32, -1/32, 1/2, 1/32}}, - connect_back = {{-1/32, -1/2, 1/32, 1/32, 1/2, 1/2}}, - connect_right = {{1/32, -1/2, -1/32, 1/2, 1/2, 1/32}}, - }, - connects_to = {"group:pane", "group:stone", "group:glass", "group:wood", "group:tree"}, - }) - - minetest.register_craft({ - output = "xpanes:" .. name .. "_flat 16", - recipe = def.recipe - }) -end - -xpanes.register_pane("pane", { - description = "Glass Pane", - textures = {"default_glass.png","xpanes_pane_half.png","xpanes_white.png"}, - inventory_image = "default_glass.png", - wield_image = "default_glass.png", - sounds = default.node_sound_glass_defaults(), - groups = {snappy=2, cracky=3, oddly_breakable_by_hand=3, pane=1}, - recipe = { - {"default:glass", "default:glass", "default:glass"}, - {"default:glass", "default:glass", "default:glass"} - } -}) - -xpanes.register_pane("bar", { - description = "Iron bar", - textures = {"xpanes_bar.png","xpanes_bar.png","xpanes_bar_top.png"}, - inventory_image = "xpanes_bar.png", - wield_image = "xpanes_bar.png", - groups = {cracky=3, pane=1}, -- //MFF - sounds = default.node_sound_metal_defaults(), - recipe = { - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"} - } -}) - diff --git a/minetestforfun_game/mods/xpanes/license.txt b/minetestforfun_game/mods/xpanes/license.txt deleted file mode 100644 index dff72274..00000000 --- a/minetestforfun_game/mods/xpanes/license.txt +++ /dev/null @@ -1,64 +0,0 @@ -License of source code ----------------------- - -The MIT License (MIT) -Copyright (C) 2014-2016 xyz -Copyright (C) 2014-2016 BlockMen -Copyright (C) 2016 Auke Kok -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 xyz -Copyright (C) 2013-2016 Gambit -Copyright (C) 2016 paramat - -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/minetestforfun_game/mods/xpanes/textures/xpanes_bar.png b/minetestforfun_game/mods/xpanes/textures/xpanes_bar.png deleted file mode 100755 index 02932a3e..00000000 Binary files a/minetestforfun_game/mods/xpanes/textures/xpanes_bar.png and /dev/null differ diff --git a/minetestforfun_game/mods/xpanes/textures/xpanes_bar_top.png b/minetestforfun_game/mods/xpanes/textures/xpanes_bar_top.png deleted file mode 100644 index 5cd3d572..00000000 Binary files a/minetestforfun_game/mods/xpanes/textures/xpanes_bar_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/xpanes/textures/xpanes_grey.png b/minetestforfun_game/mods/xpanes/textures/xpanes_grey.png deleted file mode 100755 index e1c6f76f..00000000 Binary files a/minetestforfun_game/mods/xpanes/textures/xpanes_grey.png and /dev/null differ diff --git a/minetestforfun_game/mods/xpanes/textures/xpanes_pane_half.png b/minetestforfun_game/mods/xpanes/textures/xpanes_pane_half.png deleted file mode 100755 index 4e846dfa..00000000 Binary files a/minetestforfun_game/mods/xpanes/textures/xpanes_pane_half.png and /dev/null differ diff --git a/minetestforfun_game/mods/xpanes/textures/xpanes_space.png b/minetestforfun_game/mods/xpanes/textures/xpanes_space.png deleted file mode 100755 index 016cb352..00000000 Binary files a/minetestforfun_game/mods/xpanes/textures/xpanes_space.png and /dev/null differ diff --git a/minetestforfun_game/mods/xpanes/textures/xpanes_white.png b/minetestforfun_game/mods/xpanes/textures/xpanes_white.png deleted file mode 100755 index 777bd606..00000000 Binary files a/minetestforfun_game/mods/xpanes/textures/xpanes_white.png and /dev/null differ diff --git a/minetestforfun_game/settingtypes.txt b/minetestforfun_game/settingtypes.txt deleted file mode 100644 index 2f91a7b6..00000000 --- a/minetestforfun_game/settingtypes.txt +++ /dev/null @@ -1,42 +0,0 @@ -# This file contains settings of minetest_game that can be changed in -# minetest.conf - -# In creative mode players are able to dig all kind of blocks nearly -# instantly, and have access to unlimited resources. -# Some of the functionality is only available if this setting is present -# at startup. -creative_mode (Creative mode) bool false - -# Flammable nodes will be ignited by nearby igniters. Spreading fire may -# cause severe destruction. -# Spreading fire nodes will disappear when fire is disabled, but -# 'permanent_flame' nodes are unaffected. -enable_fire (Fire) bool true - -# If enabled, steel tools, torches and cobblestone will be given to new -# players. -give_initial_stuff (Give initial items) bool false - -# If enabled, players respawn at the bed they last lay on instead of normal -# spawn. -# This setting is only read at startup. -enable_bed_respawn (Respawn at bed) bool true - -# If enabled, the night can be skipped if more than half of the players are -# in beds. -enable_bed_night_skip (Skip night when sleeping) bool true - -# When TNT explodes, it destroys nearby nodes and damages nearby players. -# This setting is disabled by default on servers. -enable_tnt (TNT) bool true - -# The radius in which nodes will be destroyed by a TNT explosion. -tnt_radius (TNT radius) int 3 0 - -# The time in seconds after which the bones of a dead player can be looted -# by everyone. -# Setting this to 0 will disable sharing of bones completely. -share_bones_time (Bone share time) int 1200 0 - -# Replaces old stairs with new ones. Only required for older worlds. -enable_stairs_replace_abm (Replace old stairs) bool false diff --git a/mods/_misc/depends.txt b/mods/_misc/depends.txt index 1ae3aaad..47e0daeb 100755 --- a/mods/_misc/depends.txt +++ b/mods/_misc/depends.txt @@ -2,3 +2,4 @@ interact moretrees? nether? bushes? +cherry_tree? diff --git a/mods/_misc/sapling_crafts.lua b/mods/_misc/sapling_crafts.lua index 3c6345ec..40c41519 100644 --- a/mods/_misc/sapling_crafts.lua +++ b/mods/_misc/sapling_crafts.lua @@ -43,14 +43,17 @@ minetest.register_craft({ }) -- Cherry trees -minetest.register_craft({ - output = "default:cherry_sapling", - recipe = { - {"default:cherry_blossom_leaves", "default:cherry_blossom_leaves", "default:cherry_blossom_leaves"}, - {"default:cherry_blossom_leaves", "default:cherry_blossom_leaves", "default:cherry_blossom_leaves"}, - {"", "default:stick", ""}, - } -}) +if minetest.get_modpath("cherry_tree") then + minetest.register_craft( + { + output = "cherry_tree:cherry_sapling", + recipe = { + {"cherry_tree:cherry_blossom_leaves", "cherry_tree:cherry_blossom_leaves", "cherry_tree:cherry_blossom_leaves"}, + {"cherry_tree:cherry_blossom_leaves", "cherry_tree:cherry_blossom_leaves", "cherry_tree:cherry_blossom_leaves"}, + {"", "default:stick", ""}, + } + }) +end -- With nether if minetest.get_modpath("nether") then diff --git a/mods/bones/README.txt b/mods/bones/README.txt deleted file mode 100755 index b0ebed8f..00000000 --- a/mods/bones/README.txt +++ /dev/null @@ -1,17 +0,0 @@ -Minetest 0.4 mod: bones -======================= - -License of source code: ------------------------ -Copyright (C) 2012 PilzAdam - -WTFPL - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -Authors of media files ----------------------- -Bad_Command_ diff --git a/mods/bones/depends.txt b/mods/bones/depends.txt deleted file mode 100755 index b017e45a..00000000 --- a/mods/bones/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -pclasses -unified_inventory? -3d_armor? diff --git a/mods/bones/init.lua b/mods/bones/init.lua deleted file mode 100755 index e50edf78..00000000 --- a/mods/bones/init.lua +++ /dev/null @@ -1,222 +0,0 @@ --- Minetest 0.5 mod: bones --- See README.txt for licensing and other information. ---REVISED 20151117 by maikerumine for adding bones to inventory after punch - - -bones = {} -local share_bones_time = (tonumber(minetest.setting_get("share_bones_time")) or 1800) - -bones.bones_formspec = - "size[14,9]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - "list[current_name;main;0,0.3;14,4;]".. - "list[current_player;main;3,4.85;8,1;]".. - "list[current_player;main;3,6.08;8,3;8]".. - "listring[current_name;main]".. - "listring[current_player;main]" .. - default.get_hotbar_bg(3,4.85) - - -minetest.register_node("bones:bones", { - description = "Bones", - tiles = { - "bones_top.png", - "bones_bottom.png", - "bones_side.png", - "bones_side.png", - "bones_rear.png", - "bones_front.png" - }, - paramtype2 = "facedir", - groups = {cracky = 2, oddly_breakable_by_hand = 2}, - stack_max = 999, - sounds = default.node_sound_dirt_defaults({ - footstep = {name="default_gravel_footstep", gain=0.5}, - dug = {name="default_gravel_footstep", gain=1.0}, - }), - - can_dig = function(pos, player) - local inv = minetest.get_meta(pos):get_inventory() - return inv:is_empty("main") - end, - - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - return 0 - end, - - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - return 0 - end, - - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - return stack:get_count() - end, - - - on_punch = function(pos, node, player) - -- only owner can punch bones to directly add to inventory - local owner = minetest.get_meta(pos):get_string("owner") - if owner ~= player:get_player_name() then - return - end - - local inv = minetest.get_meta(pos):get_inventory() - local player_inv = player:get_inventory() - - for i=1, inv:get_size("main") do - local stk = inv:get_stack("main", i) - if player_inv:room_for_item("main", stk) then - inv:set_stack("main", i, nil) - player_inv:add_item("main", stk) - end - end - - if inv:is_empty("main") then - minetest.remove_node(pos) - end - end, - - on_timer = function(pos, elapsed) - local meta = minetest.get_meta(pos) - if meta:get_inventory():is_empty("main") then - minetest.remove_node(pos) - return - end - - local time = meta:get_int("time") + elapsed - if time < share_bones_time then - meta:set_int("time", time) - return true - else - minetest.remove_node(pos) - end - end, - on_blast = function(pos) - local drops = {} - default.get_inventory_drops(pos, "main", drops) - drops[#drops+1] = "bones:bones" - minetest.remove_node(pos) - return drops - end, -}) - -local find_best_node = function(pos) - local nodes = minetest.find_nodes_in_area( - {x=pos.x-2,y=pos.y, z=pos.z-2}, - {x=pos.x+2,y=pos.y+2, z=pos.z+2}, - {"air"} - ) - if #nodes > 0 then - return nodes[1] - end - - nodes = minetest.find_nodes_in_area( - {x=pos.x-2,y=pos.y, z=pos.z-2}, - {x=pos.x+2,y=pos.y+2, z=pos.z+2}, - {"group:liquid"} - ) - if #nodes > 0 then - return nodes[1] - end - - nodes = minetest.find_nodes_in_area( - {x=pos.x-2,y=pos.y, z=pos.z-2}, - {x=pos.x+2,y=pos.y+2, z=pos.z+2}, - {"group:leaves", "group:plant", "group:flower"} - ) - if #nodes > 0 then - return nodes[1] - end - return nil -end - - -minetest.register_on_dieplayer(function(player) - if minetest.setting_getbool("creative_mode") or not player then - return - end - local player_name = player:get_player_name() - if player_name == "" then return end - - local pos = player:getpos() - pos.y = math.floor(pos.y + 0.5) - - minetest.chat_send_player(player_name, 'Died at '..math.floor(pos.x)..','..math.floor(pos.y)..','..math.floor(pos.z)) - - local bones_pos = nil - local node = minetest.get_node_or_nil(pos) - if node and node.name == "air" then - bones_pos = pos - else - bones_pos = find_best_node(pos) - end - if not bones_pos then return end -- no pos to place bones - - minetest.set_node(bones_pos, {name="bones:bones"}) - - local meta = minetest.get_meta(bones_pos) - meta:set_string("formspec", bones.bones_formspec) - meta:set_string("owner", player_name) - meta:set_string("infotext", player_name.."'s bones") - local time = os.date("*t") - meta:set_int("time", 0) - - local bones_inv = meta:get_inventory() - bones_inv:set_size("main", 14*4) - - - local player_inv = player:get_inventory() - -- main inventory - for i=1, player_inv:get_size("main") do - local stack = player_inv:get_stack("main", i) - if stack then - local stack_name = stack:get_name() - if not pclasses.data.reserved_items[stack_name] or - not pclasses.api.util.can_have_item(player_name, stack_name) then - bones_inv:add_item("main", stack) - player_inv:set_stack("main", i, nil) - end - end - end - - -- craft inventory - for i=1, player_inv:get_size("craft") do - local stack = player_inv:get_stack("craft", i) - if stack then - bones_inv:add_item("main", stack) - player_inv:set_stack("craft", i, nil) - end - end - - -- unified_inventory bags - if minetest.get_modpath("unified_inventory") then - for n = 1, 4 do - local stack = unified_inventory.extract_bag(player, n) - if stack then - bones_inv:add_item("main", stack) - end - end - end - - --3d_armor - if minetest.get_modpath("3d_armor") then - local name, player_inv, armor_inv, pos = armor:get_valid_player(player, "[on_dieplayer]") - if name then - for i=1, player_inv:get_size("armor") do - local stack = armor_inv:get_stack("armor", i) - if stack:get_count() > 0 and (not pclasses.data.reserved_items[stack:get_name()] or - not pclasses.api.util.can_have_item(name, stack:get_name())) then - bones_inv:add_item("main", stack) - armor_inv:set_stack("armor", i, nil) - player_inv:set_stack("armor", i, nil) - end - end - armor:set_player_armor(player) - end - end - minetest.chat_send_player(player_name, 'Your bones is at '..math.floor(bones_pos.x)..','..math.floor(bones_pos.y)..','..math.floor(bones_pos.z)) - minetest.get_node_timer(bones_pos):start(10) -end) - diff --git a/mods/bones/textures/bones_bottom.png b/mods/bones/textures/bones_bottom.png deleted file mode 100755 index 13ba2013..00000000 Binary files a/mods/bones/textures/bones_bottom.png and /dev/null differ diff --git a/mods/bones/textures/bones_front.png b/mods/bones/textures/bones_front.png deleted file mode 100755 index d923b97d..00000000 Binary files a/mods/bones/textures/bones_front.png and /dev/null differ diff --git a/mods/bones/textures/bones_rear.png b/mods/bones/textures/bones_rear.png deleted file mode 100755 index c66f73b0..00000000 Binary files a/mods/bones/textures/bones_rear.png and /dev/null differ diff --git a/mods/bones/textures/bones_side.png b/mods/bones/textures/bones_side.png deleted file mode 100755 index ebad0ae9..00000000 Binary files a/mods/bones/textures/bones_side.png and /dev/null differ diff --git a/mods/bones/textures/bones_top.png b/mods/bones/textures/bones_top.png deleted file mode 100755 index 2c039cad..00000000 Binary files a/mods/bones/textures/bones_top.png and /dev/null differ diff --git a/mods/carts/README.txt b/mods/carts/README.txt deleted file mode 100644 index 7440b151..00000000 --- a/mods/carts/README.txt +++ /dev/null @@ -1,36 +0,0 @@ -Minetest mod: carts for MFF -=========================== - -Based on boost_cart and modified to fully *replace* carts (@Coethium) - - desactivate mesecons - - power_rail: accelerate, max_speed set in init.lua - - brake_rail: deccelerate, min_speed set in init.lua (so the cart doesn't stop and runs at very low speed) - - default:rail / rail_cooper : no friction, keep the current speed - - no collision (avoid the "walled_in" bug) - - - -Boost_cart -========== - -Based on (and fully compatible with) the mod "carts" by PilzAdam -Target: Run smoothly and do not use too much CPU - -License of source code: ------------------------ -WTFPL - -License of media (textures, sounds and models): ------------------------------------------------ -CC-0 - -Authors of media files: ------------------------ -kddekadenz: - cart_bottom.png - cart_side.png - cart_top.png - -Zeg9: - cart.x - cart.png diff --git a/mods/carts/depends.txt b/mods/carts/depends.txt deleted file mode 100644 index bfb43dfb..00000000 --- a/mods/carts/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -mesecons? -moreores? \ No newline at end of file diff --git a/mods/carts/detector.lua b/mods/carts/detector.lua deleted file mode 100644 index a2182543..00000000 --- a/mods/carts/detector.lua +++ /dev/null @@ -1,58 +0,0 @@ -local mesecons_rules = mesecon.rules.flat - -function carts:turnoff_detector_rail(pos) - local node = minetest.get_node(pos) - if minetest.get_item_group(node.name, "detector_rail") == 1 then - if node.name == "carts:detectorrail_on" then --has not been dug - minetest.swap_node(pos, {name = "carts:detectorrail", param2=node.param2}) - end - mesecon.receptor_off(pos, mesecons_rules) - end -end - -function carts:signal_detector_rail(pos) - local node = minetest.get_node(pos) - if minetest.get_item_group(node.name, "detector_rail") ~= 1 then - return - end - - if node.name == "carts:detectorrail" then - minetest.swap_node(pos, {name = "carts:detectorrail_on", param2=node.param2}) - end - mesecon.receptor_on(pos, mesecons_rules) - minetest.after(0.5, carts.turnoff_detector_rail, carts, pos) -end - -carts:register_rail("carts:detectorrail", { - description = "Detector rail", - tiles = { - "carts_rail_dtc.png", "carts_rail_curved_dtc.png", - "carts_rail_t_junction_dtc.png", "carts_rail_crossing_dtc.png" - }, - groups = carts:get_rail_groups({detector_rail = 1}), - - mesecons = {receptor = {state = "off", rules = mesecons_rules}}, -}) - -carts:register_rail("carts:detectorrail_on", { - description = "Detector rail ON (you hacker you)", - tiles = { - "carts_rail_dtc_on.png", "carts_rail_curved_dtc_on.png", - "carts_rail_t_junction_dtc_on.png", "carts_rail_crossing_dtc_on.png" - }, - groups = carts:get_rail_groups({ - detector_rail = 1, not_in_creative_inventory = 1 - }), - drop = "carts:detectorrail", - - mesecons = {receptor = {state = "on", rules = mesecons_rules}}, -}) - -minetest.register_craft({ - output = "carts:detectorrail 6", - recipe = { - {"default:steel_ingot", "mesecons:wire_00000000_off", "default:steel_ingot"}, - {"default:steel_ingot", "group:stick", "default:steel_ingot"}, - {"default:steel_ingot", "mesecons:wire_00000000_off", "default:steel_ingot"}, - }, -}) diff --git a/mods/carts/functions.lua b/mods/carts/functions.lua deleted file mode 100644 index 6d8a972e..00000000 --- a/mods/carts/functions.lua +++ /dev/null @@ -1,226 +0,0 @@ -function carts:get_sign(z) - if z == 0 then - return 0 - else - return z / math.abs(z) - end -end - -function carts:manage_attachment(player, status, obj) - if not player then - return - end - local player_name = player:get_player_name() - if default.player_attached[player_name] == status then - return - end - default.player_attached[player_name] = status - - if status then - player:set_attach(obj, "", {x=0, y=6, z=0}, {x=0, y=0, z=0}) - player:set_eye_offset({x=0, y=-4, z=0},{x=0, y=-4, z=0}) - else - player:set_detach() - player:set_eye_offset({x=0, y=0, z=0},{x=0, y=0, z=0}) - end -end - -function carts:velocity_to_dir(v) - if math.abs(v.x) > math.abs(v.z) then - return {x=carts:get_sign(v.x), y=carts:get_sign(v.y), z=0} - else - return {x=0, y=carts:get_sign(v.y), z=carts:get_sign(v.z)} - end -end - -function carts:is_rail(pos, railtype) - local node = minetest.get_node(pos).name - if node == "ignore" then - local vm = minetest.get_voxel_manip() - local emin, emax = vm:read_from_map(pos, pos) - local area = VoxelArea:new{ - MinEdge = emin, - MaxEdge = emax, - } - local data = vm:get_data() - local vi = area:indexp(pos) - node = minetest.get_name_from_content_id(data[vi]) - end - if minetest.get_item_group(node, "rail") == 0 then - return false - end - if not railtype then - return true - end - return minetest.get_item_group(node, "connect_to_raillike") == railtype -end - -function carts:check_front_up_down(pos, dir_, check_up, railtype) - local dir = vector.new(dir_) - local cur = nil - - -- Front - dir.y = 0 - cur = vector.add(pos, dir) - if carts:is_rail(cur, railtype) then - return dir - end - -- Up - if check_up then - dir.y = 1 - cur = vector.add(pos, dir) - if carts:is_rail(cur, railtype) then - return dir - end - end - -- Down - dir.y = -1 - cur = vector.add(pos, dir) - if carts:is_rail(cur, railtype) then - return dir - end - return nil -end - -function carts:get_rail_direction(pos_, dir, ctrl, old_switch, railtype) - local pos = vector.round(pos_) - local cur = nil - local left_check, right_check = true, true - - -- Check left and right - local left = {x=0, y=0, z=0} - local right = {x=0, y=0, z=0} - if dir.z ~= 0 and dir.x == 0 then - left.x = -dir.z - right.x = dir.z - elseif dir.x ~= 0 and dir.z == 0 then - left.z = dir.x - right.z = -dir.x - end - - if ctrl then - if old_switch == 1 then - left_check = false - elseif old_switch == 2 then - right_check = false - end - if ctrl.left and left_check then - cur = carts:check_front_up_down(pos, left, false, railtype) - if cur then - return cur, 1 - end - left_check = false - end - if ctrl.right and right_check then - cur = carts:check_front_up_down(pos, right, false, railtype) - if cur then - return cur, 2 - end - right_check = true - end - end - - -- Normal - cur = carts:check_front_up_down(pos, dir, true, railtype) - if cur then - return cur - end - - -- Left, if not already checked - if left_check then - cur = carts:check_front_up_down(pos, left, false, railtype) - if cur then - return cur - end - end - - -- Right, if not already checked - if right_check then - cur = carts:check_front_up_down(pos, right, false, railtype) - if cur then - return cur - end - end - - -- Backwards - if not old_switch then - cur = carts:check_front_up_down(pos, { - x = -dir.x, - y = dir.y, - z = -dir.z - }, true, railtype) - if cur then - return cur - end - end - - return {x=0, y=0, z=0} -end - -function carts:pathfinder(pos_, expected_pos, old_dir, ctrl, pf_switch, railtype) - local pos = vector.round(pos_) - local pf_pos = vector.round(expected_pos) - local pf_dir = vector.new(old_dir) - - for i = 1, 3 do - if vector.equals(pf_pos, pos) then - -- Success! Cart moved on correctly - return true - end - - pf_dir, pf_switch = carts:get_rail_direction(pf_pos, pf_dir, ctrl, pf_switch, railtype) - if vector.equals(pf_dir, {x=0, y=0, z=0}) then - -- No way forwards - return false - end - - pf_pos = vector.add(pf_pos, pf_dir) - end - -- Cart not found - return false -end - -function carts:boost_rail(pos, amount) - minetest.get_meta(pos):set_string("cart_acceleration", tostring(amount)) - for _,obj_ in ipairs(minetest.get_objects_inside_radius(pos, 0.5)) do - if not obj_:is_player() and - obj_:get_luaentity() and - obj_:get_luaentity().name == "carts:cart" then - obj_:get_luaentity():on_punch() - end - end -end - -function carts:register_rail(name, def) - local def_default = { - drawtype = "raillike", - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - } - } - for k, v in pairs(def_default) do - def[k] = v - end - if not def.inventory_image then - def.wield_image = def.tiles[1] - def.inventory_image = def.tiles[1] - end - - minetest.register_node(name, def) -end - -function carts:get_rail_groups(additional_groups) - -- Get the default rail groups and add more when a table is given - local groups = {dig_immediate = 2, attached_node = 1, rail = 1, connect_to_raillike = 1} - if type(additional_groups) == "table" then - for k, v in pairs(additional_groups) do - groups[k] = v - end - end - return groups -end diff --git a/mods/carts/init.lua b/mods/carts/init.lua deleted file mode 100644 index e5e7c228..00000000 --- a/mods/carts/init.lua +++ /dev/null @@ -1,410 +0,0 @@ - -carts = {} -carts.modpath = minetest.get_modpath("carts") - --- Maximal speed of the cart in m/s -carts.speed_max = minetest.setting_get("movement_speed_walk")*3*0.9 --- Minimal speed of the cart on brake rail -carts.brake_speed_min = minetest.setting_get("movement_speed_walk")/2 --- Set to nil to disable punching the cart from inside (min = -1) -carts.punch_speed_min = 7 --- 1 disable mesecons / 0 enable mesecons -carts.mesecon_disabled = 1 - - -if not carts.modpath then - error("\nWrong mod directory name! Please change it to 'carts'.\n" .. - "See also: http://dev.minetest.net/Installing_Mods") -end - -function vector.floor(v) - return { - x = math.floor(v.x), - y = math.floor(v.y), - z = math.floor(v.z) - } -end - -dofile(carts.modpath.."/functions.lua") -dofile(carts.modpath.."/rails.lua") - -if not carts.mesecon_disabled and mesecon then - dofile(carts.modpath.."/detector.lua") -end - --- Support for non-default games -if not default.player_attached then - default.player_attached = {} -end - -carts.cart = { - physical = false, - collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - visual = "mesh", - mesh = "cart.x", - visual_size = {x=1, y=1}, - textures = {"cart.png"}, - - driver = nil, - punched = false, -- used to re-send velocity and position - velocity = {x=0, y=0, z=0}, -- only used on punch - old_dir = {x=1, y=0, z=0}, -- random value to start the cart on punch - old_pos = nil, - old_switch = 0, - railtype = nil, - attached_items = {} -} - -function carts.cart:on_rightclick(clicker) - if not clicker or not clicker:is_player() then - return - end - local player_name = clicker:get_player_name() - if self.driver and player_name == self.driver then - self.driver = nil - carts:manage_attachment(clicker, false) - self.object:setacceleration({x=0, y=0, z=0}) -- Stops the cart when we leave it - self.object:setvelocity({x=0, y=0, z=0}) - elseif not self.driver then - self.driver = player_name - carts:manage_attachment(clicker, true, self.object) - end -end - -function carts.cart:on_activate(staticdata, dtime_s) - self.object:set_armor_groups({immortal=1}) - if string.sub(staticdata, 1, string.len("return")) ~= "return" then - return - end - local data = minetest.deserialize(staticdata) - if not data or type(data) ~= "table" then - return - end - self.railtype = data.railtype - if data.old_dir then - self.old_dir = data.old_dir - end -end - -function carts.cart:get_staticdata() - return minetest.serialize({ - railtype = self.railtype, - old_dir = self.old_dir - }) -end - -function carts.cart:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) - local pos = self.object:getpos() - if not self.railtype then - local bar = vector.floor(vector.add(pos, 0.1)) - local node = minetest.get_node(bar).name - self.railtype = minetest.get_item_group(node, "connect_to_raillike") - end - - if not puncher or not puncher:is_player() then - local cart_dir = carts:get_rail_direction(pos, self.old_dir, nil, nil, self.railtype) - if vector.equals(cart_dir, {x=0, y=0, z=0}) then - return - end - self.velocity = vector.multiply(cart_dir, 3) - self.old_pos = nil - self.punched = true - return - end - - if puncher:get_player_control().sneak then - -- Pick up cart: Drop all attachments - if self.driver then - if self.old_pos then - self.object:setpos(self.old_pos) - end - local player = minetest.get_player_by_name(self.driver) - carts:manage_attachment(player, false) - end - for _,obj_ in ipairs(self.attached_items) do - if obj_ then - obj_:set_detach() - end - end - - local leftover = puncher:get_inventory():add_item("main", "carts:cart") - if not leftover:is_empty() then - minetest.add_item(self.object:getpos(), leftover) - end - self.object:remove() - return - end - - local vel = self.object:getvelocity() - if puncher:get_player_name() == self.driver then - if math.abs(vel.x + vel.z) > carts.punch_speed_min then - return - end - --end --Only the driver can punch - - local punch_dir = carts:velocity_to_dir(puncher:get_look_dir()) - punch_dir.y = 0 - local cart_dir = carts:get_rail_direction(pos, punch_dir, nil, nil, self.railtype) - if vector.equals(cart_dir, {x=0, y=0, z=0}) then - return - end - - local punch_interval = 1 - if tool_capabilities and tool_capabilities.full_punch_interval then - punch_interval = tool_capabilities.full_punch_interval - end - time_from_last_punch = math.min(time_from_last_punch or punch_interval, punch_interval) - local f = 3 * (time_from_last_punch / punch_interval) - - self.velocity = vector.multiply(cart_dir, f) - self.old_dir = cart_dir - self.old_pos = nil - self.punched = true - end -end - -function carts.cart:on_step(dtime) - local vel = self.object:getvelocity() - local update = {} - if self.punched then - vel = vector.add(vel, self.velocity) - self.object:setvelocity(vel) - self.old_dir.y = 0 - elseif vector.equals(vel, {x=0, y=0, z=0}) then - return - end - - -- dir: New moving direction of the cart - -- last_switch: Currently pressed L/R key, used to ignore the key on the next rail node - local dir, last_switch - local pos = self.object:getpos() - local is_slow = ((vel.x ~= 0 and math.abs(vel.x) <= carts.brake_speed_min) or - (vel.y ~= 0 and math.abs(vel.y) <= carts.brake_speed_min) or - (vel.z ~= 0 and math.abs(vel.z) <= carts.brake_speed_min)) and - string.match(minetest.get_node(pos).name, "brake") - - if self.old_pos and not self.punched then - local flo_pos = vector.round(pos) - local flo_old = vector.round(self.old_pos) - if vector.equals(flo_pos, flo_old) and not is_slow then -- Do not check one node multiple times (but check if low speed) - return - end - end - - - local ctrl, player - - -- Get player controls - if self.driver then - player = minetest.get_player_by_name(self.driver) - if player then - ctrl = player:get_player_control() - end - end - - if self.old_pos then - -- Detection for "skipping" nodes - local expected_pos = vector.add(self.old_pos, self.old_dir) - local found_path = carts:pathfinder( - pos, expected_pos, self.old_dir, ctrl, self.old_switch, self.railtype - ) - - if not found_path and not is_slow then - -- No rail found: reset back to the expected position - pos = expected_pos - update.pos = true - end - end - - local cart_dir = carts:velocity_to_dir(vel) - local max_vel = carts.speed_max - if not dir then - dir, last_switch = carts:get_rail_direction( - pos, cart_dir, ctrl, self.old_switch, self.railtype - ) - end - - local new_acc = {x=0, y=0, z=0} - local speed_mod = 0 - if vector.equals(dir, {x=0, y=0, z=0}) then - vel = {x=0, y=0, z=0} - pos = vector.round(pos) - update.pos = true - update.vel = true - else - -- If the direction changed - if dir.x ~= 0 and self.old_dir.z ~= 0 then - vel.x = dir.x * math.abs(vel.z) - vel.z = 0 - pos.z = math.floor(pos.z + 0.5) - update.pos = true - end - if dir.z ~= 0 and self.old_dir.x ~= 0 then - vel.z = dir.z * math.abs(vel.x) - vel.x = 0 - pos.x = math.floor(pos.x + 0.5) - update.pos = true - end - -- Up, down? - if dir.y ~= self.old_dir.y then - vel.y = dir.y * math.abs(vel.x + vel.z) - pos = vector.round(pos) - update.pos = true - end - - -- Slow down or speed up in slopes.. - local acc = dir.y * -1.8 - - -- MFF : Some rails have bad acceleration property, reinit them ! - -- this code would be commented when all rails will be corrected - local rail = minetest.get_node(pos) - if string.match(rail.name, "power") - then minetest.get_meta(pos):set_string("cart_acceleration", "1") - elseif string.match(rail.name, "brake") then minetest.get_meta(pos):set_string("cart_acceleration", "-1") - else minetest.get_meta(pos):set_string("cart_acceleration", "0") - end - - -- Change acceleration by rail (power/brake) - local speed_mod_string = minetest.get_meta(pos):get_string("cart_acceleration") - if speed_mod_string and speed_mod_string ~= "" - then speed_mod = tonumber(speed_mod_string) - else speed_mod = 0 - end - - if speed_mod > 0 then speed_mod = 2 - elseif speed_mod < 0 then speed_mod = -2 - else speed_mod = 0 - end - - - --[[if speed_mod_string == "halt" then --stop rail, not used in MFF - vel = {x=0, y=0, z=0} - acc = 0 - pos = vector.round(pos) - update.pos = true - update.vel = true - else--]]if speed_mod and speed_mod ~= 0 then - acc = acc + (speed_mod * 10) - else - --acc = acc - 0.4 --No friction (to be set as an option) - -- Handbrake - if ctrl and ctrl.down then - acc = acc - 1.2 - end - end - - if self.old_dir.y == 0 and not self.punched then - -- Stop the cart swing between two rail parts (handbrake) - if vector.equals(vector.multiply(self.old_dir, -1), dir) then - vel = {x=0, y=0, z=0} - acc = 0 - if self.old_pos then - pos = vector.new(self.old_pos) - update.pos = true - end - dir = vector.new(self.old_dir) - update.vel = true - end - end - - new_acc = vector.multiply(dir, acc) - end - - if not carts.mesecon_disabled and mesecon then - carts:signal_detector_rail(vector.round(pos)) - end - - - -- Limits - for _,v in ipairs({"x","y","z"}) do - if speed_mod > 0 and math.abs(vel[v]) > max_vel then - vel[v] = carts:get_sign(vel[v]) * max_vel - new_acc[v] = 0 - update.vel = true - elseif speed_mod < 0 and vel[v] ~= 0 and math.abs(vel[v]) <= carts.brake_speed_min then - vel[v] = carts:get_sign(vel[v]) * carts.brake_speed_min - new_acc[v] = 0 - update.vel = true - end - end - - self.object:setacceleration(new_acc) - self.old_pos = vector.new(pos) - if not vector.equals(dir, {x=0, y=0, z=0}) then - self.old_dir = vector.new(dir) - end - self.old_switch = last_switch - - - if self.punched then - -- Collect dropped items - for _,obj_ in ipairs(minetest.get_objects_inside_radius(pos, 1)) do - if not obj_:is_player() and - obj_:get_luaentity() and - not obj_:get_luaentity().physical_state and - obj_:get_luaentity().name == "__builtin:item" then - - obj_:set_attach(self.object, "", {x=0, y=0, z=0}, {x=0, y=0, z=0}) - self.attached_items[#self.attached_items + 1] = obj_ - end - end - self.punched = false - update.vel = true -- update player animation - end - - if not (update.vel or update.pos) then - return - end - - local yaw = 0 - if self.old_dir.x < 0 then - yaw = 0.5 - elseif self.old_dir.x > 0 then - yaw = 1.5 - elseif self.old_dir.z < 0 then - yaw = 1 - end - self.object:setyaw(yaw * math.pi) - - local anim = {x=0, y=0} - if dir.y == -1 then - anim = {x=1, y=1} - elseif dir.y == 1 then - anim = {x=2, y=2} - end - self.object:set_animation(anim, 1, 0) - - self.object:setvelocity(vel) - if update.pos then - self.object:setpos(pos) - end - update = nil -end - -minetest.register_entity(":carts:cart", carts.cart) -minetest.register_craftitem(":carts:cart", { - description = "Cart (Sneak+Click to pick up)", - inventory_image = minetest.inventorycube("cart_top.png", "cart_side.png", "cart_side.png"), - wield_image = "cart_side.png", - on_place = function(itemstack, placer, pointed_thing) - if not pointed_thing.type == "node" then - return - end - if carts:is_rail(pointed_thing.under) then - minetest.add_entity(pointed_thing.under, "carts:cart") - elseif carts:is_rail(pointed_thing.above) then - minetest.add_entity(pointed_thing.above, "carts:cart") - else return end - - itemstack:take_item() - return itemstack - end, -}) - -minetest.register_craft({ - output = "carts:cart", - recipe = { - {"default:steel_ingot", "", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - }, -}) diff --git a/mods/carts/models/cart.png b/mods/carts/models/cart.png deleted file mode 100644 index d4b12d63..00000000 Binary files a/mods/carts/models/cart.png and /dev/null differ diff --git a/mods/carts/models/cart.x b/mods/carts/models/cart.x deleted file mode 100644 index 3325aafb..00000000 --- a/mods/carts/models/cart.x +++ /dev/null @@ -1,339 +0,0 @@ -xof 0303txt 0032 - -Frame Root { - FrameTransformMatrix { - 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 0.000000, 1.000000, 0.000000, - 0.000000, 1.000000,-0.000000, 0.000000, - 0.000000, 0.000000, 0.000000, 1.000000;; - } - Frame Cube { - FrameTransformMatrix { - 5.000000, 0.000000,-0.000000, 0.000000, - -0.000000, 3.535534, 3.535534, 0.000000, - 0.000000,-3.535534, 3.535534, 0.000000, - 0.000000,-3.000000, 3.000000, 1.000000;; - } - Mesh { //Cube_001 Mesh - 72; - -1.000000; 1.000000;-1.000000;, - -1.000000;-1.000000;-1.000000;, - 1.000000;-1.000000;-1.000000;, - 1.000000; 1.000000;-1.000000;, - -0.833334;-1.000000; 1.000000;, - -1.000000;-1.000000; 1.000000;, - -1.000000;-0.833333; 1.000000;, - -0.833334;-0.833333; 1.000000;, - -1.000000;-1.000000;-1.000000;, - -1.000000;-1.000000; 1.000000;, - 0.999999;-1.000001; 1.000000;, - 1.000000;-1.000000;-1.000000;, - 0.999999;-1.000001; 1.000000;, - 0.833332;-1.000000; 1.000000;, - 0.833333;-0.833334; 1.000000;, - 1.000000;-0.833334; 1.000000;, - 0.833332;-1.000000; 1.000000;, - -0.833334;-1.000000; 1.000000;, - -0.833334;-0.833333; 1.000000;, - 0.833333;-0.833334; 1.000000;, - 1.000000; 0.833333; 1.000000;, - 0.833334; 0.833333; 1.000000;, - 0.833334; 1.000000; 1.000000;, - 1.000000; 0.999999; 1.000000;, - 1.000000;-0.833334; 1.000000;, - 0.833333;-0.833334; 1.000000;, - 0.833334; 0.833333; 1.000000;, - 1.000000; 0.833333; 1.000000;, - 0.833334; 0.833333; 1.000000;, - -0.833333; 0.833333; 1.000000;, - -0.833333; 1.000000; 1.000000;, - 0.833334; 1.000000; 1.000000;, - 0.833334; 0.833333;-0.800000;, - -0.833333; 0.833333;-0.800000;, - -0.833333; 0.833333; 1.000000;, - 0.833334; 0.833333; 1.000000;, - -0.833333; 0.833333; 1.000000;, - -1.000000; 0.833333; 1.000000;, - -1.000000; 1.000000; 1.000000;, - -0.833333; 1.000000; 1.000000;, - -0.833334;-0.833333; 1.000000;, - -1.000000;-0.833333; 1.000000;, - -1.000000; 0.833333; 1.000000;, - -0.833333; 0.833333; 1.000000;, - 0.833333;-0.833334;-0.800000;, - -0.833334;-0.833333;-0.800000;, - -0.833333; 0.833333;-0.800000;, - 0.833334; 0.833333;-0.800000;, - -0.833333; 0.833333;-0.800000;, - -0.833334;-0.833333;-0.800000;, - -0.833334;-0.833333; 1.000000;, - -0.833333; 0.833333; 1.000000;, - -0.833334;-0.833333;-0.800000;, - 0.833333;-0.833334;-0.800000;, - 0.833333;-0.833334; 1.000000;, - -0.833334;-0.833333; 1.000000;, - 0.833333;-0.833334;-0.800000;, - 0.833334; 0.833333;-0.800000;, - 0.833334; 0.833333; 1.000000;, - 0.833333;-0.833334; 1.000000;, - -1.000000; 1.000000;-1.000000;, - -1.000000; 1.000000; 1.000000;, - -1.000000;-1.000000; 1.000000;, - -1.000000;-1.000000;-1.000000;, - -1.000000; 1.000000; 1.000000;, - -1.000000; 1.000000;-1.000000;, - 1.000000; 1.000000;-1.000000;, - 1.000000; 0.999999; 1.000000;, - 1.000000;-1.000000;-1.000000;, - 0.999999;-1.000001; 1.000000;, - 1.000000; 0.999999; 1.000000;, - 1.000000; 1.000000;-1.000000;; - 18; - 4;0;1;2;3;, - 4;4;5;6;7;, - 4;8;9;10;11;, - 4;12;13;14;15;, - 4;16;17;18;19;, - 4;20;21;22;23;, - 4;24;25;26;27;, - 4;28;29;30;31;, - 4;32;33;34;35;, - 4;36;37;38;39;, - 4;40;41;42;43;, - 4;44;45;46;47;, - 4;48;49;50;51;, - 4;52;53;54;55;, - 4;56;57;58;59;, - 4;60;61;62;63;, - 4;64;65;66;67;, - 4;68;69;70;71;; - MeshNormals { //Cube_001 Normals - 72; - 0.000000; 0.000000;-1.000000;, - 0.000000; 0.000000;-1.000000;, - 0.000000; 0.000000;-1.000000;, - 0.000000; 0.000000;-1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - -0.000000;-1.000000;-0.000000;, - -0.000000;-1.000000;-0.000000;, - -0.000000;-1.000000;-0.000000;, - -0.000000;-1.000000;-0.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - -0.000000;-1.000000; 0.000000;, - -0.000000;-1.000000; 0.000000;, - -0.000000;-1.000000; 0.000000;, - -0.000000;-1.000000; 0.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 0.000000;-0.000000; 1.000000;, - 1.000000;-0.000000; 0.000000;, - 1.000000;-0.000000; 0.000000;, - 1.000000;-0.000000; 0.000000;, - 1.000000;-0.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000;-0.000000;, - -1.000000; 0.000000;-0.000000;, - -1.000000; 0.000000;-0.000000;, - -1.000000; 0.000000;-0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 0.000000; 1.000000; 0.000000;, - 1.000000;-0.000000; 0.000000;, - 1.000000;-0.000000; 0.000000;, - 1.000000;-0.000000; 0.000000;, - 1.000000;-0.000000; 0.000000;; - 18; - 4;0;1;2;3;, - 4;4;5;6;7;, - 4;8;9;10;11;, - 4;12;13;14;15;, - 4;16;17;18;19;, - 4;20;21;22;23;, - 4;24;25;26;27;, - 4;28;29;30;31;, - 4;32;33;34;35;, - 4;36;37;38;39;, - 4;40;41;42;43;, - 4;44;45;46;47;, - 4;48;49;50;51;, - 4;52;53;54;55;, - 4;56;57;58;59;, - 4;60;61;62;63;, - 4;64;65;66;67;, - 4;68;69;70;71;; - } //End of Cube_001 Normals - MeshMaterialList { //Cube_001 Material List - 1; - 18; - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0;; - Material Material { - 0.640000; 0.640000; 0.640000; 1.000000;; - 96.078431; - 0.500000; 0.500000; 0.500000;; - 0.000000; 0.000000; 0.000000;; - TextureFilename {"cart.png";} - } - } //End of Cube_001 Material List - MeshTextureCoords { //Cube_001 UV Coordinates - 72; - 0.000000; 0.500000;, - 0.500000; 0.500000;, - 0.500000; 1.000000;, - 0.000000; 1.000000;, - 0.031250; 0.500000;, - -0.000000; 0.500000;, - -0.000000; 0.468750;, - 0.031250; 0.468750;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 0.500000;, - 0.468750; 0.468750;, - 0.500000; 0.468750;, - 0.500000; 0.500000;, - 0.468750; 0.500000;, - 0.031250; 0.468750;, - 0.468750; 0.468750;, - 0.468750; 0.500000;, - 0.031250; 0.500000;, - 0.468750; 0.000000;, - 0.500000; 0.000000;, - 0.500000; 0.031250;, - 0.468750; 0.031250;, - 0.468750; 0.031250;, - 0.500000; 0.031250;, - 0.500000; 0.468750;, - 0.468750; 0.468750;, - 0.468750; 0.031250;, - 0.031250; 0.031250;, - 0.031250; 0.000000;, - 0.468750; 0.000000;, - 1.000000; 0.500000;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 1.000000; 0.000000;, - 0.031250; 0.031250;, - 0.000000; 0.031250;, - 0.000000; 0.000000;, - 0.031250; 0.000000;, - 0.031250; 0.468750;, - -0.000000; 0.468750;, - 0.000000; 0.031250;, - 0.031250; 0.031250;, - 0.000000; 0.500000;, - 0.500000; 0.500000;, - 0.500000; 1.000000;, - 0.000000; 1.000000;, - 1.000000; 0.500000;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 0.500000;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 0.500000;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 1.000000; 0.000000;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 0.500000;, - 1.000000; 0.000000;, - 1.000000; 0.500000;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 0.500000; 0.500000;, - 0.500000; 0.000000;, - 1.000000; 0.000000;, - 1.000000; 0.500000;; - } //End of Cube_001 UV Coordinates - } //End of Cube_001 Mesh - } //End of Cube -} //End of Root Frame -AnimationSet { - Animation { - {Cube} - AnimationKey { //Position - 2; - 4; - 0;3; 0.000000, 0.000000, 0.000000;;, - 1;3; 0.000000, 3.000000, 3.000000;;, - 2;3; 0.000000,-3.000000, 3.000000;;, - 3;3; 0.000000,-3.000000, 3.000000;;; - } - AnimationKey { //Rotation - 0; - 4; - 0;4; -1.000000, 0.000000, 0.000000, 0.000000;;, - 1;4; -0.923880,-0.382683,-0.000000, 0.000000;;, - 2;4; -0.923880, 0.382683, 0.000000, 0.000000;;, - 3;4; -0.923880, 0.382683, 0.000000, 0.000000;;; - } - AnimationKey { //Scale - 1; - 4; - 0;3; 5.000000, 5.000000, 5.000000;;, - 1;3; 5.000000, 5.000000, 5.000000;;, - 2;3; 5.000000, 5.000000, 5.000000;;, - 3;3; 5.000000, 5.000000, 5.000000;;; - } - } -} //End of AnimationSet diff --git a/mods/carts/rails.lua b/mods/carts/rails.lua deleted file mode 100644 index bf70abea..00000000 --- a/mods/carts/rails.lua +++ /dev/null @@ -1,160 +0,0 @@ -minetest.register_node(":default:rail", { - description = "Rail", - drawtype = "raillike", - tiles = { - "default_rail.png", "default_rail_curved.png", - "default_rail_t_junction.png", "default_rail_crossing.png" - }, - inventory_image = "default_rail.png", - wield_image = "default_rail.png", - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - groups = carts:get_rail_groups(), -}) - - --- Copper rail - -if minetest.get_modpath("moreores") then - -- Moreores' copper rail - minetest.register_alias("carts:rail_copper", "moreores:copper_rail") -else - carts:register_rail(":carts:rail_copper", { - description = "Copper rail", - tiles = { - "carts_rail_cp.png", "carts_rail_curved_cp.png", - "carts_rail_t_junction_cp.png", "carts_rail_crossing_cp.png" - }, - groups = carts:get_rail_groups(), - }) - - minetest.register_craft({ - output = "carts:rail_copper 16", - recipe = { - {"default:copper_ingot", "group:stick", "default:copper_ingot"}, - {"default:copper_ingot", "group:stick", "default:copper_ingot"}, - {"default:copper_ingot", "group:stick", "default:copper_ingot"}, - } - }) -end - --- Speed up - --- Rail Power - -carts:register_rail(":carts:rail_power", { - description = "Powered rail", - tiles = { - "carts_rail_pwr.png", "carts_rail_curved_pwr.png", - "carts_rail_t_junction_pwr.png", "carts_rail_crossing_pwr.png" - }, - groups = carts:get_rail_groups(), - - after_place_node = function(pos, placer, itemstack) - if not mesecon then - minetest.get_meta(pos):set_string("cart_acceleration", "1") - end - end, - - mesecons = { - effector = { - action_on = function(pos, node) - carts:boost_rail(pos, 1) - end, - - action_off = function(pos, node) - minetest.get_meta(pos):set_string("cart_acceleration", "0") - end, - }, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "carts:rail_power", - recipe = {"group:rail", "default:mese_crystal_fragment"}, -}) - - --- Rail Brake - -carts:register_rail(":carts:rail_brake", { - description = "Brake rail", - tiles = { - "carts_rail_brk.png", "carts_rail_curved_brk.png", - "carts_rail_t_junction_brk.png", "carts_rail_crossing_brk.png" - }, - groups = carts:get_rail_groups(), - - after_place_node = function(pos, placer, itemstack) - if not mesecon then - minetest.get_meta(pos):set_string("cart_acceleration", "-1") - end - end, - - mesecons = { - effector = { - action_on = function(pos, node) - minetest.get_meta(pos):set_string("cart_acceleration", "-1") - end, - - action_off = function(pos, node) - minetest.get_meta(pos):set_string("cart_acceleration", "0") - end, - }, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "carts:rail_brake", - recipe = {"group:rail", "default:coal_lump"}, -}) - --- Start stop rail (temporary removed for mff) - ---[[carts:register_rail("carts:startstoprail", { - description = "Start-stop rail", - tiles = { - "carts_rail_ss.png", "carts_rail_curved_ss.png", - "carts_rail_t_junction_ss.png", "carts_rail_crossing_ss.png" - }, - groups = carts:get_rail_groups(), - - after_place_node = function(pos, placer, itemstack) - if not mesecon then - minetest.get_meta(pos):set_string("cart_acceleration", "halt") - end - end, - - mesecons = { - effector = { - action_on = function(pos, node) - carts:boost_rail(pos, 0.5) - end, - - action_off = function(pos, node) - minetest.get_meta(pos):set_string("cart_acceleration", "halt") - end, - }, - }, -}) - -minetest.register_craft({ - type = "shapeless", - output = "carts:startstoprail 2", - recipe = {"carts:powerrail", "carts:brakerail"}, -})--]] - ---Alias - -minetest.register_alias("carts:powerrail", "carts:rail_power") -minetest.register_alias("carts:power_rail", "carts:rail_power") -minetest.register_alias("carts:brakerail", "carts:rail_brake") -minetest.register_alias("carts:brake_rail", "carts:rail_brake") diff --git a/mods/carts/textures/cart_bottom.png b/mods/carts/textures/cart_bottom.png deleted file mode 100644 index e74ef2b9..00000000 Binary files a/mods/carts/textures/cart_bottom.png and /dev/null differ diff --git a/mods/carts/textures/cart_side.png b/mods/carts/textures/cart_side.png deleted file mode 100644 index 1bd55e7b..00000000 Binary files a/mods/carts/textures/cart_side.png and /dev/null differ diff --git a/mods/carts/textures/cart_top.png b/mods/carts/textures/cart_top.png deleted file mode 100644 index b763025e..00000000 Binary files a/mods/carts/textures/cart_top.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_brk.png b/mods/carts/textures/carts_rail_brk.png deleted file mode 100644 index 2717bd5a..00000000 Binary files a/mods/carts/textures/carts_rail_brk.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_cp.png b/mods/carts/textures/carts_rail_cp.png deleted file mode 100644 index 119461f6..00000000 Binary files a/mods/carts/textures/carts_rail_cp.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_crossing_brk.png b/mods/carts/textures/carts_rail_crossing_brk.png deleted file mode 100644 index f9ce303a..00000000 Binary files a/mods/carts/textures/carts_rail_crossing_brk.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_crossing_cp.png b/mods/carts/textures/carts_rail_crossing_cp.png deleted file mode 100644 index b04aa638..00000000 Binary files a/mods/carts/textures/carts_rail_crossing_cp.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_crossing_dtc.png b/mods/carts/textures/carts_rail_crossing_dtc.png deleted file mode 100644 index cf04f0ff..00000000 Binary files a/mods/carts/textures/carts_rail_crossing_dtc.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_crossing_dtc_on.png b/mods/carts/textures/carts_rail_crossing_dtc_on.png deleted file mode 100644 index b6f5b87e..00000000 Binary files a/mods/carts/textures/carts_rail_crossing_dtc_on.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_crossing_pwr.png b/mods/carts/textures/carts_rail_crossing_pwr.png deleted file mode 100644 index dc317cfb..00000000 Binary files a/mods/carts/textures/carts_rail_crossing_pwr.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_crossing_ss.png b/mods/carts/textures/carts_rail_crossing_ss.png deleted file mode 100644 index 69ee0706..00000000 Binary files a/mods/carts/textures/carts_rail_crossing_ss.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_curved_brk.png b/mods/carts/textures/carts_rail_curved_brk.png deleted file mode 100644 index c55183d5..00000000 Binary files a/mods/carts/textures/carts_rail_curved_brk.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_curved_cp.png b/mods/carts/textures/carts_rail_curved_cp.png deleted file mode 100644 index 004ef566..00000000 Binary files a/mods/carts/textures/carts_rail_curved_cp.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_curved_dtc.png b/mods/carts/textures/carts_rail_curved_dtc.png deleted file mode 100644 index 8117c27a..00000000 Binary files a/mods/carts/textures/carts_rail_curved_dtc.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_curved_dtc_on.png b/mods/carts/textures/carts_rail_curved_dtc_on.png deleted file mode 100644 index 032630f4..00000000 Binary files a/mods/carts/textures/carts_rail_curved_dtc_on.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_curved_pwr.png b/mods/carts/textures/carts_rail_curved_pwr.png deleted file mode 100644 index 4aef5ddf..00000000 Binary files a/mods/carts/textures/carts_rail_curved_pwr.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_curved_ss.png b/mods/carts/textures/carts_rail_curved_ss.png deleted file mode 100644 index 504e31f1..00000000 Binary files a/mods/carts/textures/carts_rail_curved_ss.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_dtc.png b/mods/carts/textures/carts_rail_dtc.png deleted file mode 100644 index 5e2ccef1..00000000 Binary files a/mods/carts/textures/carts_rail_dtc.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_dtc_on.png b/mods/carts/textures/carts_rail_dtc_on.png deleted file mode 100644 index e81dbe1b..00000000 Binary files a/mods/carts/textures/carts_rail_dtc_on.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_pwr.png b/mods/carts/textures/carts_rail_pwr.png deleted file mode 100644 index f346a024..00000000 Binary files a/mods/carts/textures/carts_rail_pwr.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_ss.png b/mods/carts/textures/carts_rail_ss.png deleted file mode 100644 index 489e7fe5..00000000 Binary files a/mods/carts/textures/carts_rail_ss.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_t_junction_brk.png b/mods/carts/textures/carts_rail_t_junction_brk.png deleted file mode 100644 index 5689ffe9..00000000 Binary files a/mods/carts/textures/carts_rail_t_junction_brk.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_t_junction_cp.png b/mods/carts/textures/carts_rail_t_junction_cp.png deleted file mode 100644 index 3da90943..00000000 Binary files a/mods/carts/textures/carts_rail_t_junction_cp.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_t_junction_dtc.png b/mods/carts/textures/carts_rail_t_junction_dtc.png deleted file mode 100644 index b154f436..00000000 Binary files a/mods/carts/textures/carts_rail_t_junction_dtc.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_t_junction_dtc_on.png b/mods/carts/textures/carts_rail_t_junction_dtc_on.png deleted file mode 100644 index 9fda111b..00000000 Binary files a/mods/carts/textures/carts_rail_t_junction_dtc_on.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_t_junction_pwr.png b/mods/carts/textures/carts_rail_t_junction_pwr.png deleted file mode 100644 index d7edaf1d..00000000 Binary files a/mods/carts/textures/carts_rail_t_junction_pwr.png and /dev/null differ diff --git a/mods/carts/textures/carts_rail_t_junction_ss.png b/mods/carts/textures/carts_rail_t_junction_ss.png deleted file mode 100644 index c1a2cb1d..00000000 Binary files a/mods/carts/textures/carts_rail_t_junction_ss.png and /dev/null differ diff --git a/mods/carts/textures/default_rail_t_junction.png b/mods/carts/textures/default_rail_t_junction.png deleted file mode 100644 index fe629057..00000000 Binary files a/mods/carts/textures/default_rail_t_junction.png and /dev/null differ diff --git a/mods/cherry_tree b/mods/cherry_tree new file mode 160000 index 00000000..2888f048 --- /dev/null +++ b/mods/cherry_tree @@ -0,0 +1 @@ +Subproject commit 2888f048e07b85e7f1a5afabee9819f56cb811eb diff --git a/mods/colouredstonebricks b/mods/colouredstonebricks new file mode 160000 index 00000000..f9ad052b --- /dev/null +++ b/mods/colouredstonebricks @@ -0,0 +1 @@ +Subproject commit f9ad052b232aa6fa25ce2f5928e4363a2c0c7055 diff --git a/mods/colouredstonebricks/README.txt b/mods/colouredstonebricks/README.txt deleted file mode 100755 index d713b613..00000000 --- a/mods/colouredstonebricks/README.txt +++ /dev/null @@ -1,13 +0,0 @@ -Coloured Stone Bricks -===================== -This mod adds coloured stone bricks! These are decorative blocks which would look nice on any building or creation. - -Crafting --------- -You can craft the blocks by placing a stone brick and a coloured dye in the craft grid: - -Depends: default, dye -Licence: Code and textures, CC BY-SA 4.0 -Installation: Unzip the file and rename it to "colouredstonebricks". Then move it to the mod directory. - -More information and discussion: https://forum.minetest.net/viewtopic.php?id=8784 diff --git a/mods/colouredstonebricks/depends.txt b/mods/colouredstonebricks/depends.txt deleted file mode 100755 index 8401bd90..00000000 --- a/mods/colouredstonebricks/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -dye \ No newline at end of file diff --git a/mods/colouredstonebricks/init.lua b/mods/colouredstonebricks/init.lua deleted file mode 100755 index 4ea99355..00000000 --- a/mods/colouredstonebricks/init.lua +++ /dev/null @@ -1,78 +0,0 @@ ---------------------------------------------- --- Coloured Stone Bricks Mod by CraigyDavi -- ---------------------------------------------- - -local COLOURS = { - "Black", - "Cyan", - "Brown", - "Dark Blue", - "Dark Green", - "Dark Grey", - "Dark Pink", - "Green", - "Grey", - "Orange", - "Pink", - "Purple", - "Red", - "White", - "Yellow" -} - -local COLOURS2 = { - "black", - "cyan", - "brown", - "dark_blue", - "dark_green", - "dark_grey", - "dark_pink", - "green", - "grey", - "orange", - "pink", - "purple", - "red", - "white", - "yellow" -} - -for number = 1, 15 do - - local colour = COLOURS[number] - local colour2 = COLOURS2[number] - - minetest.register_node("colouredstonebricks:"..colour2, { - description = colour.." Stone Brick", - tiles = {"colouredstonebricks_"..colour2..".png"}, - groups = {cracky=3}, - sounds = default.node_sound_stone_defaults(), - }) - - minetest.register_craft({ - type = "shapeless", - output = 'colouredstonebricks:'..colour2, - recipe = { - 'dye:'..colour2, 'default:stonebrick', - } - }) - - -- Stairs - - stairsplus:register_all("colouredstonebricks", colour2, "colouredstonebricks:"..colour2, { - description = colour.." Stone Brick", - tiles = {"colouredstonebricks_"..colour2..".png"}, - groups = {cracky=3}, - sounds = default.node_sound_stone_defaults(), - sunlight_propagates = true, - }) -end - - - -minetest.register_alias("dye:dark_blue","dye:blue") -minetest.register_alias("dye:dark_pink","dye:magenta") -minetest.register_alias("dye:purple","dye:violet") - -minetest.log ("action", "Coloured Stone Bricks [colouredstonebricks] has loaded!") diff --git a/mods/colouredstonebricks/screenshot.png b/mods/colouredstonebricks/screenshot.png deleted file mode 100755 index af75db06..00000000 Binary files a/mods/colouredstonebricks/screenshot.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_black.png b/mods/colouredstonebricks/textures/colouredstonebricks_black.png deleted file mode 100755 index 546ae5b2..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_black.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_brown.png b/mods/colouredstonebricks/textures/colouredstonebricks_brown.png deleted file mode 100755 index d57222ab..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_brown.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_cyan.png b/mods/colouredstonebricks/textures/colouredstonebricks_cyan.png deleted file mode 100755 index a7148b6c..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_cyan.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_dark_blue.png b/mods/colouredstonebricks/textures/colouredstonebricks_dark_blue.png deleted file mode 100755 index 8a186ac6..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_dark_blue.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_dark_green.png b/mods/colouredstonebricks/textures/colouredstonebricks_dark_green.png deleted file mode 100755 index 04374f5e..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_dark_green.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_dark_grey.png b/mods/colouredstonebricks/textures/colouredstonebricks_dark_grey.png deleted file mode 100755 index 8ab5f432..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_dark_grey.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_dark_pink.png b/mods/colouredstonebricks/textures/colouredstonebricks_dark_pink.png deleted file mode 100755 index 88bf21a6..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_dark_pink.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_green.png b/mods/colouredstonebricks/textures/colouredstonebricks_green.png deleted file mode 100755 index 4db3e8a8..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_green.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_grey.png b/mods/colouredstonebricks/textures/colouredstonebricks_grey.png deleted file mode 100755 index 7cb59f51..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_grey.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_orange.png b/mods/colouredstonebricks/textures/colouredstonebricks_orange.png deleted file mode 100755 index d669056a..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_orange.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_pink.png b/mods/colouredstonebricks/textures/colouredstonebricks_pink.png deleted file mode 100755 index 665f5a62..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_pink.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_purple.png b/mods/colouredstonebricks/textures/colouredstonebricks_purple.png deleted file mode 100755 index 8abe6877..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_purple.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_red.png b/mods/colouredstonebricks/textures/colouredstonebricks_red.png deleted file mode 100755 index 622757e5..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_red.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_white.png b/mods/colouredstonebricks/textures/colouredstonebricks_white.png deleted file mode 100755 index dff4eeed..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_white.png and /dev/null differ diff --git a/mods/colouredstonebricks/textures/colouredstonebricks_yellow.png b/mods/colouredstonebricks/textures/colouredstonebricks_yellow.png deleted file mode 100755 index b39a4797..00000000 Binary files a/mods/colouredstonebricks/textures/colouredstonebricks_yellow.png and /dev/null differ diff --git a/mods/farming b/mods/farming new file mode 160000 index 00000000..ce0c3e8e --- /dev/null +++ b/mods/farming @@ -0,0 +1 @@ +Subproject commit ce0c3e8eb87452a92c46754ef49380b6f0131fb0 diff --git a/mods/h2omes b/mods/h2omes new file mode 160000 index 00000000..aa945c06 --- /dev/null +++ b/mods/h2omes @@ -0,0 +1 @@ +Subproject commit aa945c0694119e496e2aa4066adb993503ae76e8 diff --git a/mods/mobs_animal/textures/mobs_dung.png b/mods/mobs_animal/textures/mobs_dung.png new file mode 100755 index 00000000..b090cfd7 Binary files /dev/null and b/mods/mobs_animal/textures/mobs_dung.png differ diff --git a/mods/mobs_monster/textures/mobs_mese_dragon_inv.png b/mods/mobs_monster/textures/mobs_mese_dragon_inv.png new file mode 100644 index 00000000..4642b193 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_mese_dragon_inv.png differ diff --git a/mods/moreblocks b/mods/moreblocks new file mode 160000 index 00000000..f2ede87a --- /dev/null +++ b/mods/moreblocks @@ -0,0 +1 @@ +Subproject commit f2ede87a5af2fccc9ce4ff1dc2fa20efccdeb846 diff --git a/mods/moreblocks/LICENSE.md b/mods/moreblocks/LICENSE.md deleted file mode 100755 index 45c5ff5a..00000000 --- a/mods/moreblocks/LICENSE.md +++ /dev/null @@ -1,14 +0,0 @@ -zlib license -============ - -Copyright (c) 2011-2015 Calinou and contributors - -**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** - -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. diff --git a/mods/moreblocks/README.md b/mods/moreblocks/README.md deleted file mode 100755 index 228ce97d..00000000 --- a/mods/moreblocks/README.md +++ /dev/null @@ -1,11 +0,0 @@ -More Blocks -=========== - -More Blocks for Minetest , a free/libre infinite -world block sandbox game. - -To install, just clone this repository into your "mods" directory. - -More Blocks code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. - -**Forum topic:** diff --git a/mods/moreblocks/aliases.lua b/mods/moreblocks/aliases.lua deleted file mode 100755 index 8a6b9572..00000000 --- a/mods/moreblocks/aliases.lua +++ /dev/null @@ -1,106 +0,0 @@ ---[[ -More Blocks: alias definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - --- More Blocks aliases: -minetest.register_alias("sweeper", "moreblocks:sweeper") -minetest.register_alias("circular_saw", "moreblocks:circular_saw") -minetest.register_alias("jungle_stick", "moreblocks:jungle_stick") - --- Wrong drops - --- //MFF(Mg|10/11/15) - --- Microblocks -for _,i in pairs({"", "_1", "_2", "_4", "_12", "_14", "_15"}) do - minetest.register_alias("moreblocks:micro_clay_brick" .. i, "moreblocks:micro_brick" .. i) -end - --- Panels -for _,i in pairs({"", "_1", "_2", "_4", "_12", "_14", "_15"}) do - minetest.register_alias("moreblocks:panel_clay_brick" .. i, "moreblocks:panel_brick" .. i) -end - --- Slabs -for _,i in pairs({"", "_1", "_2", "_quarter", "_three_quarter", "_14", "_15"}) do - minetest.register_alias("moreblocks:slab_clay_brick" .. i, "moreblocks:slab_brick" .. i) -end - --- Stairs -for _,i in pairs({"", "_outer", "_inner", "_alt", "_alt_1", "_alt_2", "_alt_4", "_half"}) do - minetest.register_alias("moreblocks:stair_clay_brick" .. i, "moreblocks:stair_brick" .. i) -end - --- Slopes -for _,i in pairs({"", "_half", "_half_raised", "_outer", "_outer_cut", "_outer_cut_half", "_outer_half", "_outer_half_raised", "_inner", "_inner_half", "_inner_half_raised"}) do - minetest.register_alias("moreblocks:slope_clay_brick" .. i, "moreblocks:slope_brick" .. i) -end - - - --- Old block/item replacement: -minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble") -minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver") - --- Node and item renaming: -minetest.register_alias("moreblocks:stone_bricks", "default:stonebrick") -minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") -minetest.register_alias("moreblocks:junglewood", "default:junglewood") -minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") - -for _, t in pairs(circular_saw.names) do - minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2], - "moreblocks:" .. t[1] .. "_junglewood" .. t[2]) -end -minetest.register_alias("moreblocks:horizontaltree", "moreblocks:horizontal_tree") -minetest.register_alias("moreblocks:horizontaljungletree", "moreblocks:horizontal_jungle_tree") -minetest.register_alias("moreblocks:stonesquare", "moreblocks:stone_tile") -minetest.register_alias("moreblocks:circlestonebrick", "moreblocks:circle_stone_bricks") -minetest.register_alias("moreblocks:ironstonebrick", "moreblocks:iron_stone_bricks") -minetest.register_alias("moreblocks:fence_junglewood", "moreblocks:fence_jungle_wood") -minetest.register_alias("moreblocks:coalstone", "moreblocks:coal_stone") -minetest.register_alias("moreblocks:ironstone", "moreblocks:iron_stone") -minetest.register_alias("moreblocks:woodtile", "moreblocks:wood_tile") -minetest.register_alias("moreblocks:woodtile_full", "moreblocks:wood_tile_full") -minetest.register_alias("moreblocks:woodtile_centered", "moreblocks:wood_tile_centered") -minetest.register_alias("moreblocks:woodtile_up", "moreblocks:wood_tile_up") -minetest.register_alias("moreblocks:woodtile_down", "moreblocks:wood_tile_down") -minetest.register_alias("moreblocks:woodtile_left", "moreblocks:wood_tile_left") -minetest.register_alias("moreblocks:woodtile_right", "moreblocks:wood_tile_right") -minetest.register_alias("moreblocks:coalglass", "moreblocks:coal_glass") -minetest.register_alias("moreblocks:ironglass", "moreblocks:iron_glass") -minetest.register_alias("moreblocks:glowglass", "moreblocks:glow_glass") -minetest.register_alias("moreblocks:superglowglass", "moreblocks:super_glow_glass") -minetest.register_alias("moreblocks:trapglass", "moreblocks:trap_glass") -minetest.register_alias("moreblocks:trapstone", "moreblocks:trap_stone") -minetest.register_alias("moreblocks:cactuschecker", "moreblocks:cactus_checker") -minetest.register_alias("moreblocks:coalchecker", "moreblocks:coal_checker") -minetest.register_alias("moreblocks:ironchecker", "moreblocks:iron_checker") -minetest.register_alias("moreblocks:cactusbrick", "moreblocks:cactus_brick") -minetest.register_alias("moreblocks:cleanglass", "moreblocks:clean_glass") -minetest.register_alias("moreblocks:emptybookshelf", "moreblocks:empty_bookshelf") -minetest.register_alias("moreblocks:junglestick", "moreblocks:jungle_stick") -minetest.register_alias("moreblocks:splitstonesquare","moreblocks:split_stone_tile") -minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree") - --- ABM for horizontal trees (fix facedir): -local horizontal_tree_convert_facedir = {7, 12, 9, 18} - -minetest.register_abm({ - nodenames = {"moreblocks:horizontal_tree"}, - interval = 1, - chance = 1, - action = function(pos, node) - node.param2 = node.param2 < 3 and node.param2 or 0 - minetest.set_node(pos, { - name = "default:tree", - param2 = horizontal_tree_convert_facedir[node.param2 + 1] - }) - end, -}) - -minetest.register_alias("moreblocks:jungle_stick", "default:stick") -minetest.register_alias("moreblocks:fence_jungle_wood", "default:fence_junglewood") diff --git a/mods/moreblocks/circular_saw.lua b/mods/moreblocks/circular_saw.lua deleted file mode 100755 index 343f2d63..00000000 --- a/mods/moreblocks/circular_saw.lua +++ /dev/null @@ -1,417 +0,0 @@ ---[[ -More Blocks: circular saw - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - -circular_saw = {} - -circular_saw.known_stairs = setmetatable({}, { - __newindex = function(k, v) - local modname = minetest.get_current_modname() - print(("WARNING: mod %s tried to add node %s to the circular saw" - .. " manually."):format(modname, v)) - end, -}) - --- This is populated by stairsplus:register_all: -circular_saw.known_nodes = {} - --- How many microblocks does this shape at the output inventory cost: --- It may cause slight loss, but no gain. -circular_saw.cost_in_microblocks = { - 1, 1, 1, 1, 1, 1, 1, 2, - 2, 3, 2, 4, 2, 4, 5, 6, - 7, 1, 1, 2, 4, 6, 7, 8, - 3, 1, 1, 2, 4, 4, 2, 6, - 7, 3, 7, 7, 4, 8, 3, 2, - 6, 2, 1, 3, 4, -} - --- This parameter is legacy node -circular_saw.names = { - {"micro", "_1"}, - {"panel", "_1"}, - {"micro", ""}, - {"panel", ""}, - - {"micro", "_12"}, - {"panel", "_12"}, - {"micro", "_15"}, - {"panel", "_15"}, - - {"stair", "_outer"}, - {"stair", ""}, - {"stair", "_inner"}, - - {"slab", "_1"}, - {"slab", "_quarter"}, - {"slab", ""}, - {"slab", "_three_quarter"}, - {"slab", "_15"}, - - {"stair", "_half"}, - {"stair", "_alt_1"}, - {"stair", "_alt_4"}, - {"stair", "_alt"}, - - {"slope", ""}, - {"slope", "_half"}, - {"slope", "_half_raised"}, - {"slope", "_inner"}, - {"slope", "_inner_half"}, - {"slope", "_inner_half_raised"}, - {"slope", "_inner_cut"}, - {"slope", "_inner_cut_half"}, - {"slope", "_inner_cut_half_raised"}, - {"slope", "_outer"}, - {"slope", "_outer_half"}, - {"slope", "_outer_half_raised"}, - {"slope", "_outer_cut"}, - {"slope", "_outer_cut_half"}, - {"slope", "_outer_cut_half_raised"}, - {"slope", "_cut"}, -} - -function circular_saw:get_cost(inv, stackname) - for i, item in pairs(inv:get_list("output")) do - if item:get_name() == stackname then - return circular_saw.cost_in_microblocks[i] - end - end -end - -function circular_saw:get_output_inv(modname, material, amount, max) - if (not max or max < 1 or max > 99) then max = 99 end - - local list = {} - local pos = #list - - -- If there is nothing inside, display empty inventory: - if amount < 1 then - return list - end - - for i = 1, #circular_saw.names do - local t = circular_saw.names[i] - if not t[3] then - local cost = circular_saw.cost_in_microblocks[i] - local balance = math.min(math.floor(amount/cost), max) - local nodename = modname .. ":" .. t[1] .. "_" .. material .. t[2] - if minetest.registered_nodes[nodename] then - pos = pos + 1 - list[pos] = nodename .. " " .. balance - end - end - end - return list -end - - --- Reset empty circular_saw after last full block has been taken out --- (or the circular_saw has been placed the first time) --- Note: max_offered is not reset: -function circular_saw:reset(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - - inv:set_list("input", {}) - inv:set_list("micro", {}) - inv:set_list("output", {}) - meta:set_int("anz", 0) - - meta:set_string("infotext", - S("Circular Saw is empty (owned by %s)") - :format(meta:get_string("owner") or "")) -end - - --- Player has taken something out of the box or placed something inside --- that amounts to count microblocks: -function circular_saw:update_inventory(pos, amount) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - - amount = meta:get_int("anz") + amount - - -- The material is recycled automaticly. - inv:set_list("recycle", {}) - - if amount < 1 then -- If the last block is taken out. - self:reset(pos) - return - end - - local stack = inv:get_stack("input", 1) - -- At least one "normal" block is necessary to see what kind of stairs are requested. - if stack:is_empty() then - -- Any microblocks not taken out yet are now lost. - -- (covers material loss in the machine) - self:reset(pos) - return - - end - local node_name = stack:get_name() or "" - local name_parts = circular_saw.known_nodes[node_name] or "" - local modname = name_parts[1] or "" - local material = name_parts[2] or "" - - inv:set_list("input", { -- Display as many full blocks as possible: - node_name.. " " .. math.floor(amount / 8) - }) - - -- The stairnodes made of default nodes use moreblocks namespace, other mods keep own: - if modname == "default" then - modname = "moreblocks" - end - -- print("circular_saw set to " .. modname .. " : " - -- .. material .. " with " .. (amount) .. " microblocks.") - - -- 0-7 microblocks may remain left-over: - inv:set_list("micro", { - modname .. ":micro_" .. material .. "_bottom " .. (amount % 8) - }) - -- Display: - inv:set_list("output", - self:get_output_inv(modname, material, amount, - meta:get_int("max_offered"))) - -- Store how many microblocks are available: - meta:set_int("anz", amount) - - meta:set_string("infotext", - S("Circular Saw is working on %s (owned by %s)") - :format(material, meta:get_string("owner") or "")) -end - - --- The amount of items offered per shape can be configured: -function circular_saw.on_receive_fields(pos, formname, fields, sender) - local meta = minetest.get_meta(pos) - local max = tonumber(fields.max_offered) - if max and max > 0 then - meta:set_string("max_offered", max) - -- Update to show the correct number of items: - circular_saw:update_inventory(pos, 0) - end -end - - --- Moving the inventory of the circular_saw around is not allowed because it --- is a fictional inventory. Moving inventory around would be rather --- impractical and make things more difficult to calculate: -function circular_saw.allow_metadata_inventory_move( - pos, from_list, from_index, to_list, to_index, count, player) - return 0 -end - - --- Only input- and recycle-slot are intended as input slots: -function circular_saw.allow_metadata_inventory_put( - pos, listname, index, stack, player) - -- The player is not allowed to put something in there: - if listname == "output" or listname == "micro" then - return 0 - end - - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local stackname = stack:get_name() - local count = stack:get_count() - - -- Only alow those items that are offered in the output inventory to be recycled: - if listname == "recycle" then - if not inv:contains_item("output", stackname) then - return 0 - end - local stackmax = stack:get_stack_max() - local instack = inv:get_stack("input", 1) - local microstack = inv:get_stack("micro", 1) - local incount = instack:get_count() - local incost = (incount * 8) + microstack:get_count() - local maxcost = (stackmax * 8) + 7 - local cost = circular_saw:get_cost(inv, stackname) - if (incost + cost) > maxcost then - return math.max((maxcost - incost) / cost, 0) - end - return count - end - - -- Only accept certain blocks as input which are known to be craftable into stairs: - if listname == "input" then - if not inv:is_empty("input") then - if inv:get_stack("input", index):get_name() ~= stackname then - return 0 - end - end - if not inv:is_empty("micro") then - local microstackname = inv:get_stack("micro", 1):get_name():gsub("^.+:micro_", "", 1) - local cutstackname = stackname:gsub("^.+:", "", 1) - if microstackname ~= cutstackname then - return 0 - end - end - for name, t in pairs(circular_saw.known_nodes) do - if name == stackname and inv:room_for_item("input", stack) then - return count - end - end - return 0 - end -end - --- Taking is allowed from all slots (even the internal microblock slot). --- Putting something in is slightly more complicated than taking anything --- because we have to make sure it is of a suitable material: -function circular_saw.on_metadata_inventory_put( - pos, listname, index, stack, player) - -- We need to find out if the circular_saw is already set to a - -- specific material or not: - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local stackname = stack:get_name() - local count = stack:get_count() - - -- Putting something into the input slot is only possible if that had - -- been empty before or did contain something of the same material: - if listname == "input" then - -- Each new block is worth 8 microblocks: - circular_saw:update_inventory(pos, 8 * count) - elseif listname == "recycle" then - -- Lets look which shape this represents: - local cost = circular_saw:get_cost(inv, stackname) - local input_stack = inv:get_stack("input", 1) - -- check if this would not exceed input itemstack max_stacks - if input_stack:get_count() + ((cost * count) / 8) <= input_stack:get_stack_max() then - circular_saw:update_inventory(pos, cost * count) - end - end -end - -function circular_saw.on_metadata_inventory_take( - pos, listname, index, stack, player) - - -- Prevent (inbuilt) swapping between inventories with different blocks - -- corrupting player inventory or Saw with 'unknown' items. - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local input_stack = inv:get_stack(listname, index) - if not input_stack:is_empty() and input_stack:get_name()~=stack:get_name() then - local player_inv = player:get_inventory() - if player_inv:room_for_item("main", input_stack) then - player_inv:add_item("main", input_stack) - end - - circular_saw:reset(pos) - return - end - - -- If it is one of the offered stairs: find out how many - -- microblocks have to be substracted: - if listname == "output" then - -- We do know how much each block at each position costs: - local cost = circular_saw.cost_in_microblocks[index] - * stack:get_count() - - circular_saw:update_inventory(pos, -cost) - elseif listname == "micro" then - -- Each microblock costs 1 microblock: - circular_saw:update_inventory(pos, -stack:get_count()) - elseif listname == "input" then - -- Each normal (= full) block taken costs 8 microblocks: - circular_saw:update_inventory(pos, 8 * -stack:get_count()) - end - -- The recycle field plays no role here since it is processed immediately. -end - -gui_slots = "listcolors[#606060AA;#808080;#101010;#202020;#FFF]" - -function circular_saw.on_construct(pos) - local meta = minetest.get_meta(pos) - local fancy_inv = default.gui_bg..default.gui_bg_img..default.gui_slots - meta:set_string("formspec", "size[11,10]"..fancy_inv.. - "label[0,0;" ..S("Input\nmaterial").. "]" .. - "list[current_name;input;1.5,0;1,1;]" .. - "label[0,1;" ..S("Left-over").. "]" .. - "list[current_name;micro;1.5,1;1,1;]" .. - "label[0,2;" ..S("Recycle\noutput").. "]" .. - "list[current_name;recycle;1.5,2;1,1;]" .. - "field[0.3,3.5;1,1;max_offered;" ..S("Max").. ":;${max_offered}]" .. - "button[1,3.2;1,1;Set;" ..S("Set").. "]" .. - "list[current_name;output;2.8,0;8,6;]" .. - "list[current_player;main;1.5,6.25;8,4;]") - - meta:set_int("anz", 0) -- No microblocks inside yet. - meta:set_string("max_offered", 99) -- How many items of this kind are offered by default? - meta:set_string("infotext", S("Circular Saw is empty")) - - local inv = meta:get_inventory() - inv:set_size("input", 1) -- Input slot for full blocks of material x. - inv:set_size("micro", 1) -- Storage for 1-7 surplus microblocks. - inv:set_size("recycle", 1) -- Surplus partial blocks can be placed here. - inv:set_size("output", 6*8) -- 6x8 versions of stair-parts of material x. - - circular_saw:reset(pos) -end - - -function circular_saw.can_dig(pos,player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - if not inv:is_empty("input") or - not inv:is_empty("micro") or - not inv:is_empty("recycle") then - return false - end - -- Can be dug by anyone when empty, not only by the owner: - return true -end - -minetest.register_node("moreblocks:circular_saw", { - description = S("Circular Saw"), - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, -- Leg - {0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, -- Leg - {-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, -- Leg - {0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, -- Leg - {-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, -- Tabletop - {-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, -- Saw blade (top) - {-0.01, 0.375, -0.1875, 0.01, 0.4375, 0.1875}, -- Saw blade (bottom) - {-0.25, -0.0625, -0.25, 0.25, 0.25, 0.25}, -- Motor case - }, - }, - tiles = {"moreblocks_circular_saw_top.png", - "moreblocks_circular_saw_bottom.png", - "moreblocks_circular_saw_side.png"}, - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "facedir", - groups = {choppy = 2,oddly_breakable_by_hand = 2}, - sounds = default.node_sound_wood_defaults(), - on_construct = circular_saw.on_construct, - can_dig = circular_saw.can_dig, - -- Set the owner of this circular saw. - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) - local owner = placer and placer:get_player_name() or "" - meta:set_string("owner", owner) - meta:set_string("infotext", - S("Circular Saw is empty (owned by %s)") - :format(owner)) - end, - - -- The amount of items offered per shape can be configured: - on_receive_fields = circular_saw.on_receive_fields, - allow_metadata_inventory_move = circular_saw.allow_metadata_inventory_move, - -- Only input- and recycle-slot are intended as input slots: - allow_metadata_inventory_put = circular_saw.allow_metadata_inventory_put, - -- Taking is allowed from all slots (even the internal microblock slot). Moving is forbidden. - -- Putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material: - on_metadata_inventory_put = circular_saw.on_metadata_inventory_put, - on_metadata_inventory_take = circular_saw.on_metadata_inventory_take, -}) diff --git a/mods/moreblocks/config.lua b/mods/moreblocks/config.lua deleted file mode 100755 index d646dacd..00000000 --- a/mods/moreblocks/config.lua +++ /dev/null @@ -1,29 +0,0 @@ ---[[ -More Blocks: configuration handling - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -moreblocks.config = {} - -local function getbool_default(setting, default) - local value = minetest.setting_getbool(setting) - if value == nil then - value = default - end - return value -end - -local function setting(settingtype, name, default) - if settingtype == "bool" then - moreblocks.config[name] = - getbool_default("moreblocks." .. name, default) - else - moreblocks.config[name] = - minetest.setting_get("moreblocks." .. name) or default - end -end - --- Show stairs/slabs/panels/microblocks in creative inventory (true or false): -setting("bool", "stairsplus_in_creative_inventory", false) diff --git a/mods/moreblocks/crafting.lua b/mods/moreblocks/crafting.lua deleted file mode 100755 index 392aa808..00000000 --- a/mods/moreblocks/crafting.lua +++ /dev/null @@ -1,477 +0,0 @@ ---[[ -More Blocks: crafting recipes - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -minetest.register_craft({ - output = "default:stick", - recipe = {{"default:dry_shrub"},} -}) - -minetest.register_craft({ - output = "default:stick", - recipe = {{"default:sapling"},} -}) - -minetest.register_craft({ - output = "default:stick", - recipe = {{"default:junglesapling"},} -}) - -minetest.register_craft({ - output = "default:wood", - recipe = { - {"default:stick", "default:stick", "default:stick"}, - {"default:stick", "default:stick", "default:stick"}, - {"default:stick", "default:stick", "default:stick"} - -- MODIFICATION MADE FOR MFF ^ - } -}) - -minetest.register_craft({ - output = "default:dirt_with_grass", - type = "shapeless", - recipe = {"default:junglegrass", "default:dirt"}, -}) - -minetest.register_craft({ - output = "default:dirt_with_grass", - type = "shapeless", - recipe = {"default:mese", "default:dirt"}, -}) - -minetest.register_craft({ - output = "default:mossycobble", - type = "shapeless", - recipe = {"default:junglegrass", "default:cobble"}, -}) - -minetest.register_craft({ - output = "default:mossycobble", - type = "shapeless", - recipe = {"default:mese_crystal_fragment", "default:cobble"}, -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile 9", - recipe = { - {"default:wood", "default:wood", "default:wood"}, - {"default:wood", "default:wood", "default:wood"}, - {"default:wood", "default:wood", "default:wood"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile_flipped", - recipe = {{"moreblocks:wood_tile"},} -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile_center 9", - recipe = { - {"default:wood", "default:wood", "default:wood"}, - {"default:wood", "moreblocks:wood_tile", "default:wood"}, - {"default:wood", "default:wood", "default:wood"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile_full 4", - recipe = { - {"moreblocks:wood_tile", "moreblocks:wood_tile"}, - {"moreblocks:wood_tile", "moreblocks:wood_tile"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile_up", - recipe = { - {"default:stick"}, - {"moreblocks:wood_tile_center"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile_down", - recipe = { - {"moreblocks:wood_tile_center"}, - {"default:stick"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile_left", - recipe = { - {"default:stick", "moreblocks:wood_tile_center"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:wood_tile_right", - recipe = { - {"moreblocks:wood_tile_center", "default:stick"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:circle_stone_bricks 8", - recipe = { - {"default:stone", "default:stone", "default:stone"}, - {"default:stone", "", "default:stone"}, - {"default:stone", "default:stone", "default:stone"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:all_faces_tree 8", - recipe = { - {"default:tree", "default:tree", "default:tree"}, - {"default:tree", "", "default:tree"}, - {"default:tree", "default:tree", "default:tree"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:all_faces_jungle_tree 8", - recipe = { - {"default:jungletree", "default:jungletree", "default:jungletree"}, - {"default:jungletree", "", "default:jungletree"}, - {"default:jungletree", "default:jungletree", "default:jungletree"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:sweeper 4", - recipe = { - {"default:junglegrass"}, - {"default:stick"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:stone_tile 4", - recipe = { - {"default:cobble", "default:cobble"}, - {"default:cobble", "default:cobble"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:split_stone_tile", - recipe = { - {"moreblocks:stone_tile"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:split_stone_tile_alt", - recipe = { - {"moreblocks:split_stone_tile"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:grey_bricks 2", - type = "shapeless", - recipe = {"default:stone", "default:brick"}, -}) - -minetest.register_craft({ - output = "moreblocks:grey_bricks 2", - type = "shapeless", - recipe = {"default:stonebrick", "default:brick"}, -}) - -minetest.register_craft({ - output = "moreblocks:empty_bookshelf", - type = "shapeless", - recipe = {"moreblocks:sweeper", "default:bookshelf"}, -}) - -minetest.register_craft({ - output = "moreblocks:coal_stone_bricks 4", - recipe = { - {"moreblocks:coal_stone", "moreblocks:coal_stone"}, - {"moreblocks:coal_stone", "moreblocks:coal_stone"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:iron_stone_bricks 4", - recipe = { - {"moreblocks:iron_stone", "moreblocks:iron_stone"}, - {"moreblocks:iron_stone", "moreblocks:iron_stone"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:plankstone 4", - recipe = { - {"default:stone", "default:wood"}, - {"default:wood", "default:stone"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:plankstone 4", - recipe = { - {"default:wood", "default:stone"}, - {"default:stone", "default:wood"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:coal_checker 4", - recipe = { - {"default:stone", "default:coal_lump"}, - {"default:coal_lump", "default:stone"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:coal_checker 4", - recipe = { - {"default:coal_lump", "default:stone"}, - {"default:stone", "default:coal_lump"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:iron_checker 4", - recipe = { - {"default:steel_ingot", "default:stone"}, - {"default:stone", "default:steel_ingot"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:iron_checker 4", - recipe = { - {"default:stone", "default:steel_ingot"}, - {"default:steel_ingot", "default:stone"}, - } -}) - -minetest.register_craft({ - output = "default:chest_locked", - type = "shapeless", - recipe = {"default:steel_ingot", "default:chest"}, -}) -minetest.register_craft({ - output = "default:chest_locked", - type = "shapeless", - recipe = {"default:copper_ingot", "default:chest"}, -}) - -minetest.register_craft({ - output = "default:chest_locked", - type = "shapeless", - recipe = {"default:bronze_ingot", "default:chest"}, -}) - -minetest.register_craft({ - output = "default:chest_locked", - type = "shapeless", - recipe = {"default:gold_ingot", "default:chest"}, -}) - -minetest.register_craft({ - output = "moreblocks:iron_glass", - type = "shapeless", - recipe = {"default:steel_ingot", "default:glass"}, -}) - -minetest.register_craft({ - output = "default:glass", - type = "shapeless", - recipe = {"default:coal_lump", "moreblocks:iron_glass"}, -}) - - -minetest.register_craft({ - output = "moreblocks:coal_glass", - type = "shapeless", - recipe = {"default:coal_lump", "default:glass"}, -}) - -minetest.register_craft({ - output = "default:glass", - type = "shapeless", - recipe = {"default:steel_ingot", "moreblocks:coal_glass"}, -}) - -minetest.register_craft({ - output = "moreblocks:clean_glass", - type = "shapeless", - recipe = {"moreblocks:sweeper", "default:glass"}, -}) - -minetest.register_craft({ - output = "moreblocks:glow_glass", - type = "shapeless", - recipe = {"default:torch", "default:glass"}, -}) - -minetest.register_craft({ - output = "moreblocks:trap_glow_glass", - type = "shapeless", - recipe = {"default:mese_crystal_fragment", "default:glass", "default:torch"}, -}) - -minetest.register_craft({ - output = "moreblocks:trap_glow_glass", - type = "shapeless", - recipe = {"default:mese_crystal_fragment", "moreblocks:glow_glass"}, -}) - -minetest.register_craft({ - output = "moreblocks:super_glow_glass", - type = "shapeless", - recipe = {"default:torch", "default:torch", "default:glass"}, -}) - -minetest.register_craft({ - output = "moreblocks:super_glow_glass", - type = "shapeless", - recipe = {"default:torch", "moreblocks:glow_glass"}, -}) - - -minetest.register_craft({ - output = "moreblocks:trap_super_glow_glass", - type = "shapeless", - recipe = {"default:mese_crystal_fragment", "default:glass", "default:torch", "default:torch"}, -}) - -minetest.register_craft({ - output = "moreblocks:trap_super_glow_glass", - type = "shapeless", - recipe = {"default:mese_crystal_fragment", "moreblocks:super_glow_glass"}, -}) - -minetest.register_craft({ - output = "moreblocks:coal_stone", - type = "shapeless", - recipe = {"default:coal_lump", "default:stone"}, -}) - -minetest.register_craft({ - output = "default:stone", - type = "shapeless", - recipe = {"default:steel_ingot", "moreblocks:coal_stone"}, -}) - -minetest.register_craft({ - output = "moreblocks:iron_stone", - type = "shapeless", - recipe = {"default:steel_ingot", "default:stone"}, -}) - -minetest.register_craft({ - output = "default:stone", - type = "shapeless", - recipe = {"default:coal_lump", "moreblocks:iron_stone"}, -}) - -minetest.register_craft({ - output = "moreblocks:trap_stone", - type = "shapeless", - recipe = {"default:mese_crystal_fragment", "default:stone"}, -}) - -minetest.register_craft({ - output = "moreblocks:trap_glass", - type = "shapeless", - recipe = {"default:mese_crystal_fragment", "default:glass"}, -}) - -minetest.register_craft({ - output = "moreblocks:cactus_brick", - type = "shapeless", - recipe = {"default:cactus", "default:brick"}, -}) - -minetest.register_craft({ - output = "moreblocks:cactus_checker 4", - recipe = { - {"default:cactus", "default:stone"}, - {"default:stone", "default:cactus"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:cactuschecker 4", - recipe = { - {"default:stone", "default:cactus"}, - {"default:cactus", "default:stone"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:rope 3", - recipe = { - {"default:junglegrass"}, - {"default:junglegrass"}, - {"default:junglegrass"}, - } -}) - -minetest.register_craft({ - output = "moreblocks:cobble_compressed", - recipe = { - {"default:cobble"}, - {"default:cobble"}, - -- MODIFICATION MADE FOR MFF - } -}) - -minetest.register_craft({ - output = "default:cobble 2", -- MODIFICATION MADE FOR MFF - recipe = { - {"moreblocks:cobble_compressed"}, - } -}) - -minetest.register_craft({ - type = "cooking", output = "moreblocks:tar", recipe = "default:gravel", -}) - -if minetest.setting_getbool("moreblocks.circular_saw_crafting") ~= false then -- “If nil or true then†- minetest.register_craft({ - output = "moreblocks:circular_saw", - recipe = { - { "", "default:steel_ingot", "" }, - { "group:wood", "group:wood", "group:wood"}, - { "group:wood", "", "group:wood"}, - } - }) -end - --- MODIFICATION MADE FOR MFF //MFF(Mg|08/09/15) - - -minetest.register_craft({ - output = "moreblocks:horizontal_jungle_tree 2", - recipe = { - {"default:jungletree", "", "default:jungletree"}, - } -}) - -minetest.register_craft({ - output = "default:jungletree 2", - recipe = { - {"moreblocks:horizontal_jungle_tree"}, - {"moreblocks:horizontal_jungle_tree"}, - } -}) - -minetest.register_craft({ - output = "default:junglewood 4", - recipe = { - {"moreblocks:horizontal_jungle_tree"}, - } -}) - --- END OF MODIFICATIONS diff --git a/mods/moreblocks/depends.txt b/mods/moreblocks/depends.txt deleted file mode 100755 index 198fe8a6..00000000 --- a/mods/moreblocks/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -intllib? diff --git a/mods/moreblocks/description.txt b/mods/moreblocks/description.txt deleted file mode 100644 index 95d7a929..00000000 --- a/mods/moreblocks/description.txt +++ /dev/null @@ -1 +0,0 @@ -Adds various miscellaneous blocks to the game. diff --git a/mods/moreblocks/init.lua b/mods/moreblocks/init.lua deleted file mode 100755 index 2919a308..00000000 --- a/mods/moreblocks/init.lua +++ /dev/null @@ -1,33 +0,0 @@ ---[[ -===================================================================== -** More Blocks ** -By Calinou, with the help of ShadowNinja and VanessaE. - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. -===================================================================== ---]] - -moreblocks = {} - -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() -else - S = function(s) return s end -end -moreblocks.intllib = S - -local modpath = minetest.get_modpath("moreblocks") - -dofile(modpath .. "/config.lua") -dofile(modpath .. "/circular_saw.lua") -dofile(modpath .. "/stairsplus/init.lua") -dofile(modpath .. "/nodes.lua") -dofile(modpath .. "/redefinitions.lua") -dofile(modpath .. "/crafting.lua") -dofile(modpath .. "/aliases.lua") - -if minetest.setting_getbool("log_mods") then - minetest.log("action", S("[moreblocks] loaded.")) -end diff --git a/mods/moreblocks/locale/de.txt b/mods/moreblocks/locale/de.txt deleted file mode 100755 index 542f977f..00000000 --- a/mods/moreblocks/locale/de.txt +++ /dev/null @@ -1,67 +0,0 @@ -# Translation by Xanthin - -###init.lua### -[moreblocks] loaded. = [moreblocks] geladen. - -###nodes.lua### -Jungle Wood Fence = Tropenholzzaun -Empty Bookshelf = Leeres Buecherregal -Clean Glass = Klares Glas -Plankstone = Brettstein -Wooden Tile = Holzfliese -Full Wooden Tile = Vollholzfliese -Centered Wooden Tile = Holzfliese mittig -Up Wooden Tile = Holzfliese oben -Down Wooden Tile = Holzfliese unten -Left Wooden Tile = Holzfliese links -Right Wooden Tile = Holzfliese rechts -Circle Stone Bricks = Kreissteinziegel -Stone Tile = Steinfliese -Split Stone Tile = Geteilte Steinfliese -Glow Glass = Leuchtglas -Super Glow Glass = Superleuchtglas -Coal Glass = Kohleglas -Iron Glass = Eisenglas -Coal Checker = Karierte Kohle -Iron Checker = Kariertes Eisen -Trap Stone = Steinfalle -Trap Glass = Glasfalle -Trap Glow Glass = Leuchtglasfalle -Trap Super Glow Glass = Superleuchtglasfalle -Coal Stone = Kohlestein -Iron Stone = Eisenstein -Coal Stone Bricks = Kohlesteinziegel -Iron Stone Bricks = Eisensteinziegel -Cactus Checker = Karierter Kaktus -Cactus Brick = Kaktusziegel -Sweeper = Besen -Jungle Stick = Tropenholzstock -Rope = Seil -All-faces Tree = Baumscheibenstamm - -###circular_saw.lua### -Circular Saw = Kreissaege -Circular saw, empty (owned by %s) = Kreissaege, leer (gehoert %s) -Circular saw, working with %s (owned by %s) = Kreissaege, arbeitet mit %s (gehoert %s) -Circular saw, empty = Kreissaege, leer -Circular saw is empty (owned by %s) = Kreissaege ist leer (gehoert %s) - -Input\nmaterial = Ausgangs-\nmaterial -Left-over = Rest -Max = Anzahl -Set = Ok -Recycle\noutput = Wiederver-\nwerten - -###./stairsplus/*### -%s Stairs = %streppe -%s Slab = %sstufe -%s Panel = %spaneel -%s Microblock = %smikroblock - -%s Pane = %sscheibe -%s Fence = %szaun - -###ownership.lua### -someone = jemand -Sorry, %s owns that spot. = Tut mir leid, %s gehoert diese Stelle. - diff --git a/mods/moreblocks/locale/es.txt b/mods/moreblocks/locale/es.txt deleted file mode 100755 index d11ba494..00000000 --- a/mods/moreblocks/locale/es.txt +++ /dev/null @@ -1,52 +0,0 @@ -# Translation by kaeza - -[moreblocks] loaded. = [moreblocks] cargado. - -Jungle Wooden Planks = Tablones de madera de jungla -Empty Bookshelf = Estante para libros vacío -Clean Glass = Cristal Limpio -Plankstone = Tablones de piedra -Wooden Tile = Parquet -Full Wooden Tile = Parquet Completo -Centered Wooden Tile = Parquet Centrado -Up Wooden Tile = Parquet Superior -Down Wooden Tile = Parquet Inferior -Left Wooden Tile = Parquet Izquierdo -Right Wooden Tile = Parquet Derecho -Circle Stone Bricks = Bloques de Piedra Circulares -Stone Tile = Baldosa de Piedra -Split Stone Tile = Baldosas de Piedra Partida -Glow Glass = Cristal Brillante -Super Glow Glass = Cristal Súper Brillante -Coal Glass = Cristal con Carbón -Iron Glass = Cristal con Hierro -Coal Checker = Cuadros de Carbón -Iron Checker = Cuadros de Hierro -Trap Stone = Piedra Trampa -Trap Glass = Cristal Trampa -Coal Stone = Carbón y Piedra -Iron Stone = Hierro y Piedra -Cactus Checker = Cuadros de Cactus -Cactus Brick = Ladrillos de Cactus -Sweeper = Limpiador -Jungle Stick = Varita de Madera de Jungla -Horizontal Tree = Tronco de árbol horizontal -Horizontal Jungle Tree = Tronco de árbol de la jungla horizontal -Rope = Soga -All-faces Tree = Tronco de Ãrbol - -%s Stairs = Escalera de %s -%s Slab = Losa de %s -%s Panel = Panel de %s -%s Microblock = Microbloque de %s - -Wooden = Madera -Papyrus = Papiro -Dry Shrub = Arbusto Desértico -Sapling = Brote de Ãrbol -Wooden Planks = Tablones de Madera -Ladder = Escalera de Mano -Glass = Cristal - -%s Pane = Panel de %s -%s Fence = Valla de %s diff --git a/mods/moreblocks/locale/fr.txt b/mods/moreblocks/locale/fr.txt deleted file mode 100755 index 6bd7f98c..00000000 --- a/mods/moreblocks/locale/fr.txt +++ /dev/null @@ -1,72 +0,0 @@ -# Translation by Calinou - -###init.lua### -[moreblocks] loaded. = [moreblocks] a été chargé. - -Jungle Wooden Planks = Planches de bois de jungle -Empty Bookshelf = Ètagère vide -Clean Glass = Verre propre -Plankstone = Pierre-bois -Wooden Tile = Dalle en bois -Full Wooden Tile = Dalle en bois complète -Centered Wooden Tile = Dalle en bois centrée -Up Wooden Tile = Dalle en bois vers le haut -Down Wooden Tile = Dalle en bois vers le bas -Left Wooden Tile = Dalle en bois vers la gauche -Right Wooden Tile = Dalle en bois vers la droite -Circle Stone Bricks = Briques en pierre circulaires -Stone Tile = Dalle en pierre -Split Stone Tile = Dalle en pierre découpée -Glow Glass = Verre brillant -Super Glow Glass = Verre très brillant -Coal Glass = Verre de charbon -Iron Glass = Verre de fer -Coal Checker = Damier en charbon -Iron Checker = Damier en fer -Trap Stone = Pierre traversable -Trap Glass = Verre traversable -Trap Glow Glass = Verre brillant traversable -Trap Super Glow Glass = Verre très brillant traversable -Coal Stone = Pierre de charbon -Iron Stone = Pierre de fer -Coal Stone Bricks = Briques en pierre de charbon -Iron Stone Bricks = Briques en pierre de fer -Cactus Checker = Damier en cactus -Cactus Brick = Briques de cactus -Sweeper = Balai -Jungle Stick = Bâton en bois de jungle -Horizontal Tree = Tronc d'arbre horizontal -Horizontal Jungle Tree = Tronc d'arbre de jungle horizontal -Rope = Corde -All-faces Tree = Tronc d'arbre - -###redefinition.lua### -Wooden = bois -Papyrus = Papyrus -Dry Shrub = Buisson mort -Sapling = Pousse d'arbre -Wooden Planks = Planches de bois -Ladder = Échelle -Glass = Verre - -###circular_saw.lua### -Circular Saw = Scie circulaire -Circular saw, empty (owned by %s) = Scie circulaire, vide (propriété de %s) -Circular saw, working with %s (owned by %s) = Scie circulaire, manipule %s (propriété de %s) -Circular saw, empty = Scie circulaire, vide -Circular saw is empty (owned by %s) = Scie circulaire est vide (propriété de %s) - -Input material = Entrée du matériel -Rest/microblocks = Reste/microbloc -Max: = Max: -Set = Fixer -Recycle output = Recyclage - -###./stairsplus/*### -%s Stairs = Escaliers en %s -%s Slab = Demi-dalle en %s -%s Panel = Barre en %s -%s Microblock = Microbloc en %s - -%s Pane = Panneau en %s -%s Fence = Barrière en %s \ No newline at end of file diff --git a/mods/moreblocks/locale/template.txt b/mods/moreblocks/locale/template.txt deleted file mode 100755 index 2b882276..00000000 --- a/mods/moreblocks/locale/template.txt +++ /dev/null @@ -1,64 +0,0 @@ -###init.lua### -[moreblocks] loaded. = - -###nodes.lua### -Jungle Wood Fence = -Empty Bookshelf = -Clean Glass = -Plankstone = -Wooden Tile = -Full Wooden Tile = -Centered Wooden Tile = -Up Wooden Tile = -Down Wooden Tile = -Left Wooden Tile = -Right Wooden Tile = -Circle Stone Bricks = -Stone Tile = -Split Stone Tile = -Glow Glass = -Super Glow Glass = -Coal Glass = -Iron Glass = -Coal Checker = -Iron Checker = -Trap Stone = -Trap Glass = -Trap Glow Glass = -Trap Super Glow Glass = -Coal Stone = -Iron Stone = -Coal Stone Bricks = -Iron Stone Bricks = -Cactus Checker = -Cactus Brick = -Sweeper = -Jungle Stick = -Rope = -All-faces Tree = - -###circular_saw.lua### -Circular Saw = -Circular saw, empty (owned by %s) = -Circular saw, working with %s (owned by %s) = -Circular saw, empty = -Circular saw is empty (owned by %s) = - -Input\nmaterial = -Left-over = -Max = -Set = -Recycle\noutput = - -###ownership.lua### -someone = -Sorry, %s owns that spot. = - -###./stairsplus/*### -%s Stairs = -%s Slab = -%s Panel = -%s Microblock = - -%s Pane = -%s Fence = diff --git a/mods/moreblocks/mod.conf b/mods/moreblocks/mod.conf deleted file mode 100644 index b634ba9b..00000000 --- a/mods/moreblocks/mod.conf +++ /dev/null @@ -1 +0,0 @@ -name = moreblocks diff --git a/mods/moreblocks/models/moreblocks_slope.obj b/mods/moreblocks/models/moreblocks_slope.obj deleted file mode 100755 index 22a833f3..00000000 --- a/mods/moreblocks/models/moreblocks_slope.obj +++ /dev/null @@ -1,26 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope.mtl -o Cube_Cube.002 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/3/2 3/4/2 5/1/2 6/2/2 -f 2/1/3 5/3/3 3/4/3 -f 1/2/4 4/3/4 6/4/4 -f 2/1/5 1/2/5 6/3/5 5/4/5 diff --git a/mods/moreblocks/models/moreblocks_slope_cut.obj b/mods/moreblocks/models/moreblocks_slope_cut.obj deleted file mode 100755 index a9ea83dc..00000000 --- a/mods/moreblocks/models/moreblocks_slope_cut.obj +++ /dev/null @@ -1,33 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_cut.mtl -o moreblocks_slope_cut -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v -0.500000 -0.000000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 1.000000 -vt 0.500000 0.000000 -vt 0.500000 2.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn -0.408200 0.816500 -0.408200 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 0.000000 0.000000 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 2/1/2 5/2/2 6/5/2 3/6/2 -f 2/3/3 1/6/3 7/1/3 5/2/3 -f 7/7/4 4/3/4 3/8/4 6/6/4 -f 5/1/5 7/2/5 6/4/5 -f 7/1/6 1/2/6 4/5/6 diff --git a/mods/moreblocks/models/moreblocks_slope_half.obj b/mods/moreblocks/models/moreblocks_slope_half.obj deleted file mode 100755 index a6b1a562..00000000 --- a/mods/moreblocks/models/moreblocks_slope_half.obj +++ /dev/null @@ -1,28 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_half.mtl -o Cube_Cube.002 -v 0.500000 -0.000000 0.500000 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/3/2 3/4/2 5/5/2 6/6/2 -f 2/1/3 5/3/3 3/4/3 -f 1/2/4 4/3/4 6/4/4 -f 2/5/5 1/6/5 6/3/5 5/4/5 diff --git a/mods/moreblocks/models/moreblocks_slope_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_half_raised.obj deleted file mode 100755 index 6f985e37..00000000 --- a/mods/moreblocks/models/moreblocks_slope_half_raised.obj +++ /dev/null @@ -1,32 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_half_raised.mtl -o Cube.001 -v -0.500000 0.500000 0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 0.000000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.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 0.894400 -0.447200 -usemtl None.001 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 2/5/2 5/2/2 6/3/2 3/4/2 -f 5/5/3 7/6/3 8/3/3 6/4/3 -f 7/1/4 1/6/4 4/3/4 8/4/4 -f 4/4/5 3/1/5 6/6/5 8/3/5 -f 2/4/6 1/1/6 7/6/6 5/3/6 diff --git a/mods/moreblocks/models/moreblocks_slope_inner.obj b/mods/moreblocks/models/moreblocks_slope_inner.obj deleted file mode 100755 index d4a444ea..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner.obj +++ /dev/null @@ -1,35 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner.mtl -o Cube_Cube.000 -v 0.500000 0.500000 -0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.707100 0.707100 0.000000 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 6/3/2 7/4/2 -f 5/1/3 2/2/3 6/4/3 -f 1/2/4 4/3/4 8/4/4 -f 8/1/5 4/2/5 3/3/5 7/4/5 -f 7/3/6 3/4/6 2/1/6 5/2/6 -f 2/1/7 1/2/7 8/3/7 -l 7 9 -l 2 9 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_cut.obj b/mods/moreblocks/models/moreblocks_slope_inner_cut.obj deleted file mode 100755 index b687b112..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_cut.obj +++ /dev/null @@ -1,32 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_cut.mtl -o moreblocks_slope_inner_cut -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.500000 -0.500000 -v 0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.500000 0.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 -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -0.577400 0.577400 -0.577400 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 1/2/2 4/3/2 6/4/2 -f 2/1/3 1/2/3 5/3/3 7/4/3 -f 6/1/4 4/2/4 3/3/4 -f 7/1/5 5/2/5 6/3/5 -f 2/1/6 7/2/6 3/4/6 -f 7/5/7 6/3/7 3/4/7 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_cut_half.obj b/mods/moreblocks/models/moreblocks_slope_inner_cut_half.obj deleted file mode 100755 index 82a387bf..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_cut_half.obj +++ /dev/null @@ -1,34 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_cut_half.mtl -o moreblocks_slope_inner_cut_half -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.000000 -0.500000 -v 0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.500000 0.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 -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -0.408200 0.816500 -0.408200 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 1/2/2 4/3/2 6/4/2 -f 2/1/3 1/2/3 5/5/3 7/6/3 -f 6/1/4 4/2/4 3/5/4 -f 7/1/5 5/2/5 6/3/5 -f 2/1/6 7/2/6 3/4/6 -f 7/7/7 6/5/7 3/6/7 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_cut_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_inner_cut_half_raised.obj deleted file mode 100755 index 8231ee44..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_cut_half_raised.obj +++ /dev/null @@ -1,35 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_cut_half_raised.mtl -o moreblocks_slope_inner_cut_half_raised -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.500000 -0.500000 -v 0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 0.000000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.500000 0.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 -1.000000 0.000000 0.000000 -vn -0.000000 0.000000 -1.000000 -vn -0.408200 0.816500 -0.408200 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 1/2/2 4/3/2 6/4/2 -f 2/1/3 1/2/3 5/3/3 7/4/3 -f 6/1/4 4/2/4 3/3/4 -f 7/1/5 5/2/5 6/3/5 8/5/5 -f 2/1/6 7/2/6 8/6/6 3/4/6 -f 8/7/7 6/3/7 3/4/7 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half.obj b/mods/moreblocks/models/moreblocks_slope_inner_half.obj deleted file mode 100755 index 3e54dead..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_half.obj +++ /dev/null @@ -1,35 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_half.mtl -o Cube_Cube.001 -v 0.500000 0.000000 -0.500000 -v 0.500000 -0.000000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.447200 0.894400 0.000000 -usemtl None.002 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 6/3/2 7/4/2 -f 5/1/3 2/2/3 6/4/3 -f 1/2/4 4/3/4 8/4/4 -f 8/1/5 4/2/5 3/3/5 7/4/5 -f 7/3/6 3/4/6 2/1/6 5/2/6 -f 2/1/7 1/2/7 8/3/7 -l 7 9 -l 2 9 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj deleted file mode 100755 index e6c22058..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj +++ /dev/null @@ -1,38 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_half_raised.mtl -o Cube_Cube.003 -v 0.500000 0.500000 -0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn 0.000000 -0.000000 1.000000 -vn -0.447200 0.894400 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 0.000000 0.000000 -usemtl None.003 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 2/2/2 6/4/2 -f 7/3/3 3/4/3 2/1/3 5/2/3 -f 2/2/4 1/3/4 8/4/4 -f 7/1/5 9/2/5 4/3/5 3/4/5 -f 6/5/6 1/2/6 4/3/6 9/4/6 -f 7/4/7 5/1/7 6/6/7 9/3/7 -l 2 10 -l 7 10 diff --git a/mods/moreblocks/models/moreblocks_slope_outer.obj b/mods/moreblocks/models/moreblocks_slope_outer.obj deleted file mode 100755 index b8f4e9e9..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer.obj +++ /dev/null @@ -1,25 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer.mtl -o Cube_Cube.004 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/2/2 1/3/2 4/4/2 -f 2/3/3 1/4/3 5/1/3 -f 5/1/4 3/3/4 2/4/4 -f 5/2/5 4/3/5 3/4/5 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut.obj deleted file mode 100755 index e6cbfb48..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj +++ /dev/null @@ -1,23 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_cut.mtl -o Cube.002 -v 0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.577400 0.577400 -0.577400 -usemtl None.004 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/3/2 1/4/2 3/2/2 -f 3/2/3 2/3/3 4/4/3 -f 2/3/4 1/5/4 4/2/4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj deleted file mode 100755 index bd641941..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj +++ /dev/null @@ -1,24 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_cut_half.mtl -o Cube.003 -v 0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 0.500000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.408200 0.816500 -0.408200 -usemtl None.005 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/3/2 1/4/2 3/2/2 -f 3/2/3 2/3/3 4/5/3 -f 2/3/4 1/6/4 4/2/4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj deleted file mode 100755 index c65e08dd..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj +++ /dev/null @@ -1,28 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_cut_half_raised.mtl -o Cube_Cube.005 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.000000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.408200 0.816500 -0.408200 -vn -0.707100 0.000000 -0.707100 -usemtl None.006 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/5/2 3/2/2 5/3/2 6/6/2 -f 2/5/3 5/3/3 3/4/3 -f 1/2/4 4/3/4 6/4/4 -f 2/3/5 1/6/5 6/1/5 5/2/5 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_half.obj deleted file mode 100755 index 7bbb38de..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_half.obj +++ /dev/null @@ -1,27 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_half.mtl -o Cube.004 -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.000000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn -0.447200 0.894400 0.000000 -usemtl None.007 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/5/2 1/3/2 4/4/2 -f 3/4/3 5/6/3 4/3/3 -f 2/4/4 5/2/4 3/3/4 -f 1/4/5 5/1/5 2/3/5 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj deleted file mode 100755 index 51a929a2..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj +++ /dev/null @@ -1,34 +0,0 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_half_raised.mtl -o Cube_Cube.006 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 0.000000 -0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn -1.000000 0.000000 0.000000 -vn -0.447200 0.894400 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 -0.000000 -usemtl None.008 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/5/2 3/2/2 5/3/2 6/6/2 -f 7/3/3 4/5/3 6/2/3 -f 1/6/4 7/1/4 8/2/4 2/3/4 -f 7/3/5 1/4/5 4/5/5 -f 6/1/6 5/2/6 8/3/6 7/6/6 -f 5/5/7 3/2/7 2/3/7 8/4/7 diff --git a/mods/moreblocks/nodes.lua b/mods/moreblocks/nodes.lua deleted file mode 100755 index 58c75b74..00000000 --- a/mods/moreblocks/nodes.lua +++ /dev/null @@ -1,356 +0,0 @@ ---[[ -More Blocks: node definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - -local sound_wood = default.node_sound_wood_defaults() -local sound_stone = default.node_sound_stone_defaults() -local sound_glass = default.node_sound_glass_defaults() -local sound_leaves = default.node_sound_leaves_defaults() - -local function tile_tiles(name) - local tex = "moreblocks_" ..name.. ".png" - return {tex, tex, tex, tex, tex.. "^[transformR90", tex.. "^[transformR90"} -end - -local nodes = { - ["wood_tile"] = { - description = S("Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = {"default_wood.png^moreblocks_wood_tile.png", - "default_wood.png^moreblocks_wood_tile.png", - "default_wood.png^moreblocks_wood_tile.png", - "default_wood.png^moreblocks_wood_tile.png", - "default_wood.png^moreblocks_wood_tile.png^[transformR90", - "default_wood.png^moreblocks_wood_tile.png^[transformR90"}, - sounds = sound_wood, - }, - ["wood_tile_flipped"] = { - description = S("Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90", - "default_wood.png^moreblocks_wood_tile.png^[transformR90", - "default_wood.png^moreblocks_wood_tile.png^[transformR90", - "default_wood.png^moreblocks_wood_tile.png^[transformR90", - "default_wood.png^moreblocks_wood_tile.png^[transformR180", - "default_wood.png^moreblocks_wood_tile.png^[transformR180"}, - sounds = sound_wood, - no_stairs = true, - }, - ["wood_tile_center"] = { - description = S("Centered Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = {"default_wood.png^moreblocks_wood_tile_center.png"}, - sounds = sound_wood, - }, - ["wood_tile_full"] = { - description = S("Full Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = tile_tiles("wood_tile_full"), - sounds = sound_wood, - }, - ["wood_tile_up"] = { - description = S("Upwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = {"default_wood.png^moreblocks_wood_tile_up.png"}, - sounds = sound_wood, - no_stairs = true, - }, - ["wood_tile_down"] = { - description = S("Downwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"}, - sounds = sound_wood, - no_stairs = true, - }, - ["wood_tile_left"] = { - description = S("Leftwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"}, - sounds = sound_wood, - no_stairs = true, - }, - ["wood_tile_right"] = { - description = S("Rightwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, - tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"}, - sounds = sound_wood, - no_stairs = true, - }, - ["circle_stone_bricks"] = { - description = S("Circle Stone Bricks"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["grey_bricks"] = { - description = S("Stone Bricks"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["coal_stone_bricks"] = { - description = S("Coal Stone Bricks"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["iron_stone_bricks"] = { - description = S("Iron Stone Bricks"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["stone_tile"] = { - description = S("Stone Tile"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["split_stone_tile"] = { - description = S("Split Stone Tile"), - tiles = {"moreblocks_split_stone_tile_top.png", - "moreblocks_split_stone_tile.png"}, - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["split_stone_tile_alt"] = { - description = S("Checkered Stone Tile"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["tar"] = { - description = S("Tar"), - groups = {cracky = 2, tar_block = 1}, - sounds = sound_stone, - }, - ["cobble_compressed"] = { - description = S("Compressed Cobblestone"), - groups = {cracky = 1}, - sounds = sound_stone, - }, - ["plankstone"] = { - description = S("Plankstone"), - groups = {cracky = 3}, - tiles = tile_tiles("plankstone"), - sounds = sound_stone, - }, - ["iron_glass"] = { - description = S("Iron Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_iron_glass.png", "moreblocks_iron_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - }, - ["coal_glass"] = { - description = S("Coal Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_coal_glass.png", "moreblocks_coal_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - }, - ["clean_glass"] = { - description = S("Clean Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_clean_glass.png", "moreblocks_clean_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - }, - ["cactus_brick"] = { - description = S("Cactus Brick"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["cactus_checker"] = { - description = S("Cactus Checker"), - groups = {cracky = 3}, - tiles = {"default_stone.png^moreblocks_cactus_checker.png", - "default_stone.png^moreblocks_cactus_checker.png", - "default_stone.png^moreblocks_cactus_checker.png", - "default_stone.png^moreblocks_cactus_checker.png", - "default_stone.png^moreblocks_cactus_checker.png^[transformR90", - "default_stone.png^moreblocks_cactus_checker.png^[transformR90"}, - sounds = sound_stone, - }, - ["empty_bookshelf"] = { - description = S("Empty Bookshelf"), - tiles = {"default_wood.png", "default_wood.png", - "moreblocks_empty_bookshelf.png"}, - groups = {snappy = 2, choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, - sounds = sound_wood, - no_stairs = true, - }, - ["coal_stone"] = { - description = S("Coal Stone"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["iron_stone"] = { - description = S("Iron Stone"), - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["coal_checker"] = { - description = S("Coal Checker"), - tiles = {"default_stone.png^moreblocks_coal_checker.png", - "default_stone.png^moreblocks_coal_checker.png", - "default_stone.png^moreblocks_coal_checker.png", - "default_stone.png^moreblocks_coal_checker.png", - "default_stone.png^moreblocks_coal_checker.png^[transformR90", - "default_stone.png^moreblocks_coal_checker.png^[transformR90"}, - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["iron_checker"] = { - description = S("Iron Checker"), - tiles = {"default_stone.png^moreblocks_iron_checker.png", - "default_stone.png^moreblocks_iron_checker.png", - "default_stone.png^moreblocks_iron_checker.png", - "default_stone.png^moreblocks_iron_checker.png", - "default_stone.png^moreblocks_iron_checker.png^[transformR90", - "default_stone.png^moreblocks_iron_checker.png^[transformR90"}, - groups = {cracky = 3}, - sounds = sound_stone, - }, - ["trap_stone"] = { - description = S("Trap Stone"), - walkable = false, - groups = {cracky = 3}, - sounds = sound_stone, - no_stairs = true, - }, - ["trap_glass"] = { - description = S("Trap Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_trap_glass.png", "default_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - walkable = false, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - no_stairs = true, - }, - ["all_faces_tree"] = { - description = S("All-faces Tree"), - tiles = {"default_tree_top.png"}, - groups = {tree = 1,snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = sound_wood, - furnace_burntime = 30, - }, - ["all_faces_jungle_tree"] = { - description = S("All-faces Jungle Tree"), - tiles = {"default_jungletree_top.png"}, - groups = {tree = 1,snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, - sounds = sound_wood, - furnace_burntime = 30, - }, - ["horizontal_jungle_tree"] = { - description = S("Horizontal Jungle Tree"), - tiles = {"default_jungletree.png", - "default_jungletree.png", - "default_jungletree.png^[transformR90", - "default_jungletree.png^[transformR90", - "default_jungletree_top.png", - "default_jungletree_top.png"}, - paramtype2 = "facedir", - groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, - sounds = sound_wood, - furnace_burntime = 30, - }, - ["glow_glass"] = { - description = S("Glow Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_glow_glass.png", "moreblocks_glow_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - light_source = 11, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - }, - ["trap_glow_glass"] = { - description = S("Trap Glow Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_trap_glass.png", "moreblocks_glow_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - light_source = 11, - walkable = false, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - no_stairs = true, - }, - ["super_glow_glass"] = { - description = S("Super Glow Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - light_source = default.LIGHT_MAX, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - }, - ["trap_super_glow_glass"] = { - description = S("Trap Super Glow Glass"), - drawtype = "glasslike_framed_optional", - tiles = {"moreblocks_trap_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"}, --MFF connected glass - paramtype = "light", - sunlight_propagates = true, - light_source = default.LIGHT_MAX, - walkable = false, - groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, - sounds = sound_glass, - no_stairs = true, - }, - ["rope"] = { - description = S("Rope"), - drawtype = "signlike", - inventory_image = "moreblocks_rope.png", - wield_image = "moreblocks_rope.png", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "wallmounted", - walkable = false, - climbable = true, - selection_box = {type = "wallmounted",}, - groups = {snappy = 3, flammable = 2}, - sounds = sound_leaves, - no_stairs = true, - }, -} - -for name, def in pairs(nodes) do - def.tiles = def.tiles or {"moreblocks_" ..name.. ".png"} - minetest.register_node("moreblocks:" ..name, def) - minetest.register_alias(name, "moreblocks:" ..name) - if not def.no_stairs then - local groups = {} - for k, v in pairs(def.groups) do groups[k] = v end - stairsplus:register_all("moreblocks", name, "moreblocks:" ..name, { - description = def.description, - groups = groups, - tiles = def.tiles, - sunlight_propagates = def.sunlight_propagates, - light_source = def.light_source, - sounds = def.sounds, - }) - end -end - - --- Items - -minetest.register_craftitem("moreblocks:sweeper", { - description = S("Sweeper"), - inventory_image = "moreblocks_sweeper.png", -}) - -minetest.register_craftitem("moreblocks:nothing", { - inventory_image = "invisible.png", - on_use = function() end, -}) - diff --git a/mods/moreblocks/ownership.lua b/mods/moreblocks/ownership.lua deleted file mode 100755 index 1c2431ba..00000000 --- a/mods/moreblocks/ownership.lua +++ /dev/null @@ -1,41 +0,0 @@ ---[[ -More Blocks: ownership handling - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.gettext - -function moreblocks.node_is_owned(pos, placer) - local ownername = false - if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod - if HasOwner(pos, placer) then -- returns true if the node is owned - if not IsPlayerNodeOwner(pos, placer:get_player_name()) then - if type(getLastOwner) == "function" then -- ...is an old version - ownername = getLastOwner(pos) - elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version - ownername = GetNodeOwnerName(pos) - else - ownername = S("someone") - end - end - end - - elseif type(isprotect)=="function" then -- glomie's protection mod - if not isprotect(5, pos, placer) then - ownername = S("someone") - end - elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod - if not protector.can_dig(5, pos, placer) then - ownername = S("someone") - end - end - - if ownername ~= false then - minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) ) - return true - else - return false - end -end diff --git a/mods/moreblocks/redefinitions.lua b/mods/moreblocks/redefinitions.lua deleted file mode 100755 index 8566887d..00000000 --- a/mods/moreblocks/redefinitions.lua +++ /dev/null @@ -1,100 +0,0 @@ ---[[ -More Blocks: redefinitions of default stuff - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - --- Redefinitions of some default crafting recipes: - -minetest.register_craft({ - output = "default:sign_wall 4", - recipe = { - {"group:wood", "group:wood", "group:wood"}, - {"group:wood", "group:wood", "group:wood"}, - {"", "group:stick", ""}, - } -}) - -minetest.register_craft({ - output = "default:ladder 4", - recipe = { - {"default:stick", "", "default:stick"}, - {"default:stick", "default:stick", "default:stick"}, - {"default:stick", "", "default:stick"}, - } -}) - -minetest.register_craft({ - output = "default:paper 4", - recipe = { - {"default:papyrus", "default:papyrus", "default:papyrus"}, - } -}) - ---[[minetest.register_craft({ - output = "default:rail 16", -- /MFF (Mg|06/10/15) => (Ombridride|26/07/15) - recipe = { - {"default:steel_ingot", "", "default:steel_ingot"}, - {"default:steel_ingot", "default:stick", "default:steel_ingot"}, - {"default:steel_ingot", "", "default:steel_ingot"}, - } -})--]] - -minetest.register_craft({ - type = "toolrepair", - additional_wear = -0.10, -- Tool repair buff (10% bonus instead of 2%). -}) - --- Redefinitions of some default nodes --- =================================== - --- Let there be light. This makes some nodes let light pass through: -minetest.override_item("default:ladder", { - paramtype = "light", - sunlight_propagates = true, -}) - -minetest.override_item("default:sapling", { - paramtype = "light", - sunlight_propagates = true, -}) - -minetest.override_item("default:dry_shrub", { - paramtype = "light", - sunlight_propagates = true, -}) - -minetest.override_item("default:papyrus", { - paramtype = "light", - sunlight_propagates = true, -}) - -minetest.override_item("default:fence_wood", { - paramtype = "light", - sunlight_propagates = true, -}) - -minetest.override_item("default:junglegrass", { - paramtype = "light", - sunlight_propagates = true, -}) - -minetest.override_item("default:junglesapling", { - paramtype = "light", - sunlight_propagates = true, -}) - -minetest.override_item("default:grass_1", { - inventory_image = "default_grass_3.png", -- Use a bigger inventory image. - wield_image = "default_grass_3.png", - paramtype = "light", - sunlight_propagates = true, -}) - -for i = 2, 5 do - minetest.override_item("default:grass_" ..i, { - paramtype = "light", - sunlight_propagates = true, - }) -end diff --git a/mods/moreblocks/stairsplus/API.md b/mods/moreblocks/stairsplus/API.md deleted file mode 100755 index 2db0f2b3..00000000 --- a/mods/moreblocks/stairsplus/API.md +++ /dev/null @@ -1,24 +0,0 @@ -API documentation for Stairs+ -============================= - -* `stairsplus:register_all(modname, subname, recipeitem, fields)` - Registers a stair, slab, panel, microblock, and any other types of - nodes to be added in the future. - This also registers the node with the circular saw. - Example: - ```lua - stairsplus:register_all("moreblocks", "wood", "defaut:wood", { - description = "Wooden", - tiles = {"default_wood.png"}, - groups = {oddly_breakabe_by_hand=1}, - sounds = default.node_sound_wood_defaults(), - }) - ``` -The following register only a particular type of microblock. -You will probably never want to use them directly: - -* `stairsplus:register_stair(modname, subname, recipeitem, fields)` -* `stairsplus:register_slab(modname, subname, recipeitem, fields)` -* `stairsplus:register_panel(modname, subname, recipeitem, fields)` -* `stairsplus:register_micro(modname, subname, recipeitem, fields)` - diff --git a/mods/moreblocks/stairsplus/aliases.lua b/mods/moreblocks/stairsplus/aliases.lua deleted file mode 100755 index c235d342..00000000 --- a/mods/moreblocks/stairsplus/aliases.lua +++ /dev/null @@ -1,70 +0,0 @@ ---[[ -More Blocks: alias definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local function register_stairsplus_alias(modname, origname, newname) - minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..newname) - minetest.register_alias(modname.. ":slab_" ..origname.. "_inverted", "moreblocks:slab_" ..newname.. "_inverted") - minetest.register_alias(modname.. ":slab_" ..origname.. "_wall", "moreblocks:slab_" ..newname.. "_wall") - minetest.register_alias(modname.. ":slab_" ..origname.. "_quarter", "moreblocks:slab_" ..newname.. "_quarter") - minetest.register_alias(modname.. ":slab_" ..origname.. "_quarter_inverted", "moreblocks:slab_" ..newname.. "_quarter_inverted") - minetest.register_alias(modname.. ":slab_" ..origname.. "_quarter_wall", "moreblocks:slab_" ..newname.. "_quarter_wall") - minetest.register_alias(modname.. ":slab_" ..origname.. "_three_quarter", "moreblocks:slab_" ..newname.. "_three_quarter") - minetest.register_alias(modname.. ":slab_" ..origname.. "_three_quarter_inverted", "moreblocks:slab_" ..newname.. "_three_quarter_inverted") - minetest.register_alias(modname.. ":slab_" ..origname.. "_three_quarter_wall", "moreblocks:slab_" ..newname.. "_three_quarter_wall") - minetest.register_alias(modname.. ":stair_" ..origname, "moreblocks:stair_" ..newname) - minetest.register_alias(modname.. ":stair_" ..origname.. "_inverted", "moreblocks:stair_" ..newname.. "_inverted") - minetest.register_alias(modname.. ":stair_" ..origname.. "_wall", "moreblocks:stair_" ..newname.. "_wall") - minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half", "moreblocks:stair_" ..newname.. "_wall_half") - minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half_inverted", "moreblocks:stair_" ..newname.. "_wall_half_inverted") - minetest.register_alias(modname.. ":stair_" ..origname.. "_half", "moreblocks:stair_" ..newname.. "_half") - minetest.register_alias(modname.. ":stair_" ..origname.. "_half_inverted", "moreblocks:stair_" ..newname.. "_half_inverted") - minetest.register_alias(modname.. ":stair_" ..origname.. "_right_half", "moreblocks:stair_" ..newname.. "_right_half") - minetest.register_alias(modname.. ":stair_" ..origname.. "_right_half_inverted", "moreblocks:stair_" ..newname.. "_right_half_inverted") - minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half", "moreblocks:stair_" ..newname.. "_wall_half") - minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half_inverted", "moreblocks:stair_" ..newname.. "_wall_half_inverted") - minetest.register_alias(modname.. ":stair_" ..origname.. "_inner", "moreblocks:stair_" ..newname.. "_inner") - minetest.register_alias(modname.. ":stair_" ..origname.. "_inner_inverted", "moreblocks:stair_" ..newname.. "_inner_inverted") - minetest.register_alias(modname.. ":stair_" ..origname.. "_outer", "moreblocks:stair_" ..newname.. "_outer") - minetest.register_alias(modname.. ":stair_" ..origname.. "_outer_inverted", "moreblocks:stair_" ..newname.. "_outer_inverted") - minetest.register_alias(modname.. ":panel_" ..origname.. "_bottom", "moreblocks:panel_" ..newname.. "_bottom") - minetest.register_alias(modname.. ":panel_" ..origname.. "_top", "moreblocks:panel_" ..newname.. "_top") - minetest.register_alias(modname.. ":panel_" ..origname.. "_vertical", "moreblocks:panel_" ..newname.. "_vertical") - minetest.register_alias(modname.. ":micro_" ..origname.. "_bottom", "moreblocks:micro_" ..newname.. "_bottom") - minetest.register_alias(modname.. ":micro_" ..origname.. "_top", "moreblocks:micro_" ..newname.. "_top") -end - -register_stairsplus_alias("stairsplus", "stone", "stone") -register_stairsplus_alias("stairsplus", "wood", "wood") -register_stairsplus_alias("stairsplus", "pinewood", "pinewood") -register_stairsplus_alias("stairsplus", "cobble", "cobble") -register_stairsplus_alias("stairsplus", "brick", "brick") -register_stairsplus_alias("stairsplus", "sandstone", "sandstone") -register_stairsplus_alias("stairsplus", "glass", "glass") -register_stairsplus_alias("stairsplus", "tree", "tree") -register_stairsplus_alias("stairsplus", "jungletree", "jungletree") -register_stairsplus_alias("stairsplus", "pinetree", "pinetree") -register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone") -register_stairsplus_alias("stairsplus", "steelblock", "steelblock") -register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble") - -register_stairsplus_alias("moreblocks", "coalstone", "coal_stone") -register_stairsplus_alias("moreblocks", "junglewood", "jungle_wood") -register_stairsplus_alias("moreblocks", "circlestonebrick", "circle_stone_bricks") -register_stairsplus_alias("moreblocks", "ironstone", "iron_stone") -register_stairsplus_alias("moreblocks", "coalglass", "coal_glass") -register_stairsplus_alias("moreblocks", "ironglass", "iron_glass") -register_stairsplus_alias("moreblocks", "glowglass", "glow_glass") -register_stairsplus_alias("moreblocks", "superglowglass", "super_glow_glass") -register_stairsplus_alias("moreblocks", "coalchecker", "coal_checker") -register_stairsplus_alias("moreblocks", "ironchecker", "iron_checker") -register_stairsplus_alias("moreblocks", "cactuschecker", "cactus_checker") -register_stairsplus_alias("moreblocks", "ironstonebrick", "iron_stone_bricks") -register_stairsplus_alias("moreblocks", "stonesquare", "stone_tile") -register_stairsplus_alias("moreblocks", "splitstonesquare", "split_stone_tile") -register_stairsplus_alias("moreblocks", "woodtile", "wood_tile") -register_stairsplus_alias("moreblocks", "woodtile_centered", "wood_tile_centered") -register_stairsplus_alias("moreblocks", "woodtile_full", "wood_tile_full") diff --git a/mods/moreblocks/stairsplus/conversion.lua b/mods/moreblocks/stairsplus/conversion.lua deleted file mode 100755 index 3319bce2..00000000 --- a/mods/moreblocks/stairsplus/conversion.lua +++ /dev/null @@ -1,139 +0,0 @@ ---[[ -More Blocks: conversion - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - --- Function to convert all stairs/slabs/etc nodes from --- inverted, wall, etc to regular + 6d facedir - -local dirs1 = {21, 20, 23, 22, 21} -local dirs2 = {15, 8, 17, 6, 15} -local dirs3 = {14, 11, 16, 5, 14} - -function stairsplus:register_6dfacedir_conversion(modname, material) - --print("Register stairsplus 6d facedir conversion") - --print('ABM for '..modname..' "'..material..'"') - - local objects_list1 = { - modname.. ":slab_" ..material.. "_inverted", - modname.. ":slab_" ..material.. "_quarter_inverted", - modname.. ":slab_" ..material.. "_three_quarter_inverted", - modname.. ":stair_" ..material.. "_inverted", - modname.. ":stair_" ..material.. "_wall", - modname.. ":stair_" ..material.. "_wall_half", - modname.. ":stair_" ..material.. "_wall_half_inverted", - modname.. ":stair_" ..material.. "_half_inverted", - modname.. ":stair_" ..material.. "_right_half_inverted", - modname.. ":panel_" ..material.. "_vertical", - modname.. ":panel_" ..material.. "_top", - } - - local objects_list2 = { - modname.. ":slab_" ..material.. "_wall", - modname.. ":slab_" ..material.. "_quarter_wall", - modname.. ":slab_" ..material.. "_three_quarter_wall", - modname.. ":stair_" ..material.. "_inner_inverted", - modname.. ":stair_" ..material.. "_outer_inverted", - modname.. ":micro_" ..material.. "_top" - } - - for _, object in pairs(objects_list1) do - local flip_upside_down = false - local flip_to_wall = false - - local dest_object = object - - if string.find(dest_object, "_inverted") then - flip_upside_down = true - dest_object = string.gsub(dest_object, "_inverted", "") - end - - if string.find(object, "_top") then - flip_upside_down = true - dest_object = string.gsub(dest_object, "_top", "") - end - - if string.find(dest_object, "_wall") then - flip_to_wall = true - dest_object = string.gsub(dest_object, "_wall", "") - end - - if string.find(dest_object, "_vertical") then - flip_to_wall = true - dest_object = string.gsub(dest_object, "_vertical", "") - end - - if string.find(dest_object, "_half") and not string.find(dest_object, "_right_half") then - dest_object = string.gsub(dest_object, "_half", "_right_half") - elseif string.find(dest_object, "_right_half") then - dest_object = string.gsub(dest_object, "_right_half", "_half") - end - - --print(" +---> convert " ..object) - --print(" | to " ..dest_object) - - minetest.register_abm({ - nodenames = {object}, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local fdir = node.param2 or 0 - - if flip_upside_down and not flip_to_wall then - nfdir = dirs1[fdir + 2] - elseif flip_to_wall and not flip_upside_down then - nfdir = dirs2[fdir + 1] - elseif flip_to_wall and flip_upside_down then - nfdir = dirs3[fdir + 2] - end - minetest.set_node(pos, {name = dest_object, param2 = nfdir}) - end - }) - end - - for _, object in pairs(objects_list2) do - local flip_upside_down = false - local flip_to_wall = false - - local dest_object = object - - if string.find(dest_object, "_inverted") then - flip_upside_down = true - dest_object = string.gsub(dest_object, "_inverted", "") - end - - if string.find(dest_object, "_top") then - flip_upside_down = true - dest_object = string.gsub(dest_object, "_top", "") - end - - if string.find(dest_object, "_wall") then - flip_to_wall = true - dest_object = string.gsub(dest_object, "_wall", "") - end - - --print(" +---> convert " ..object) - --print(" | to " ..dest_object) - - minetest.register_abm({ - nodenames = {object}, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local fdir = node.param2 - local nfdir = 20 - - if flip_upside_down and not flip_to_wall then - nfdir = dirs1[fdir + 1] - elseif flip_to_wall and not flip_upside_down then - nfdir = dirs2[fdir + 2] - - end - minetest.set_node(pos, {name = dest_object, param2 = nfdir}) - end - }) - end -end - diff --git a/mods/moreblocks/stairsplus/init.lua b/mods/moreblocks/stairsplus/init.lua deleted file mode 100755 index 44f59720..00000000 --- a/mods/moreblocks/stairsplus/init.lua +++ /dev/null @@ -1,61 +0,0 @@ ---[[ -More Blocks: Stairs+ - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - --- Nodes will be called :{stair,slab,panel,micro}_ - -local modpath = minetest.get_modpath("moreblocks").. "/stairsplus" - -stairsplus = {} -stairsplus.expect_infinite_stacks = false - -if not minetest.get_modpath("unified_inventory") -and minetest.setting_getbool("creative_mode") then - stairsplus.expect_infinite_stacks = true -end - -function stairsplus:prepare_groups(groups) - local result = {} - if groups then - for k, v in pairs(groups) do - if k ~= "wood" and k ~= "stone" then - result[k] = v - end - end - end - if not moreblocks.config.stairsplus_in_creative_inventory then - result.not_in_creative_inventory = 1 - end - return result -end - -function stairsplus:register_all(modname, subname, recipeitem, fields) - self:register_stair(modname, subname, recipeitem, fields) - self:register_slab (modname, subname, recipeitem, fields) - self:register_slope(modname, subname, recipeitem, fields) - self:register_panel(modname, subname, recipeitem, fields) - self:register_micro(modname, subname, recipeitem, fields) - -- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps. -end - -function register_stair_slab_panel_micro(modname, subname, recipeitem, groups, images, description, drop, light) - stairsplus:register_all(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light - }) -end - --- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. --- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -dofile(modpath .. "/stairs.lua") -dofile(modpath .. "/slabs.lua") -dofile(modpath .. "/slopes.lua") -dofile(modpath .. "/panels.lua") -dofile(modpath .. "/microblocks.lua") -dofile(modpath .. "/registrations.lua") diff --git a/mods/moreblocks/stairsplus/microblocks.lua b/mods/moreblocks/stairsplus/microblocks.lua deleted file mode 100755 index 909bfa58..00000000 --- a/mods/moreblocks/stairsplus/microblocks.lua +++ /dev/null @@ -1,128 +0,0 @@ ---[[ -More Blocks: microblock definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - --- Node will be called :micro_ - -function register_micro(modname, subname, recipeitem, groups, images, description, drop, light) - stairsplus:register_micro(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light, - sounds = default.node_sound_stone_defaults(), - }) -end - -function stairsplus:register_micro(modname, subname, recipeitem, fields) - local defs = { - [""] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, - }, - }, - ["_1"] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, -0.4375, 0.5}, - }, - }, - ["_2"] = {legacy = "_1"}, - ["_4"] = {legacy = ""}, - ["_12"] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, 0.25, 0.5}, - }, - }, - ["_14"] = {legacy = "_15"}, - ["_15"] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0, 0.4375, 0.5}, - }, - } - } - - local desc = S("%s Microblock"):format(fields.description) - for alternate, def in pairs(defs) do - if def.legacy then - minetest.register_alias(modname .. ":micro_" .. subname .. alternate, - modname .. ":micro_" .. subname .. def.legacy) - else - for k, v in pairs(fields) do - def[k] = v - end - def.drawtype = "nodebox" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.on_place = minetest.rotate_node - def.groups = stairsplus:prepare_groups(fields.groups) - def.description = desc - if fields.drop then - def.drop = modname.. ":micro_" ..fields.drop..alternate - end - minetest.register_node(":" ..modname.. ":micro_" ..subname..alternate, def) - end - end - minetest.register_alias(modname.. ":micro_" ..subname.. "_bottom", modname.. ":micro_" ..subname) - - circular_saw.known_nodes[recipeitem] = {modname, subname} - - -- Some saw-less recipes: - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":micro_" .. subname .. " 7", - recipe = {modname .. ":stair_" .. subname .. "_inner"}, - }) - - minetest.register_craft({ - output = modname .. ":micro_" .. subname .. " 6", - type = "shapeless", - recipe = {modname .. ":stair_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":micro_" .. subname .. " 5", - recipe = {modname .. ":stair_" .. subname .. "_outer"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":micro_" .. subname .. " 4", - recipe = {modname .. ":slab_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":micro_" .. subname .. " 4", - recipe = {modname .. ":stair_" .. subname .. "_alt"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":micro_" .. subname .. " 3", - recipe = {modname .. ":stair_" .. subname .. "_right_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":micro_" .. subname .. " 2", - recipe = {modname .. ":panel_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, - }) -end diff --git a/mods/moreblocks/stairsplus/panels.lua b/mods/moreblocks/stairsplus/panels.lua deleted file mode 100755 index 47a53ccf..00000000 --- a/mods/moreblocks/stairsplus/panels.lua +++ /dev/null @@ -1,108 +0,0 @@ ---[[ -More Blocks: panel definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - --- Node will be called :panel_ - -function register_panel(modname, subname, recipeitem, groups, images, description, drop, light) - stairsplus:register_panel(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light, - sounds = default.node_sound_stone_defaults(), - }) -end - -function stairsplus:register_panel(modname, subname, recipeitem, fields) - local defs = { - [""] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, - }, - }, - ["_1"] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, -0.4375, 0.5}, - }, - }, - ["_2"] = {legacy = "_1"}, - ["_4"] = {legacy = ""}, - ["_12"] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0.25, 0.5}, - }, - }, - ["_14"] = {legacy = "_15"}, - ["_15"] = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 0, 0.5, 0.4375, 0.5}, - }, - } - } - - local desc = S("%s Panel"):format(fields.description) - for alternate, def in pairs(defs) do - if def.legacy then - minetest.register_alias(modname .. ":panel_" .. subname .. alternate, - modname .. ":panel_" .. subname .. def.legacy) - else - for k, v in pairs(fields) do - def[k] = v - end - def.drawtype = "nodebox" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.on_place = minetest.rotate_node - def.description = desc - def.groups = stairsplus:prepare_groups(fields.groups) - if fields.drop then - def.drop = modname.. ":panel_" ..fields.drop..alternate - end - minetest.register_node(":" ..modname.. ":panel_" ..subname..alternate, def) - end - end - minetest.register_alias(modname.. ":panel_" ..subname.. "_bottom", modname.. ":panel_" ..subname) - - circular_saw.known_nodes[recipeitem] = {modname, subname} - - -- Some saw-less recipes: - - minetest.register_craft({ - output = modname .. ":panel_" .. subname .. " 12", - recipe = { - {recipeitem, ""}, - {recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":panel_" .. subname .. " 12", - recipe = { - {"", recipeitem}, - {recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":panel_" .. subname, - recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":panel_" .. subname, modname .. ":panel_" .. subname, modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}, - }) -end diff --git a/mods/moreblocks/stairsplus/registrations.lua b/mods/moreblocks/stairsplus/registrations.lua deleted file mode 100755 index 15ea47c9..00000000 --- a/mods/moreblocks/stairsplus/registrations.lua +++ /dev/null @@ -1,65 +0,0 @@ ---[[ -More Blocks: registrations - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local default_nodes = { -- Default stairs/slabs/panels/microblocks: - "stone", - "cobble", - "mossycobble", - "brick", - "sandstone", - "steelblock", - "goldblock", - "copperblock", - "bronzeblock", - "diamondblock", - "desert_stone", - "desert_cobble", - "meselamp", - "glass", - "tree", - "wood", - "jungletree", - "junglewood", - "pine_tree", - "pine_wood", - "cherry_tree", - "cherry_plank", - "acacia_tree", - "acacia_wood", - "obsidian", - "obsidian_glass", - "stonebrick", - "desert_stonebrick", - "sandstonebrick", - "obsidianbrick", -} - -for _, name in pairs(default_nodes) do - local nodename = "default:" .. name - local ndef = minetest.registered_nodes[nodename] - if ndef then - local drop - if type(ndef.drop) == "string" then - drop = ndef.drop:split(" ")[1]:sub(9) - end - - local tiles = ndef.tiles - if #ndef.tiles > 1 and ndef.drawtype:find("glass") then - tiles = { ndef.tiles[1] } - end - - stairsplus:register_all("moreblocks", name, nodename, { - description = ndef.description, - drop = drop, - groups = ndef.groups, - sounds = ndef.sounds, - tiles = tiles, - sunlight_propagates = true, - light_source = ndef.light_source - }) - end -end diff --git a/mods/moreblocks/stairsplus/slabs.lua b/mods/moreblocks/stairsplus/slabs.lua deleted file mode 100755 index 6406c261..00000000 --- a/mods/moreblocks/stairsplus/slabs.lua +++ /dev/null @@ -1,214 +0,0 @@ ---[[ -More Blocks: slab definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - --- Node will be called :slab_ - -function register_slab(modname, subname, recipeitem, groups, images, description, drop, light) - stairsplus:register_slab(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light, - sounds = default.node_sound_stone_defaults(), - }) -end - -function stairsplus:register_slab(modname, subname, recipeitem, fields) - local defs = { - [""] = 8, - ["_quarter"] = 4, - ["_three_quarter"] = 12, - ["_1"] = 1, - ["_2"] = "_1", - ["_14"] = "_three_quarter", - ["_15"] = 15, - } - - local desc_base = S("%s Slab"):format(fields.description) - for alternate, num in pairs(defs) do - if type(num) == type("moo") then - minetest.register_alias(modname .. ":slab_" .. subname .. alternate, - modname .. ":slab_" .. subname .. num) - else - local def = { - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, (num/16)-0.5, 0.5}, - } - } - for k, v in pairs(fields) do - def[k] = v - end - def.drawtype = "nodebox" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.on_place = minetest.rotate_node - def.description = ("%s (%d/16)"):format(desc_base, num) - def.groups = stairsplus:prepare_groups(fields.groups) - if fields.drop then - def.drop = modname.. ":slab_" .. fields.drop .. alternate - end - minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def) - end - end - minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname) - - circular_saw.known_nodes[recipeitem] = {modname, subname} - - -- Some saw-less recipes: - - minetest.register_craft({ - output = modname .. ":slab_" .. subname .. " 6", - recipe = {{recipeitem, recipeitem, recipeitem}}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, - }) - - -- uncomment this rule when conflict is no longer likely to happen - -- https://github.com/minetest/minetest/issues/2881 - -- minetest.register_craft({ - -- type = "shapeless", - -- output = modname .. ":slab_" .. subname, - -- recipe = {modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}, - -- }) - - -- then remove these two - minetest.register_craft({ - output = modname .. ":slab_" .. subname, - recipe = {{modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}}, - }) - - minetest.register_craft({ - output = modname .. ":slab_" .. subname, - recipe = { - {modname .. ":panel_" .. subname}, - {modname .. ":panel_" .. subname}, - }, - }) - ------------------------------ - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slab_" .. subname, modname .. ":slab_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slab_" .. subname .. "_three_quarter", modname .. ":slab_" .. subname .. "_quarter"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slab_" .. subname .. "_14", modname .. ":slab_" .. subname .. "_2"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slab_" .. subname .. "_15", modname .. ":slab_" .. subname .. "_1"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_quarter", - recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_quarter", - recipe = {modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_2", - recipe = {modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_three_quarter", - recipe = {modname .. ":slab_" .. subname, modname .. ":slab_" .. subname .. "_quarter"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_three_quarter", - recipe = {modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_three_quarter", - recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_14", - recipe = {modname .. ":slab_" .. subname .. "_three_quarter", modname .. ":slab_" .. subname .. "_2"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_14", - recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. "_15", - recipe = {modname .. ":slab_" .. subname .. "_14", modname .. ":slab_" .. subname .. "_1"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname .. " 3", - recipe = {modname .. ":stair_" .. subname, modname .. ":stair_" .. subname}, - }) -end diff --git a/mods/moreblocks/stairsplus/slopes.lua b/mods/moreblocks/stairsplus/slopes.lua deleted file mode 100755 index 5a3418fa..00000000 --- a/mods/moreblocks/stairsplus/slopes.lua +++ /dev/null @@ -1,347 +0,0 @@ ---[[ -More Blocks: slope definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - -local box_slope = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} - } -} - -local box_slope_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, - {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, - {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, - } -} - -local box_slope_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, - {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, - } -} - ---============================================================== - -local box_slope_inner = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, - {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, - {-0.5, 0, -0.5, 0, 0.25, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, - {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, - } -} - -local box_slope_inner_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, - {-0.5, -0.375, -0.5, 0.25, -0.25, 0.5}, - {-0.5, -0.25, -0.5, 0, -0.125, 0.5}, - {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, - {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, - {-0.5, -0.125, -0.5, -0.25, 0, 0.5}, - } -} - -local box_slope_inner_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, - {-0.5, 0.125, -0.5, 0.25, 0.25, 0.5}, - {-0.5, 0.25, -0.5, 0, 0.375, 0.5}, - {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, - {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, - {-0.5, 0.375, -0.5, -0.25, 0.5, 0.5}, - } -} - ---============================================================== - -local box_slope_outer = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, - {-0.5, 0, 0, 0, 0.25, 0.5}, - {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} - } -} - -local box_slope_outer_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.25, -0.25, 0.5}, - {-0.5, -0.25, 0, 0, -0.125, 0.5}, - {-0.5, -0.125, 0.25, -0.25, 0, 0.5} - } -} - -local box_slope_outer_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.25, 0.25, 0.5}, - {-0.5, 0.25, 0, 0, 0.375, 0.5}, - {-0.5, 0.375, 0.25, -0.25, 0.5, 0.5} - } -} - --- Node will be called :slope_ - -function register_slope(modname, subname, recipeitem, groups, images, description, drop, light) - stairsplus:register_slope(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light, - sounds = default.node_sound_stone_defaults(), - }) -end - -function stairsplus:register_slope(modname, subname, recipeitem, fields) - local defs = { - [""] = { - mesh = "moreblocks_slope.obj", - collision_box = box_slope, - selection_box = box_slope, - - }, - ["_half"] = { - mesh = "moreblocks_slope_half.obj", - collision_box = box_slope_half, - selection_box = box_slope_half, - }, - ["_half_raised"] = { - mesh = "moreblocks_slope_half_raised.obj", - collision_box = box_slope_half_raised, - selection_box = box_slope_half_raised, - }, - ---============================================================== - - ["_inner"] = { - mesh = "moreblocks_slope_inner.obj", - collision_box = box_slope_inner, - selection_box = box_slope_inner, - }, - ["_inner_half"] = { - mesh = "moreblocks_slope_inner_half.obj", - collision_box = box_slope_inner_half, - selection_box = box_slope_inner_half, - }, - ["_inner_half_raised"] = { - mesh = "moreblocks_slope_inner_half_raised.obj", - collision_box = box_slope_inner_half_raised, - selection_box = box_slope_inner_half_raised, - }, - ---============================================================== - - ["_inner_cut"] = { - mesh = "moreblocks_slope_inner_cut.obj", - collision_box = box_slope_inner, - selection_box = box_slope_inner, - }, - ["_inner_cut_half"] = { - mesh = "moreblocks_slope_inner_cut_half.obj", - collision_box = box_slope_inner_half, - selection_box = box_slope_inner_half, - }, - ["_inner_cut_half_raised"] = { - mesh = "moreblocks_slope_inner_cut_half_raised.obj", - collision_box = box_slope_inner_half_raised, - selection_box = box_slope_inner_half_raised, - }, - ---============================================================== - - ["_outer"] = { - mesh = "moreblocks_slope_outer.obj", - collision_box = box_slope_outer, - selection_box = box_slope_outer, - }, - ["_outer_half"] = { - mesh = "moreblocks_slope_outer_half.obj", - collision_box = box_slope_outer_half, - selection_box = box_slope_outer_half, - }, - ["_outer_half_raised"] = { - mesh = "moreblocks_slope_outer_half_raised.obj", - collision_box = box_slope_outer_half_raised, - selection_box = box_slope_outer_half_raised, - }, - ---============================================================== - - ["_outer_cut"] = { - mesh = "moreblocks_slope_outer_cut.obj", - collision_box = box_slope_outer, - selection_box = box_slope_outer, - }, - ["_outer_cut_half"] = { - mesh = "moreblocks_slope_outer_cut_half.obj", - collision_box = box_slope_outer_half, - selection_box = box_slope_outer_half, - }, - ["_outer_cut_half_raised"] = { - mesh = "moreblocks_slope_outer_cut_half_raised.obj", - collision_box = box_slope_outer_half_raised, - selection_box = box_slope_outer_half_raised, - }, - ["_cut"] = { - mesh = "moreblocks_slope_cut.obj", - collision_box = box_slope_outer, - selection_box = box_slope_outer, - }, - } - - local desc = S("%s Slope"):format(fields.description) - for alternate, def in pairs(defs) do - for k, v in pairs(fields) do - def[k] = v - end - def.drawtype = "mesh" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.on_place = minetest.rotate_node - def.description = desc - def.groups = stairsplus:prepare_groups(fields.groups) - if fields.drop then - def.drop = modname.. ":slope_" ..fields.drop..alternate - end - minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def) - end - - circular_saw.known_nodes[recipeitem] = {modname, subname} - - -- Some saw-less recipes: - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname, modname .. ":slope_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half_raised"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", - modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_outer", modname .. ":slope_" .. subname .. "_inner"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_outer_half", modname .. ":slope_" .. subname .. "_inner_half_raised"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_outer_half_raised", modname .. ":slope_" .. subname .. "_inner_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_outer_cut", modname .. ":slope_" .. subname .. "_inner_cut"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_outer_cut_half", modname .. ":slope_" .. subname .. "_inner_cut_half_raised"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_cut", modname .. ":slope_" .. subname .. "_cut"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slope_" .. subname .. "_outer_half", modname .. ":slope_" .. subname .. "_inner_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slope_" .. subname .. "_outer_cut_half", modname .. ":slope_" .. subname .. "_inner_cut_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_half_raised", - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", - modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_inner_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_inner_cut_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_cut_half"}, - }) -end diff --git a/mods/moreblocks/stairsplus/stairs.lua b/mods/moreblocks/stairsplus/stairs.lua deleted file mode 100755 index 76505cc3..00000000 --- a/mods/moreblocks/stairsplus/stairs.lua +++ /dev/null @@ -1,221 +0,0 @@ ---[[ -More Blocks: stair definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - --- Node will be called :stair_ - -function register_stair(modname, subname, recipeitem, groups, images, description, drop, light) - stairsplus:register_stair(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light, - sounds = default.node_sound_stone_defaults(), - }) -end - -function stairsplus:register_stair(modname, subname, recipeitem, fields) - local defs = { - [""] = { - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - }, - ["_half"] = { - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0, 0, 0.5}, - {-0.5, 0, 0, 0, 0.5, 0.5}, - }, - }, - }, - ["_right_half" ]= { - node_box = { - type = "fixed", - fixed = { - {0, -0.5, -0.5, 0.5, 0, 0.5}, - {0, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - }, - ["_inner"] = { - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - {-0.5, 0, -0.5, 0, 0.5, 0}, - }, - }, - }, - ["_outer"] = { - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0, 0.5, 0.5}, - }, - }, - }, - ["_alt"] = { - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - }, - ["_alt_1"] = { - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.0625, -0.5, 0.5, 0, 0}, - {-0.5, 0.4375, 0, 0.5, 0.5, 0.5}, - }, - }, - }, - ["_alt_2"] = {legacy = "_alt_1"}, - ["_alt_4"] = { - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.25, -0.5, 0.5, 0, 0}, - {-0.5, 0.25, 0, 0.5, 0.5, 0.5}, - }, - }, - }, - } - - local desc = S("%s Stairs"):format(fields.description) - for alternate, def in pairs(defs) do - if def.legacy then - minetest.register_alias(modname .. ":stair_" .. subname .. alternate, - modname .. ":stair_" .. subname .. def.legacy) - else - for k, v in pairs(fields) do - def[k] = v - end - def.drawtype = "nodebox" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.on_place = minetest.rotate_node - def.description = desc - def.groups = stairsplus:prepare_groups(fields.groups) - if fields.drop then - def.drop = modname .. ":stair_" .. fields.drop .. alternate - end - minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def) - end - end - minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname) - - circular_saw.known_nodes[recipeitem] = {modname, subname} - - -- Some saw-less recipes: - - minetest.register_craft({ - output = modname .. ":stair_" .. subname .. " 6", - recipe = { - {recipeitem, "", ""}, - {recipeitem, recipeitem, ""}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":stair_" .. subname .. " 6", - recipe = { - {"", "", recipeitem}, - {"", recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname, - recipe = {modname .. ":panel_" .. subname, modname .. ":slab_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname, - recipe = {modname .. ":panel_" .. subname, modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname .. "_outer", - recipe = {modname .. ":micro_" .. subname, modname .. ":slab_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname .. "_half", - recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname .. "_half", - recipe = {modname .. ":panel_" .. subname, modname .. ":micro_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname .. "_right_half", - recipe = {modname .. ":stair_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname, - recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname .. "_inner", - recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname .. "_outer", - recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":stair_" .. subname, - recipe = {modname .. ":panel_" .. subname, modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}, - }) - - minetest.register_craft({ -- See mirrored variation of the recipe below. - output = modname .. ":stair_" .. subname .. "_alt", - recipe = { - {modname .. ":panel_" .. subname, ""}, - {"" , modname .. ":panel_" .. subname}, - }, - }) - - minetest.register_craft({ -- Mirrored variation of the recipe above. - output = modname .. ":stair_" .. subname .. "_alt", - recipe = { - {"" , modname .. ":panel_" .. subname}, - {modname .. ":panel_" .. subname, ""}, - }, - }) -end diff --git a/mods/moreblocks/textures/invisible.png b/mods/moreblocks/textures/invisible.png deleted file mode 100755 index 4b5b3029..00000000 Binary files a/mods/moreblocks/textures/invisible.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_cactus_brick.png b/mods/moreblocks/textures/moreblocks_cactus_brick.png deleted file mode 100755 index 0e8c2c9e..00000000 Binary files a/mods/moreblocks/textures/moreblocks_cactus_brick.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_cactus_checker.png b/mods/moreblocks/textures/moreblocks_cactus_checker.png deleted file mode 100755 index 99c26773..00000000 Binary files a/mods/moreblocks/textures/moreblocks_cactus_checker.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png b/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png deleted file mode 100755 index 4ca0134d..00000000 Binary files a/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png b/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png deleted file mode 100755 index 15228297..00000000 Binary files a/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_side.png b/mods/moreblocks/textures/moreblocks_circular_saw_side.png deleted file mode 100755 index ce9e16f7..00000000 Binary files a/mods/moreblocks/textures/moreblocks_circular_saw_side.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_top.png b/mods/moreblocks/textures/moreblocks_circular_saw_top.png deleted file mode 100755 index 96f3350c..00000000 Binary files a/mods/moreblocks/textures/moreblocks_circular_saw_top.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_clean_glass.png b/mods/moreblocks/textures/moreblocks_clean_glass.png deleted file mode 100755 index 8da5d7d2..00000000 Binary files a/mods/moreblocks/textures/moreblocks_clean_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_clean_glass_detail.png b/mods/moreblocks/textures/moreblocks_clean_glass_detail.png deleted file mode 100755 index 71414e89..00000000 Binary files a/mods/moreblocks/textures/moreblocks_clean_glass_detail.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_coal_checker.png b/mods/moreblocks/textures/moreblocks_coal_checker.png deleted file mode 100755 index 3df90c30..00000000 Binary files a/mods/moreblocks/textures/moreblocks_coal_checker.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_coal_glass.png b/mods/moreblocks/textures/moreblocks_coal_glass.png deleted file mode 100755 index 5cb72277..00000000 Binary files a/mods/moreblocks/textures/moreblocks_coal_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_coal_glass_detail.png b/mods/moreblocks/textures/moreblocks_coal_glass_detail.png deleted file mode 100755 index 5ea081f8..00000000 Binary files a/mods/moreblocks/textures/moreblocks_coal_glass_detail.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png deleted file mode 100755 index 8086a28f..00000000 Binary files a/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_coal_stone.png b/mods/moreblocks/textures/moreblocks_coal_stone.png deleted file mode 100755 index 1e514edd..00000000 Binary files a/mods/moreblocks/textures/moreblocks_coal_stone.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png b/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png deleted file mode 100755 index 366e4453..00000000 Binary files a/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_cobble_compressed.png b/mods/moreblocks/textures/moreblocks_cobble_compressed.png deleted file mode 100755 index 94d02b5f..00000000 Binary files a/mods/moreblocks/textures/moreblocks_cobble_compressed.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_empty_bookshelf.png b/mods/moreblocks/textures/moreblocks_empty_bookshelf.png deleted file mode 100755 index eb9f35f1..00000000 Binary files a/mods/moreblocks/textures/moreblocks_empty_bookshelf.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png b/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png deleted file mode 100755 index 9ed520c6..00000000 Binary files a/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_fence_wood.png b/mods/moreblocks/textures/moreblocks_fence_wood.png deleted file mode 100755 index 52061dc5..00000000 Binary files a/mods/moreblocks/textures/moreblocks_fence_wood.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_glass.png b/mods/moreblocks/textures/moreblocks_glass.png deleted file mode 100755 index b4c7fb5f..00000000 Binary files a/mods/moreblocks/textures/moreblocks_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glass_stairsplus.png deleted file mode 100755 index ffc56ab2..00000000 Binary files a/mods/moreblocks/textures/moreblocks_glass_stairsplus.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_glow_glass.png b/mods/moreblocks/textures/moreblocks_glow_glass.png deleted file mode 100755 index 843bebf1..00000000 Binary files a/mods/moreblocks/textures/moreblocks_glow_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_glow_glass_detail.png b/mods/moreblocks/textures/moreblocks_glow_glass_detail.png deleted file mode 100755 index ea67bc35..00000000 Binary files a/mods/moreblocks/textures/moreblocks_glow_glass_detail.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png deleted file mode 100755 index cdb80443..00000000 Binary files a/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_grey_bricks.png b/mods/moreblocks/textures/moreblocks_grey_bricks.png deleted file mode 100755 index 9839ca25..00000000 Binary files a/mods/moreblocks/textures/moreblocks_grey_bricks.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_iron_checker.png b/mods/moreblocks/textures/moreblocks_iron_checker.png deleted file mode 100755 index d27f4df7..00000000 Binary files a/mods/moreblocks/textures/moreblocks_iron_checker.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_iron_glass.png b/mods/moreblocks/textures/moreblocks_iron_glass.png deleted file mode 100755 index 51be0d63..00000000 Binary files a/mods/moreblocks/textures/moreblocks_iron_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_iron_glass_detail.png b/mods/moreblocks/textures/moreblocks_iron_glass_detail.png deleted file mode 100755 index 2b8fc120..00000000 Binary files a/mods/moreblocks/textures/moreblocks_iron_glass_detail.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png deleted file mode 100755 index 52e3bf37..00000000 Binary files a/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_iron_stone.png b/mods/moreblocks/textures/moreblocks_iron_stone.png deleted file mode 100755 index 20c42f33..00000000 Binary files a/mods/moreblocks/textures/moreblocks_iron_stone.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png b/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png deleted file mode 100755 index 1f817f87..00000000 Binary files a/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_junglestick.png b/mods/moreblocks/textures/moreblocks_junglestick.png deleted file mode 100755 index bd8b1ebd..00000000 Binary files a/mods/moreblocks/textures/moreblocks_junglestick.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png deleted file mode 100755 index 3eb22d0a..00000000 Binary files a/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_plankstone.png b/mods/moreblocks/textures/moreblocks_plankstone.png deleted file mode 100755 index b1a65c54..00000000 Binary files a/mods/moreblocks/textures/moreblocks_plankstone.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_plankstone_2.png b/mods/moreblocks/textures/moreblocks_plankstone_2.png deleted file mode 100755 index 953c2f55..00000000 Binary files a/mods/moreblocks/textures/moreblocks_plankstone_2.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_rope.png b/mods/moreblocks/textures/moreblocks_rope.png deleted file mode 100755 index 19787fe5..00000000 Binary files a/mods/moreblocks/textures/moreblocks_rope.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile.png b/mods/moreblocks/textures/moreblocks_split_stone_tile.png deleted file mode 100755 index d7d69af4..00000000 Binary files a/mods/moreblocks/textures/moreblocks_split_stone_tile.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png deleted file mode 100755 index 9d11b4f3..00000000 Binary files a/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png deleted file mode 100755 index 3c8eb6d1..00000000 Binary files a/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_stone_tile.png b/mods/moreblocks/textures/moreblocks_stone_tile.png deleted file mode 100755 index c2083eaa..00000000 Binary files a/mods/moreblocks/textures/moreblocks_stone_tile.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_super_glow_glass.png deleted file mode 100755 index a9d4c5f2..00000000 Binary files a/mods/moreblocks/textures/moreblocks_super_glow_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass_detail.png b/mods/moreblocks/textures/moreblocks_super_glow_glass_detail.png deleted file mode 100755 index e321a5c2..00000000 Binary files a/mods/moreblocks/textures/moreblocks_super_glow_glass_detail.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png deleted file mode 100755 index 6a018bb7..00000000 Binary files a/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_sweeper.png b/mods/moreblocks/textures/moreblocks_sweeper.png deleted file mode 100755 index 34f1cdec..00000000 Binary files a/mods/moreblocks/textures/moreblocks_sweeper.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_tar.png b/mods/moreblocks/textures/moreblocks_tar.png deleted file mode 100755 index e1eb427d..00000000 Binary files a/mods/moreblocks/textures/moreblocks_tar.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_trap_glass.png b/mods/moreblocks/textures/moreblocks_trap_glass.png deleted file mode 100755 index 33c3ef82..00000000 Binary files a/mods/moreblocks/textures/moreblocks_trap_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_trap_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_glow_glass.png deleted file mode 100755 index 3894b7ac..00000000 Binary files a/mods/moreblocks/textures/moreblocks_trap_glow_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_trap_stone.png b/mods/moreblocks/textures/moreblocks_trap_stone.png deleted file mode 100755 index 764aa818..00000000 Binary files a/mods/moreblocks/textures/moreblocks_trap_stone.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png deleted file mode 100755 index 77e992f8..00000000 Binary files a/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_tree_stairsplus.png b/mods/moreblocks/textures/moreblocks_tree_stairsplus.png deleted file mode 100755 index 60100c9b..00000000 Binary files a/mods/moreblocks/textures/moreblocks_tree_stairsplus.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_wood_tile.png b/mods/moreblocks/textures/moreblocks_wood_tile.png deleted file mode 100755 index d0faa3dc..00000000 Binary files a/mods/moreblocks/textures/moreblocks_wood_tile.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_center.png b/mods/moreblocks/textures/moreblocks_wood_tile_center.png deleted file mode 100755 index 02b0f84e..00000000 Binary files a/mods/moreblocks/textures/moreblocks_wood_tile_center.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_full.png b/mods/moreblocks/textures/moreblocks_wood_tile_full.png deleted file mode 100755 index 7ec7f056..00000000 Binary files a/mods/moreblocks/textures/moreblocks_wood_tile_full.png and /dev/null differ diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_up.png b/mods/moreblocks/textures/moreblocks_wood_tile_up.png deleted file mode 100755 index 3f6a2f24..00000000 Binary files a/mods/moreblocks/textures/moreblocks_wood_tile_up.png and /dev/null differ diff --git a/mods/moreores b/mods/moreores new file mode 160000 index 00000000..238e92a6 --- /dev/null +++ b/mods/moreores @@ -0,0 +1 @@ +Subproject commit 238e92a6bf39c8a48841442206eba7828eab94f6 diff --git a/mods/nalc/beds.lua b/mods/nalc/beds.lua new file mode 100644 index 00000000..38eb1a9f --- /dev/null +++ b/mods/nalc/beds.lua @@ -0,0 +1,106 @@ +for _, colour in pairs({"white", "black", "blue", "green"}) do + -- fancy shaped bed + beds.register_bed( + "nalc:fancy_bed_" .. colour, + { + description = "Fancy Bed (" .. colour .. ")", + inventory_image = "beds_bed_fancy_" .. colour .. ".png", + wield_image = "beds_bed_fancy_" .. colour .. ".png", + tiles = { + bottom = { + "beds_bed_top1_" .. colour .. ".png", + "default_wood.png", + "beds_bed_side1_" .. colour .. ".png", + "beds_bed_side1_" .. colour .. ".png^[transformFX", + "default_wood.png", + "beds_bed_foot_" .. colour .. ".png", + }, + top = { + "beds_bed_top2_" .. colour .. ".png", + "default_wood.png", + "beds_bed_side2_" .. colour .. ".png", + "beds_bed_side2_" .. colour .. ".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:" .. colour, "wool:" .. colour, "wool:white"}, + {"group:wood", "group:wood", "group:wood"}, + }, + }) + + -- simple shaped bed + beds.register_bed( + "nalc:bed_" .. colour, + { + description = "Simple Bed (" .. colour .. ")", + inventory_image = "beds_bed_" .. colour .. ".png", + wield_image = "beds_bed_" .. colour .. ".png", + tiles = { + bottom = { + "beds_bed_top_bottom_" .. colour .. ".png^[transformR90", + "default_wood.png", + "beds_bed_side_bottom_r_" .. colour .. ".png", + "beds_bed_side_bottom_r_" .. colour .. ".png^[transformfx", + "beds_transparent.png", + "beds_bed_side_bottom_" .. colour .. ".png" + }, + top = { + "beds_bed_top_top_" .. colour .. ".png^[transformR90", + "default_wood.png", + "beds_bed_side_top_r_" .. colour .. ".png", + "beds_bed_side_top_r_" .. colour .. ".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:" .. colour, "wool:" .. colour, "wool:white"}, + {"group:wood", "group:wood", "group:wood"} + }, + + }) + + -- Fuel + + minetest.register_craft( + { + type = "fuel", + recipe = "nalc:fancy_bed_"..colour, + burntime = 13, + }) + + minetest.register_craft( + { + type = "fuel", + recipe = "nalc:bed_"..colour, + burntime = 12, + }) +end diff --git a/mods/nalc/boats.lua b/mods/nalc/boats.lua new file mode 100644 index 00000000..33424feb --- /dev/null +++ b/mods/nalc/boats.lua @@ -0,0 +1,297 @@ +-- +-- Helper functions +-- + +local function is_water(pos) + local nn = minetest.get_node(pos).name + return minetest.get_item_group(nn, "water") ~= 0 +end + + +local function get_sign(i) + if i == 0 then + return 0 + else + return i / math.abs(i) + end +end + + +local function get_velocity(v, yaw, y) + local x = -math.sin(yaw) * v + local z = math.cos(yaw) * v + return {x = x, y = y, z = z} +end + + +local function get_v(v) + return math.sqrt(v.x ^ 2 + v.z ^ 2) +end + +local boat = { + physical = true, + -- Warning: Do not change the position of the collisionbox top surface, + -- lowering it causes the boat to fall through the world if underwater + collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5}, + visual = "mesh", + mesh = "boats_boat.obj", + textures = {"default_wood.png"}, + + driver = nil, + v = 0, + last_v = 0, + removed = false +} + +-- redefine global boats functions +boat.on_punch = function(self, puncher) + if not puncher or not puncher:is_player() or self.removed then + return + end + if self.driver and puncher == self.driver then + self.driver = nil + puncher:set_detach() + default.player_attached[puncher:get_player_name()] = false + end + if not self.driver then + self.removed = true + local inv = puncher:get_inventory() + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(puncher:get_player_name())) + or not inv:contains_item("main", "nalc:"..self.parameters.name) then + local leftover = inv:add_item("main", "nalc:"..self.parameters.name) + -- if no room in inventory add a replacement boat to the world + if not leftover:is_empty() then + minetest.add_item(self.object:getpos(), leftover) + end + end + -- delay remove to ensure player is detached + minetest.after(0.1, function() + self.object:remove() + end) + end +end + +boat.on_step = function(self, dtime) + self.v = get_v(self.object:getvelocity()) * get_sign(self.v) + if self.driver then + local ctrl = self.driver:get_player_control() + local yaw = self.object:getyaw() + if ctrl.up then + self.v = self.v + self.parameters.controls.up or 0.1 + elseif ctrl.down then + self.v = self.v - self.parameters.controls.down or 0.1 + end + if ctrl.left then + if self.v < 0 then + self.object:setyaw(yaw - (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) + else + self.object:setyaw(yaw + (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) + end + elseif ctrl.right then + if self.v < 0 then + self.object:setyaw(yaw + (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) + else + self.object:setyaw(yaw - (1 + dtime) * (0.03 * (self.parameters.controls.rotate or 1))) + end + end + end + local velo = self.object:getvelocity() + if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then + self.object:setpos(self.object:getpos()) + return + end + local s = get_sign(self.v) + self.v = self.v - 0.02 * s + if s ~= get_sign(self.v) then + self.object:setvelocity({x = 0, y = 0, z = 0}) + self.v = 0 + return + end + if math.abs(self.v) > 5 then + self.v = 5 * get_sign(self.v) + end + + local p = self.object:getpos() + p.y = p.y - 0.5 + local new_velo + local new_acce = {x = 0, y = 0, z = 0} + if not is_water(p) then + local nodedef = minetest.registered_nodes[minetest.get_node(p).name] + if (not nodedef) or nodedef.walkable then + self.v = 0 + new_acce = {x = 0, y = 1, z = 0} + else + new_acce = {x = 0, y = -9.8, z = 0} + end + new_velo = get_velocity(self.v, self.object:getyaw(), + self.object:getvelocity().y) + self.object:setpos(self.object:getpos()) + else + p.y = p.y + 1 + if is_water(p) then + local y = self.object:getvelocity().y + if y >= 5 then + y = 5 + elseif y < 0 then + new_acce = {x = 0, y = 20, z = 0} + else + new_acce = {x = 0, y = 5, z = 0} + end + new_velo = get_velocity(self.v, self.object:getyaw(), y) + self.object:setpos(self.object:getpos()) + else + new_acce = {x = 0, y = 0, z = 0} + if math.abs(self.object:getvelocity().y) < 1 then + local pos = self.object:getpos() + pos.y = math.floor(pos.y) + 0.5 + self.object:setpos(pos) + new_velo = get_velocity(self.v, self.object:getyaw(), 0) + else + new_velo = get_velocity(self.v, self.object:getyaw(), + self.object:getvelocity().y) + self.object:setpos(self.object:getpos()) + end + end + end + self.object:setvelocity(new_velo) + self.object:setacceleration(new_acce) +end + +local register_boat = function(parameters) + minetest.register_entity( + "nalc:"..parameters.name, + { + physical = boat.physical, + collisionbox = boat.collisionbox, + visual = boat.visual, + mesh = boat.mesh, + textures = {parameters.texture or boat.textures[1]}, + parameters = parameters, + driver = boat.driver, + v = boat.v, + last_v = boat.last_v, + removed = boat.removed, + + on_rightclick = boat.on_rightclick, + on_activate = boat.on_activate, + get_staticdata = boat.get_staticdata, + on_punch = boat.on_punch, + on_step = boat.on_step + }) + + minetest.register_craftitem( + "nalc:"..parameters.name, + { + description = parameters.description or "Boat", + inventory_image = "boats_"..parameters.name .. "_inventory.png", + wield_image = "boats_"..parameters.name.."_wield.png", + wield_scale = {x = 2, y = 2, z = 1}, + liquids_pointable = true, + groups = {flammable = 2}, + + 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 + + if pointed_thing.type ~= "node" then + return itemstack + end + if not is_water(pointed_thing.under) then + return itemstack + end + pointed_thing.under.y = pointed_thing.under.y + 0.5 + boat = minetest.add_entity(pointed_thing.under, "nalc:"..parameters.name) + if boat then + boat:setyaw(placer:get_look_horizontal()) + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(placer:get_player_name())) then + itemstack:take_item() + end + end + return itemstack + end, + }) +end + +register_boat( + { name = "race", + texture = "default_gravel.png", + controls = + { up = 0.2, + down = 0.18, + rotate = 1 + }, + description = "Race boat" + }) + +register_boat( + { name = "expert_race", + texture = "default_desert_stone.png", + controls = + { up = 0.25, + down = 0.25, + rotate = 4 + }, + description = "Expert race boat" + }) + +register_boat( + { name = "water", + texture = "default_water.png", + controls = + { up = 0.3, + down = 0.24, + rotate = 4 + }, + description = "Water boat" + }) + +register_boat( + { name = "moon", + texture = "boats_moon.png", + controls = + { up = 0.5, + down = 0.1, + rotate = 8 + }, + description = "Moon boat" + }) + +minetest.register_craft( + { output = "nalc:moon", + recipe = { + {"default:obsidian", "", "default:obsidian"}, + {"default:dirt", "default:leaves", "default:dirt"}, + }, + }) + +minetest.register_craft( + { output = "nalc:expert_race", + recipe = { + {"default:desert_stone", "", "default:desert_stone"}, + {"default:desert_stone", "default:mese", "default:desert_stone"}, + }, + }) + +minetest.register_craft( + { output = "nalc:race", + recipe = { + {"default:gravel", "", "default:gravel"}, + {"default:gravel", "default:steelblock", "default:gravel"}, + }, + }) + +minetest.register_craft( + { output = "nalc:water", + recipe = { + {"default:glass", "", "default:glass"}, + {"default:glass", "bucket:bucket_water", "default:glass"}, + }, + }) diff --git a/mods/nalc/bucket.lua b/mods/nalc/bucket.lua new file mode 100644 index 00000000..9dca6d75 --- /dev/null +++ b/mods/nalc/bucket.lua @@ -0,0 +1,36 @@ +minetest.register_alias("bucket_acid", "nalc:bucket_acid") + +bucket.register_liquid( + "nalc:acid_source", + "nalc:acid_flowing", + "nalc:bucket_acid", + "bucket_acid.png", + "Acid Bucket", + {not_in_creative_inventory = 1} +) + +bucket.register_liquid( + "nalc:sand_source", + "nalc:sand_flowing", + "nalc:bucket_sand", + "bucket_sand.png", + "Sand Bucket", + {not_in_creative_inventory = 1} +) + +minetest.register_craft( + { output = "nalc:bucket_sand", + recipe = { + {"group:sand"}, + {"group:sand"}, + {"bucket:bucket_water"}, + }, + }) + +minetest.register_alias("bucket:acid_source", "nalc:acid_source") +minetest.register_alias("bucket:acid_flowing", "nalc:acid_flowing") +minetest.register_alias("bucket:bucket_acid", "nalc:bucket_acid") + +minetest.register_alias("bucket:sand_source", "nalc:sand_source") +minetest.register_alias("bucket:sand_flowing", "nalc:sand_flowing") +minetest.register_alias("bucket:bucket_sand", "nalc:bucket_sand") diff --git a/mods/nalc/cotton.lua b/mods/nalc/cotton.lua new file mode 100644 index 00000000..c4a372b6 --- /dev/null +++ b/mods/nalc/cotton.lua @@ -0,0 +1,29 @@ + +-- clear existing craft recipes for white wool and cotton +minetest.clear_craft( + { + recipe = { + {"farming:cotton", "farming:cotton"}, + {"farming:cotton", "farming:cotton"}, + } + }) + +-- register wool:white craft recipe +minetest.register_craft( + { + output = "wool:white", + recipe = { + {"farming:cotton", "farming:cotton"}, + {"farming:cotton", "farming:cotton"}, + } + }) + +-- register cotton:white craft recipe +minetest.register_craft( + { + output = "cotton:white 4", + recipe = { + {"wool:white", "wool:white"}, + {"wool:white", "wool:white"}, + } + }) diff --git a/mods/nalc/crafting.lua b/mods/nalc/crafting.lua new file mode 100644 index 00000000..3b0ff22b --- /dev/null +++ b/mods/nalc/crafting.lua @@ -0,0 +1,76 @@ +minetest.register_craft( + { output = 'nalc:pick_gold', + recipe = { + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } + }) +minetest.register_alias("default:pick_gold", "nalc:pick_gold") + +minetest.register_craft( + { output = 'nalc:shovel_gold', + recipe = { + {'default:gold_ingot'}, + {'group:stick'}, + {'group:stick'}, + } + }) +minetest.register_alias("default:shovel_gold", "nalc:shovel_gold") + +minetest.register_craft( + { output = "nalc:axe_gold", + recipe = { + {"default:gold_ingot", "default:gold_ingot"}, + {"default:gold_ingot", "group:stick"}, + {"", "group:stick"}, + } + }) +minetest.register_alias("default:axe_gold", "nalc:axe_gold") + +minetest.register_craft( + { output = "nalc:sword_gold", + recipe = { + {"default:gold_ingot"}, + {"default:gold_ingot"}, + {"group:stick"}, + } + }) +minetest.register_alias("default:sword_gold", "nalc:sword_gold") + +minetest.register_craft( + { -- Ultimate Warrior weapon + output = 'nalc:dungeon_master_s_blood_sword', + recipe = { + {"mobs_monster:dungeon_master_blood", "nether:white", "mobs_monster:dungeon_master_blood"}, + {"mobs_monster:dungeon_master_blood", "mobs_monster:dungeon_master_diamond", "mobs_monster:dungeon_master_blood"}, + {"moreores:mithril_block", "zombie:zombie_tibia", "moreores:mithril_block"}, + } + }) +minetest.register_alias("default:dungeon_master_s_blood_sword", "nalc:dungeon_master_s_blood_sword") + +minetest.register_craft( + { output = "default:cactus 2", + recipe = { + {"nalc:cactus_spiky", "nalc:cactus_spiky"}, + }, + }) + +minetest.register_craft( + { output = "nalc:cactus_spiky 2", + recipe = { + {"default:cactus", "default:cactus"}, + }, + }) +minetest.register_alias("default:cactus_spiky", "nalc:cactus_spiky") + +minetest.register_craft( + { output = "nalc:ladder_obsidian 4", + recipe = { + {"default:obsidianbrick", "", "default:obsidianbrick"}, + {"default:obsidianbrick", "default:obsidianbrick", "default:obsidianbrick"}, + {"default:obsidianbrick", "", "default:obsidianbrick"} + } + }) +minetest.register_alias("default:ladder_obsidian", "nalc:ladder_obsidian") + diff --git a/mods/nalc/craftitems.lua b/mods/nalc/craftitems.lua new file mode 100644 index 00000000..2448c359 --- /dev/null +++ b/mods/nalc/craftitems.lua @@ -0,0 +1,13 @@ +minetest.override_item( + "default:stick", + { + stack_max = 1000 + }) + +minetest.register_craftitem( + "nalc:scorched_stuff", + { + description = "Scorched Stuff", + inventory_image = "default_scorched_stuff.png", + }) +minetest.register_alias("default:scorched_stuff", "nalc:scorched_stuff") diff --git a/mods/nalc/depends.txt b/mods/nalc/depends.txt index a76e728b..979bc530 100644 --- a/mods/nalc/depends.txt +++ b/mods/nalc/depends.txt @@ -6,3 +6,11 @@ vessels? farming? cotton? technic? +maptools? +beds? +boats? +bucket? +nyancat? +moreores? +moreblocks? +carts? diff --git a/mods/nalc/init.lua b/mods/nalc/init.lua index 74e2c277..e277a8bd 100644 --- a/mods/nalc/init.lua +++ b/mods/nalc/init.lua @@ -1,242 +1,29 @@ --- Change some craft recipe of Witchcraft -if minetest.get_modpath("witchcraft") then +local modpath = minetest.get_modpath(minetest.get_current_modname()) - -- clear crafts with this particular recipe - minetest.clear_craft( - { - recipe = { {"default:sand"} } - }) +-- Custom craftings +dofile(modpath.."/crafting.lua") - -- register default:desert_sand (by MFF) - minetest.register_craft( - { - output = "default:desert_sand", - recipe = { - {"default:sand"}, - } - }) +-- Custom craftitems +dofile(modpath.."/craftitems.lua") - -- register witchcraft:tooth (by NALC) - minetest.register_craft( - { - output = "witchcraft:tooth", - recipe = { - {"default:sand", "", "default:sand"}, - {"", "default:sand", ""}, - } - }) +-- Custom mapgen ore generation +dofile(modpath.."/mapgen.lua") - -- Register craft recipe of bones:bones with bonemeal:bone - if minetest.get_modpath("bones") - and minetest.get_modpath("bonemeal") and bonemeal - then - minetest.register_craft( - { - output = "bones:bones", - recipe = { - {"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"}, - {"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"}, - {"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"}, - } - }) - end +-- Custom nodes +dofile(modpath.."/nodes.lua") - -- Override craft recipe of witchcraft:shelf - if minetest.get_modpath("vessels") then - minetest.clear_craft( - { - recipe = { - {"group:wood", "group:wood", "group:wood"}, - {"group:potion", "group:potion", "group:potion"}, - {"group:wood", "group:wood", "group:wood"}, - } - }) +-- Custom tools +dofile(modpath.."/tools.lua") - minetest.register_craft( - { - output = "witchcraft:shelf", - recipe = { - {"", "group:potion", ""}, - {"group:potion", "vessels:shelf", "group:potion"}, - } - }) +local mods = {"witchcraft", "cotton", "technic", + "beds", "boats", "bucket", + "nyancat", "moreores", "moreblocks", + "maptools" +} - -- Rewrite potion table which is buggy - local pot_new = - { - {"blue", "blue2", "default:leaves", "brown", "default:dirt", "red", "purple"}, -- replace waterlily by leaves (flowers_plus incompatibility i think...) - {"blue2", "green", "default:papyrus", "", "", "gred", "magenta"}, - {"green", "green2", "default:sapling", "", "", "yellow", "yllwgrn"}, - {"green2", "yellow", "default:mese_crystal_fragment", "", "", "blue", "cyan"}, - {"yellow", "ggreen", "flowers:mushroom_brown", "", "", "green", "yllwgrn"}, - {"ggreen", "cyan", "witchcraft:slime_bottle", "", "", "gcyan", "aqua"}, - {"cyan", "gcyan", "witchcraft:bottle_medicine", "", "", "blue", "blue2"}, - {"gcyan", "orange", "default:torch", "", "", "ggreen", "aqua"}, - {"orange", "yllwgrn", "tnt:gunpowder", "", "", "red", "redbrown"}, - {"yllwgrn", "gold", "default:steel_ingot", "", "", "green", "green2"}, - {"gold", "aqua", "default:diamond", "", "", "", ""}, - {"aqua", "", "", "", "", "", ""}, - {"brown", "redbrown", "flowers:mushroom_red", "", "", "red", "redbrown"}, - {"redbrown", "gred", "default:apple", "", "", "", ""}, - {"gred", "red", "witchcraft:herb_bottle", "", "", "blue2", "magenta"}, -- replace witchcraft:herbs (inexistant) by herb_bottle - {"red", "magenta", "witchcraft:tooth", "", "", "blue", "purple"}, - {"magenta", "gpurple", "witchcraft:slime_bottle", "", "", "cyan", "darkpurple"}, -- item name corrected (was inverted) - {"gpurple", "purple", "witchcraft:bone_bottle", "", "", "yllwgrn", "green2"}, - {"purple", "darkpurple", "default:glass", "", "", "yellow", "green"}, - {"darkpurple", "silver", "default:steel_ingot", "", "", "", ""}, - {"silver", "grey", "witchcraft:bone", "", "", "", ""}, - {"grey", "aqua", "default:diamond", "", "", "", ""}, - } - - -- Override pots on_rightclick - for _, row in ipairs(pot_new) do - local color = row[1] - local newcolor = row[2] - local newcolor2 = row[4] - local ingredient = row[3] - local ingredient2 = row[5] - local combine = row[6] - local cresult = row[7] - - minetest.override_item( - "witchcraft:pot_"..color, - { - on_rightclick = function(pos, node, clicker, item, _) - local wield_item = clicker:get_wielded_item():get_name() - if wield_item == "vessels:glass_bottle" and clicker:get_wielded_item():get_count() == 3 then - item:replace("witchcraft:potion_"..color) - minetest.env:add_item({x=pos.x, y=pos.y+1.5, z=pos.z}, "witchcraft:potion_"..color) - minetest.env:add_item({x=pos.x, y=pos.y+1.5, z=pos.z}, "witchcraft:potion_"..color) - minetest.set_node(pos, {name="witchcraft:pot", param2=node.param2}) - elseif wield_item == "vessels:glass_bottle" and clicker:get_wielded_item():get_count() ~= 3 then - item:replace("witchcraft:potion_"..color) - minetest.set_node(pos, {name="witchcraft:pot", param2=node.param2}) - else - if wield_item == ingredient then - minetest.set_node(pos, {name="witchcraft:pot_"..newcolor, param2=node.param2}) - item:take_item() - elseif wield_item == ingredient2 then - minetest.set_node(pos, {name="witchcraft:pot_"..newcolor2, param2=node.param2}) - item:take_item() - elseif wield_item == "bucket:bucket_water" then - minetest.set_node(pos, {name="witchcraft:pot_blue", param2=node.param2}) - item:replace("bucket:bucket_empty") - elseif wield_item == "witchcraft:potion_"..combine then - minetest.set_node(pos, {name="witchcraft:pot_"..cresult, param2=node.param2}) - item:replace("vessels:glass_bottle") - end - end - end - }) - end - - -- Override potion green effect if farming_redo is loaded (bad call in original mod) - if farming.mod and farming.mod == "redo" then - minetest.override_item( - "witchcraft:potion_green", - { - description = "Melon Potion", - on_use = function(item, user, pointed_thing) - local player = user:get_player_name() - if pointed_thing.type == "node" and - minetest.get_node(pointed_thing.above).name == "air" then - if not minetest.is_protected(pointed_thing.above, player) then - minetest.set_node(pointed_thing.above, {name="farming:melon_8"}) - else - minetest.chat_send_player(player, "This area is protected.") - end - end - local playerpos = user:getpos(); - minetest.add_particlespawner( - 5, --amount - 0.1, --time - {x=playerpos.x-1, y=playerpos.y+1, z=playerpos.z-1}, --minpos - {x=playerpos.x+1, y=playerpos.y+1, z=playerpos.z+1}, --maxpos - {x=-0, y=-0, z=-0}, --minvel - {x=0, y=0, z=0}, --maxvel - {x=-0.5,y=4,z=-0.5}, --minacc - {x=0.5,y=4,z=0.5}, --maxacc - 0.5, --minexptime - 1, --maxexptime - 1, --minsize - 2, --maxsize - false, --collisiondetection - "witchcraft_effect.png" --texture - ) - item:replace("vessels:glass_bottle") - return item - end - }) - end +for _,mod in ipairs(mods) do + if minetest.get_modpath(mod) then + dofile(modpath.."/"..mod..".lua") end end --- Make compatible cotton mod -if minetest.get_modpath("cotton") then - -- clear existing craft recipes for white wool and cotton - minetest.clear_craft( - { - recipe = { - {"farming:cotton", "farming:cotton"}, - {"farming:cotton", "farming:cotton"}, - } - }) - - -- register wool:white craft recipe - minetest.register_craft( - { - output = "wool:white", - recipe = { - {"farming:cotton", "farming:cotton"}, - {"farming:cotton", "farming:cotton"}, - } - }) - - -- register cotton:white craft recipe - minetest.register_craft( - { - output = "cotton:white 4", - recipe = { - {"wool:white", "wool:white"}, - {"wool:white", "wool:white"}, - } - }) -end - --- Technic - -if minetest.get_modpath("technic") then - -- make silver, tin, mithril to be grinded - local recipes = { - -- Dusts - {"default:tin_lump", "technic:tin_dust 2"}, - {"default:silver_lump", "technic:silver_dust 2"}, - {"default:mithril_lump", "technic:mithril_dust 2"}, - } - - for _, data in pairs(recipes) do - technic.register_grinder_recipe({input = {data[1]}, output = data[2]}) - end - - -- dusts - local function register_dust(name, ingot) - local lname = string.lower(name) - lname = string.gsub(lname, ' ', '_') - if ingot then - minetest.register_craft( - { - type = "cooking", - recipe = "technic:"..lname.."_dust", - output = ingot, - }) - technic.register_grinder_recipe({ input = {ingot}, output = "technic:"..lname.."_dust 1" }) - end - end - - register_dust("Mithril", "default:mithril_ingot") - register_dust("Silver", "default:silver_ingot") - register_dust("Tin", "default:tin_ingot") - - -- Add superquarry machine - dofile(minetest.get_modpath(minetest.get_current_modname()).."/technic/superquarry.lua") -end diff --git a/mods/nalc/mapgen.lua b/mods/nalc/mapgen.lua new file mode 100644 index 00000000..605561a3 --- /dev/null +++ b/mods/nalc/mapgen.lua @@ -0,0 +1,88 @@ +minetest.register_ore( + { + ore_type = "scatter", + ore = "nalc:desert_stone_with_coal", + wherein = "default:desert_stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 10, + clust_size = 3, + y_min = -113, + y_max = 64, + }) + +minetest.register_ore( + { + ore_type = "scatter", + ore = "nalc:desert_stone_with_iron", + wherein = "default:desert_stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 10, + clust_size = 3, + y_min = -113, + y_max = 64, + }) + +minetest.register_ore( + { + ore_type = "scatter", + ore = "nalc:desert_stone_with_copper", + wherein = "default:desert_stone", + clust_scarcity = 11 * 11 * 11, + clust_num_ores = 6, + clust_size = 3, + y_min = -113, + y_max = 64, + }) + +minetest.register_ore( + { + ore_type = "scatter", + ore = "nalc:desert_stone_with_tin", + wherein = "default:desert_stone", + clust_scarcity = 7 * 7 * 7, + clust_num_ores = 3, + clust_size = 7, + y_min = -113, + y_max = 12, + }) + + -- Beware of Meze +minetest.register_ore( + { + ore_type = "scatter", + ore = "nalc:meze", + wherein = "default:stone", + clust_scarcity = 40 * 40 * 40, + clust_num_ores = 3, + clust_size = 2, + y_min = 0, + y_max = 64, + flags = "absheight", + }) + +minetest.register_ore( + { + ore_type = "scatter", + ore = "nalc:meze", + wherein = "default:desert_stone", + clust_scarcity = 40 * 40 * 40, + clust_num_ores = 3, + clust_size = 2, + y_min = -113, + y_max = 64, + flags = "absheight", + }) + +-- Acid lakes in gravel: + + minetest.register_ore({ + ore_type = "scatter", + ore = "nalc:acid_source", + wherein = "default:gravel", + clust_scarcity = 26 * 26 * 26, + clust_num_ores = 64, + clust_size = 5, + y_min = -30000, + y_max = 64, + }) + diff --git a/mods/nalc/maptools.lua b/mods/nalc/maptools.lua new file mode 100644 index 00000000..8653d961 --- /dev/null +++ b/mods/nalc/maptools.lua @@ -0,0 +1,223 @@ +-- Nodes +minetest.register_node( + "nalc:stone_with_coin", + { description = "Stone with Coin", + tiles = {"default_stone.png^maptools_gold_coin.png"}, + is_ground_content = true, + groups = {cracky = 3}, + drop = { + items = { + {items = {"maptools:gold_coin"}}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) +minetest.register_alias("default:stone_with_coin", "nalc:stone_with_coins") + +-- Ores +minetest.register_ore( + { ore_type = "scatter", + ore = "nalc:stone_with_coin", + wherein = "default:stone", + clust_scarcity = 26 * 26 * 26, + clust_num_ores = 1, + clust_size = 1, + y_min = -30000, + y_max = 0, + flags = "absheight", + }) + +-- Super Apples +minetest.register_ore({ + ore_type = "scatter", + ore = "maptools:superapple", + wherein = "default:apple", + clust_scarcity = 6 * 6 * 6, + clust_num_ores = 5, + clust_size = 2, + y_min = 0, + y_max = 64, + }) + +minetest.register_ore({ + ore_type = "scatter", + ore = "maptools:superapple", + wherein = "default:jungleleaves", + clust_scarcity = 16 * 16 * 16, + clust_num_ores = 5, + clust_size = 2, + y_min = 0, + y_max = 64, + }) + +-- Override items +minetest.override_item( + "default:desert_stone", + { + drop = { + items = { + {items = {"default:desert_cobble"}}, + {items = {"maptools:copper_coin"}, rarity = 20} + } + } + }) + +minetest.override_item( + "default:dirt", + { + drop = { + items = { + {items = {"default:dirt"}}, + {items = {"maptools:copper_coin"}, rarity = 32} + } + } + }) + +minetest.override_item( + "default:stone_with_coal", + { + drop = { + items = { + {items = {"default:coal_lump"}}, + {items = {"maptools:copper_coin"}} + } + } + }) +minetest.override_item( + "nalc:desert_stone_with_coal", + { + drop = { + items = { + {items = {"default:coal_lump"}}, + {items = {"maptools:copper_coin"}} + } + } + }) + +minetest.override_item( + "default:stone_with_iron", + { + drop = { + items = { + {items = {"default:iron_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) +minetest.override_item( + "nalc:desert_stone_with_iron", + { + drop = { + items = { + {items = {"default:iron_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) + +minetest.override_item( + "default:stone_with_copper", + { + drop = { + items = { + {items = {"default:copper_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) +minetest.override_item( + "nalc:desert_stone_with_copper", + { + drop = { + items = { + {items = {"default:copper_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) + +minetest.override_item( + "default:stone_with_tin", + { + drop = { + items = { + {items = {"default:tin_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) +minetest.override_item( + "nalc:desert_stone_with_tin", + { + drop = { + items = { + {items = {"default:tin_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) + +minetest.override_item( + "moreores:mineral_silver", + { + drop = { + items = { + {items = {"moreores:silver_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) +minetest.override_item( + "nalc:desert_stone_with_silver", + { + drop = { + items = { + {items = {"moreores:silver_lump"}}, + {items = {"maptools:copper_coin 3"}} + } + } + }) + +minetest.override_item( + "default:stone_with_mese", + { + drop = { + items = { + {items = {"default:mese_crystal"}}, + {items = {"maptools:silver_coin 2", rarity = 75}}, + } + } + }) + +minetest.override_item( + "default:stone_with_gold", + { + drop = { + items = { + {items = {"default:gold_lump"}}, + {items = {"maptools:silver_coin", rarity = 80}}, + } + } + }) + +minetest.override_item( + "moreores:mineral_mithril", + { + drop = { + items = { + {items = {"moreores:mithril_lump"}}, + {items = {"maptools:silver_coin 3"}}, + } + } + }) + +minetest.override_item( + "default:stone_with_diamond", + { + drop = { + items = { + {items = {"default:diamond"}}, + {items = {"maptools:silver_coin"}}, + } + } + }) diff --git a/mods/nalc/moreblocks.lua b/mods/nalc/moreblocks.lua new file mode 100644 index 00000000..ec956d08 --- /dev/null +++ b/mods/nalc/moreblocks.lua @@ -0,0 +1,13 @@ +-- Redefine some crafts +minetest.clear_craft({output = "carts:rail"}) +minetest.clear_craft({output = "default:rail"}) + +minetest.register_craft( + { + output = "carts:rail 24", + recipe = { + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "group:wood", "default:steel_ingot"} + } + }) diff --git a/mods/nalc/moreores.lua b/mods/nalc/moreores.lua new file mode 100644 index 00000000..0033b8b4 --- /dev/null +++ b/mods/nalc/moreores.lua @@ -0,0 +1,65 @@ +-- mapgen +minetest.register_ore( + { + ore_type = "scatter", + ore = "nalc:desert_stone_with_silver", + wherein = "default:desert_stone", + clust_scarcity = 11 * 11 * 11, + clust_num_ores = 4, + clust_size = 11, + y_min = -113, + y_max = -12, + }) + +-- nodes +minetest.register_node( + "nalc:desert_stone_with_silver", + { + description = "Silver Ore", + tiles = {"default_desert_stone.png^default_mineral_silver.png"}, + is_ground_content = true, + groups = {crumbly = 1, cracky = 3}, + drop = { + items = { + {items = {"moreores:silver_lump"}}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) + +-- Overrides items +minetest.clear_craft({output = "moreores:copper_rail"}) +minetest.register_craft( + { + output = "moreores:copper_rail 24", + recipe = { + {"default:copper_ingot", "group:wood", "default:copper_ingot"}, + {"default:copper_ingot", "", "default:copper_ingot"}, + {"default:copper_ingot", "group:wood", "default:copper_ingot"} + } + }) + + +-- Aliases +--- Silver +minetest.register_alias("default:pick_silver", "moreores:pick_silver") +minetest.register_alias("default:axe_silver", "moreores:axe_silver") +minetest.register_alias("default:shovel_silver", "moreores:shovel_silver") +minetest.register_alias("default:sword_silver", "moreores:sword_silver") + +minetest.register_alias("default:desert_stone_with_silver", "nalc:desert_stone_with_silver") +minetest.register_alias("default:stone_with_silver", "moreores:mineral_silver") +minetest.register_alias("default:silver_lump", "moreores:silver_lump") +minetest.register_alias("default:silver_ingot", "moreores:silver_ingot") +minetest.register_alias("default:silverblock", "moreores:silver_block") + +--- Mythril +minetest.register_alias("default:pick_mithril", "moreores:pick_mithril") +minetest.register_alias("default:axe_mithril", "moreores:axe_mithril") +minetest.register_alias("default:shovel_mithril", "moreores:shovel_mithril") +minetest.register_alias("default:sword_mithril", "moreores:sword_mithril") + +minetest.register_alias("default:stone_with_mithril", "moreores:mineral_mithril") +minetest.register_alias("default:mithril_lump", "moreores:mithril_lump") +minetest.register_alias("default:mithril_ingot", "moreores:mithril_ingot") +minetest.register_alias("default:mithrilblock", "moreores:mithril_block") diff --git a/mods/nalc/nodes.lua b/mods/nalc/nodes.lua new file mode 100644 index 00000000..83acd455 --- /dev/null +++ b/mods/nalc/nodes.lua @@ -0,0 +1,345 @@ +-- +-- Ores +-- + +minetest.register_node( + "nalc:desert_stone_with_coal", + { + description = "Coal Ore", + tiles = {"default_desert_stone.png^default_mineral_coal.png"}, + is_ground_content = true, + groups = {crumbly = 1, cracky = 3}, + drop = { + items = { + {items = {"default:coal_lump"}}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) +minetest.register_alias("default:desert_stone_with_coal", "nalc:desert_stone_with_coal") + +minetest.register_node( + "nalc:desert_stone_with_iron", + { + description = "Iron Ore", + tiles = {"default_desert_stone.png^default_mineral_iron.png"}, + is_ground_content = true, + groups = {cracky = 2}, + drop = { + items = { + {items = {"default:iron_lump"}}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) +minetest.register_alias("default:desert_stone_with_iron", "nalc:desert_stone_with_iron") + +minetest.register_node( + "nalc:desert_stone_with_copper", + { + description = "Copper Ore", + tiles = {"default_desert_stone.png^default_mineral_copper.png"}, + is_ground_content = true, + groups = {crumbly = 1, cracky = 3}, + drop = { + items = { + {items = {"default:copper_lump"}}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) +minetest.register_alias("default:desert_stone_with_copper", "nalc:desert_stone_with_copper") + +minetest.register_node( + "nalc:desert_stone_with_tin", + { + description = "Tin Ore", + tiles = {"default_desert_stone.png^default_mineral_tin.png"}, + is_ground_content = true, + groups = {crumbly = 1, cracky = 3}, + drop = { + items = { + {items = {"default:tin_lump"}}, + }, + }, + sounds = default.node_sound_stone_defaults(), + }) +minetest.register_alias("default:desert_stone_with_tin", "nalc:desert_stone_with_tin") + +local function die_later(digger) + digger:set_hp(0) +end + +minetest.register_node( + "nalc:meze", + { + description = "Meze Block", + tiles = {"default_meze_block.png"}, + is_ground_content = true, + drop = "", + groups = {cracky = 1, level = 2, fall_damage_add_percent = -75}, + sounds = default.node_sound_wood_defaults(), -- Intended. + + on_dig = function(pos, node, digger) + if digger and minetest.setting_getbool("enable_damage") and not minetest.setting_getbool("creative_mode") then + minetest.after(3, die_later, digger) + minetest.chat_send_player(digger:get_player_name(), "You feel like you did a mistake.") + minetest.node_dig(pos, node, digger) + elseif digger then + minetest.node_dig(pos, node, digger) + end + end, + }) +minetest.register_alias("default:meze_block", "nalc:meze") +minetest.register_alias("default:meze", "nalc:meze") + +-- +-- Plantlife (non-cubic) +-- + +minetest.override_item( + "default:cactus", + { + after_dig_node = function(pos, node, metadata, digger) + default.dig_up(pos, node, digger) + end + }) + +minetest.register_node( + "nalc:cactus_spiky", + { + description = "Spiky Cactus", + tiles = {"default_cactus_top.png", "default_cactus_top.png", + "default_cactus_spiky.png"}, + paramtype2 = "facedir", + groups = {snappy = 1, choppy = 3, flammable = 2}, + drop = { + items = { + {items = {"nalc:cactus_spiky"}}, + }, + }, + sounds = default.node_sound_wood_defaults(), + on_place = minetest.rotate_node, + + after_dig_node = function(pos, node, metadata, digger) + default.dig_up(pos, node, digger) + end, + }) +minetest.register_alias("default:cactus_spiky", "nalc:cactus_spiky") + +minetest.register_node( + "nalc:acid_source", + { + description = "Acid Source", + inventory_image = minetest.inventorycube("default_acid.png"), + drawtype = "liquid", + tiles = { + {name = "default_acid_source_animated.png", animation={type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.5}} + }, + special_tiles = { + -- New-style acid source material (mostly unused) + { + name = "default_acid_source_animated.png", + animation = {type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 1.5}, + backface_culling = false, + } + }, + alpha = 160, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 2, + liquidtype = "source", + liquid_alternative_flowing = "nalc:acid_flowing", + liquid_alternative_source = "nalc:acid_source", + liquid_viscosity = 1, + liquid_range = 4, + damage_per_second = 3, + post_effect_color = {a = 120, r = 50, g = 90, b = 30}, + groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1}, + }) +minetest.register_alias("default:acid_source", "nalc:acid_source") + +minetest.register_node( + "nalc:acid_flowing", + { + description = "Flowing Acid", + inventory_image = minetest.inventorycube("default_acid.png"), + drawtype = "flowingliquid", + tiles = {"default_acid.png"}, + special_tiles = { + { + image = "default_acid_flowing_animated.png", + backface_culling=false, + animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} + }, + { + image = "default_acid_flowing_animated.png", + backface_culling=true, + animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} + }, + }, + alpha = 160, + paramtype = "light", + paramtype2 = "flowingliquid", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 2, + liquidtype = "flowing", + liquid_alternative_flowing = "nalc:acid_flowing", + liquid_alternative_source = "nalc:acid_source", + liquid_viscosity = 1, + liquid_range = 4, + damage_per_second = 3, + post_effect_color = {a = 120, r = 50, g = 90, b = 30}, + groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1, not_in_creative_inventory = 1}, + }) +minetest.register_alias("default:acid_flowing", "nalc:acid_flowing") + +minetest.register_node( + "nalc:sand_source", + { + description = "Sand Source", + inventory_image = minetest.inventorycube("default_sand.png"), + drawtype = "liquid", + tiles = {"default_sand.png"}, + alpha = 255, + paramtype = "light", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 4, + liquidtype = "source", + liquid_alternative_flowing = "nalc:sand_flowing", + liquid_alternative_source = "nalc:sand_source", + liquid_viscosity = 20, + liquid_renewable = false, + post_effect_color = {a = 250, r = 0, g = 0, b = 0}, + groups = {liquid = 3}, + }) +minetest.register_alias("default:sand_source", "nalc:sand_source") + +minetest.register_node( + "nalc:sand_flowing", + { + description = "Flowing Sand", + inventory_image = minetest.inventorycube("default_sand.png"), + drawtype = "flowingliquid", + tiles = {"default_sand.png"}, + special_tiles = { + { + image = "default_sand_flowing_animated.png", + backface_culling=false, + animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} + }, + { + image = "default_sand_flowing_animated.png", + backface_culling=true, + animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6} + }, + }, + alpha = 255, + paramtype = "light", + paramtype2 = "flowingliquid", + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + drop = "", + drowning = 4, + liquidtype = "flowing", + liquid_alternative_flowing = "nalc:sand_flowing", + liquid_alternative_source = "nalc:sand_source", + liquid_viscosity = 20, + post_effect_color = {a = 250, r = 0, g = 0, b = 0}, + groups = {liquid = 3, not_in_creative_inventory = 1}, + }) +minetest.register_alias("default:acid_flowing", "nalc:acid_flowing") + +-- +-- Tools / "Advanced" crafting / Non-"natural" +-- + +minetest.register_node( + "nalc:ladder_obsidian", + { + description = "Obsidian Ladder", + drawtype = "signlike", + tiles = {"default_ladder_obsidian.png"}, + inventory_image = "default_ladder_obsidian.png", + wield_image = "default_ladder_obsidian.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), + }) +minetest.register_alias("default:ladder_obsidian", "nalc:ladder_obsidian") + +default.register_fence( + "nalc:fence_cobble", + { + description = "Cobble Fence", + texture = "default_fence_cobble.png", + material = "default:cobble", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() + }) + +default.register_fence( + "nalc:fence_desert_cobble", + { + description = "Desert Cobble Fence", + texture = "default_fence_desert_cobble.png", + material = "default:desert_cobble", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() + }) + +default.register_fence( + "nalc:fence_steelblock", + { + description = "Steel Block Fence", + texture = "default_fence_steelblock.png", + material = "default:steelblock", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() + }) + +default.register_fence( + "nalc:fence_brick", + { + description = "Brick Fence", + texture = "default_fence_brick.png", + material = "default:brick", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() + }) +minetest.register_alias("default:fence_cobble", "nalc:fence_cobble") +minetest.register_alias("default:fence_desert_cobble", "nalc:fence_desert_cobble") +minetest.register_alias("default:fence_steelblock", "nalc:fence_steelblock") +minetest.register_alias("default:fence_brick", "nalc:fence_brick") + +-- Override items +minetest.override_item( + "default:clay", + { + stack_max = 200 + }) diff --git a/mods/nalc/nyancat.lua b/mods/nalc/nyancat.lua new file mode 100644 index 00000000..a37909a3 --- /dev/null +++ b/mods/nalc/nyancat.lua @@ -0,0 +1,126 @@ +minetest.register_craft({ + type = "fuel", + recipe = "nyancat:nyancat", + burntime = 7200, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "nyancat:nyancat_rainbow", + burntime = 1200, +}) + +minetest.register_craft( + { output = 'nalc:pick_nyan', + recipe = { + {'nyancat:nyancat', 'nyancat:nyancat', 'nyancat:nyancat'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } + }) +minetest.register_alias("default:pick_nyan", "nalc:pick_nyan") + +minetest.register_craft( + { + output = "nalc:shovel_nyan", + recipe = { + {"nyancat:nyancat"}, + {"group:stick"}, + {"group:stick"}, + } + }) +minetest.register_alias("default:shovel_nyan", "nalc:shovel_nyan") + +minetest.register_craft( + { + output = "nalc:axe_nyan", + recipe = { + {"nyancat:nyancat", "nyancat:nyancat"}, + {"nyancat:nyancat", "group:stick"}, + {"", "group:stick"}, + } + }) +minetest.register_alias("default:axe_nyan", "nalc:axe_nyan") + +minetest.register_craft( + { + output = "nalc:sword_nyan", + recipe = { + {"nyancat:nyancat"}, + {"nyancat:nyancat"}, + {"group:stick"}, + } + }) +minetest.register_alias("default:sword_nyan", "nalc:sword_nyan") + +-- +-- Register Tools +-- + +minetest.register_tool( + "nalc:pick_nyan", + { + description = "Nyan Pickaxe", + inventory_image = "default_tool_nyanpick.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level = 3, + groupcaps = { + cracky = {times = {[1] = 2.60, [2] = 1.10, [3] = 0.60}, uses = 60, maxlevel = 3}, + crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 75, maxlevel = 2}, + }, + damage_groups = {fleshy = 4}, + }, + }) + +minetest.register_tool( + "nalc:shovel_nyan", + { + description = "Nyan Shovel", + inventory_image = "default_tool_nyanshovel.png", + wield_image = "default_tool_nyanshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + crumbly = {times = {[1] = 1.30, [2] = 0.55, [3] = 0.30}, uses = 60, maxlevel = 3}, + }, + damage_groups = {fleshy = 4}, + }, + }) + +minetest.register_tool( + "nalc:axe_nyan", + { + description = "Nyan Axe", + inventory_image = "default_tool_nyanaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 2.86, [2] = 1.21, [3] = 0.66}, uses = 60, maxlevel = 3}, + snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, + }, + damage_groups = {fleshy = 4}, + }, + }) + +minetest.register_tool( + "nalc:sword_nyan", + { + description = "Nyan Sword", + inventory_image = "default_tool_nyansword.png", + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 40, maxlevel = 3}, + }, + damage_groups = {fleshy = 6}, + } + }) + +minetest.register_alias("default:pick_nyan", "nalc:pick_nyan") +minetest.register_alias("default:axe_nyan", "nalc:axe_nyan") +minetest.register_alias("default:shovel_nyan", "nalc:shovel_nyan") +minetest.register_alias("default:sword_nyan", "nalc:sword_nyan") diff --git a/mods/nalc/technic.lua b/mods/nalc/technic.lua new file mode 100644 index 00000000..aa3b2ad7 --- /dev/null +++ b/mods/nalc/technic.lua @@ -0,0 +1,33 @@ +-- make silver, tin, mithril to be grinded +--[[local recipes = { + -- Dusts + {"default:tin_lump", "technic:tin_dust 2"}, + {"moreores:silver_lump", "technic:silver_dust 2"}, + {"moreores:mithril_lump", "technic:mithril_dust 2"}, +} + +for _, data in pairs(recipes) do + technic.register_grinder_recipe({input = {data[1]}, output = data[2]}) +end + +-- dusts +local function register_dust(name, ingot) + local lname = string.lower(name) + lname = string.gsub(lname, ' ', '_') + if ingot then + minetest.register_craft( + { + type = "cooking", + recipe = "technic:"..lname.."_dust", + output = ingot, + }) + technic.register_grinder_recipe({ input = {ingot}, output = "technic:"..lname.."_dust 1" }) + end +end + +register_dust("Mithril", "default:mithril_ingot") +register_dust("Silver", "default:silver_ingot") +register_dust("Tin", "default:tin_ingot") +--]] +-- Add superquarry machine +dofile(minetest.get_modpath(minetest.get_current_modname()).."/technic/superquarry.lua") diff --git a/mods/nalc/technic/superquarry.lua b/mods/nalc/technic/superquarry.lua index 6a255e68..c1ae55f4 100644 --- a/mods/nalc/technic/superquarry.lua +++ b/mods/nalc/technic/superquarry.lua @@ -6,7 +6,7 @@ local cable_entry = "^technic_cable_connection_overlay.png" minetest.register_craft({ recipe = { - {"default:mithrilblock", "pipeworks:filter", "default:mithrilblock"}, + {"moreores:mithril_block", "pipeworks:filter", "moreores:mithril_block"}, {"technic:motor", "technic:quarry", "technic:diamond_drill_head"}, {"technic:quarry", "technic:hv_cable", "technic:quarry"}}, output = "nalc:superquarry", diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_black.png b/mods/nalc/textures/beds_bed_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_black.png rename to mods/nalc/textures/beds_bed_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_blue.png b/mods/nalc/textures/beds_bed_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_blue.png rename to mods/nalc/textures/beds_bed_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_fancy_black.png b/mods/nalc/textures/beds_bed_fancy_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_fancy_black.png rename to mods/nalc/textures/beds_bed_fancy_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_fancy_blue.png b/mods/nalc/textures/beds_bed_fancy_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_fancy_blue.png rename to mods/nalc/textures/beds_bed_fancy_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_fancy_green.png b/mods/nalc/textures/beds_bed_fancy_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_fancy_green.png rename to mods/nalc/textures/beds_bed_fancy_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_fancy_white.png b/mods/nalc/textures/beds_bed_fancy_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_fancy_white.png rename to mods/nalc/textures/beds_bed_fancy_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_foot_black.png b/mods/nalc/textures/beds_bed_foot_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_foot_black.png rename to mods/nalc/textures/beds_bed_foot_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_foot_blue.png b/mods/nalc/textures/beds_bed_foot_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_foot_blue.png rename to mods/nalc/textures/beds_bed_foot_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_foot_green.png b/mods/nalc/textures/beds_bed_foot_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_foot_green.png rename to mods/nalc/textures/beds_bed_foot_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_foot_white.png b/mods/nalc/textures/beds_bed_foot_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_foot_white.png rename to mods/nalc/textures/beds_bed_foot_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_green.png b/mods/nalc/textures/beds_bed_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_green.png rename to mods/nalc/textures/beds_bed_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side1_black.png b/mods/nalc/textures/beds_bed_side1_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side1_black.png rename to mods/nalc/textures/beds_bed_side1_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side1_blue.png b/mods/nalc/textures/beds_bed_side1_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side1_blue.png rename to mods/nalc/textures/beds_bed_side1_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side1_green.png b/mods/nalc/textures/beds_bed_side1_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side1_green.png rename to mods/nalc/textures/beds_bed_side1_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side1_white.png b/mods/nalc/textures/beds_bed_side1_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side1_white.png rename to mods/nalc/textures/beds_bed_side1_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side2_black.png b/mods/nalc/textures/beds_bed_side2_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side2_black.png rename to mods/nalc/textures/beds_bed_side2_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side2_blue.png b/mods/nalc/textures/beds_bed_side2_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side2_blue.png rename to mods/nalc/textures/beds_bed_side2_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side2_green.png b/mods/nalc/textures/beds_bed_side2_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side2_green.png rename to mods/nalc/textures/beds_bed_side2_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side2_white.png b/mods/nalc/textures/beds_bed_side2_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side2_white.png rename to mods/nalc/textures/beds_bed_side2_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_black.png b/mods/nalc/textures/beds_bed_side_bottom_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_black.png rename to mods/nalc/textures/beds_bed_side_bottom_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_blue.png b/mods/nalc/textures/beds_bed_side_bottom_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_blue.png rename to mods/nalc/textures/beds_bed_side_bottom_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_green.png b/mods/nalc/textures/beds_bed_side_bottom_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_green.png rename to mods/nalc/textures/beds_bed_side_bottom_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_black.png b/mods/nalc/textures/beds_bed_side_bottom_r_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_black.png rename to mods/nalc/textures/beds_bed_side_bottom_r_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_blue.png b/mods/nalc/textures/beds_bed_side_bottom_r_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_blue.png rename to mods/nalc/textures/beds_bed_side_bottom_r_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_green.png b/mods/nalc/textures/beds_bed_side_bottom_r_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_green.png rename to mods/nalc/textures/beds_bed_side_bottom_r_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_white.png b/mods/nalc/textures/beds_bed_side_bottom_r_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_r_white.png rename to mods/nalc/textures/beds_bed_side_bottom_r_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_white.png b/mods/nalc/textures/beds_bed_side_bottom_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_bottom_white.png rename to mods/nalc/textures/beds_bed_side_bottom_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_black.png b/mods/nalc/textures/beds_bed_side_top_r_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_black.png rename to mods/nalc/textures/beds_bed_side_top_r_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_blue.png b/mods/nalc/textures/beds_bed_side_top_r_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_blue.png rename to mods/nalc/textures/beds_bed_side_top_r_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_green.png b/mods/nalc/textures/beds_bed_side_top_r_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_green.png rename to mods/nalc/textures/beds_bed_side_top_r_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_white.png b/mods/nalc/textures/beds_bed_side_top_r_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_side_top_r_white.png rename to mods/nalc/textures/beds_bed_side_top_r_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top1_black.png b/mods/nalc/textures/beds_bed_top1_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top1_black.png rename to mods/nalc/textures/beds_bed_top1_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top1_blue.png b/mods/nalc/textures/beds_bed_top1_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top1_blue.png rename to mods/nalc/textures/beds_bed_top1_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top1_green.png b/mods/nalc/textures/beds_bed_top1_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top1_green.png rename to mods/nalc/textures/beds_bed_top1_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top1_white.png b/mods/nalc/textures/beds_bed_top1_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top1_white.png rename to mods/nalc/textures/beds_bed_top1_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top2_black.png b/mods/nalc/textures/beds_bed_top2_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top2_black.png rename to mods/nalc/textures/beds_bed_top2_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top2_blue.png b/mods/nalc/textures/beds_bed_top2_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top2_blue.png rename to mods/nalc/textures/beds_bed_top2_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top2_green.png b/mods/nalc/textures/beds_bed_top2_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top2_green.png rename to mods/nalc/textures/beds_bed_top2_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top2_white.png b/mods/nalc/textures/beds_bed_top2_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top2_white.png rename to mods/nalc/textures/beds_bed_top2_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_black.png b/mods/nalc/textures/beds_bed_top_bottom_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_black.png rename to mods/nalc/textures/beds_bed_top_bottom_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_blue.png b/mods/nalc/textures/beds_bed_top_bottom_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_blue.png rename to mods/nalc/textures/beds_bed_top_bottom_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_green.png b/mods/nalc/textures/beds_bed_top_bottom_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_green.png rename to mods/nalc/textures/beds_bed_top_bottom_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_white.png b/mods/nalc/textures/beds_bed_top_bottom_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_bottom_white.png rename to mods/nalc/textures/beds_bed_top_bottom_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_top_black.png b/mods/nalc/textures/beds_bed_top_top_black.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_top_black.png rename to mods/nalc/textures/beds_bed_top_top_black.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_top_blue.png b/mods/nalc/textures/beds_bed_top_top_blue.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_top_blue.png rename to mods/nalc/textures/beds_bed_top_top_blue.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_top_green.png b/mods/nalc/textures/beds_bed_top_top_green.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_top_green.png rename to mods/nalc/textures/beds_bed_top_top_green.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_top_top_white.png b/mods/nalc/textures/beds_bed_top_top_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_top_top_white.png rename to mods/nalc/textures/beds_bed_top_top_white.png diff --git a/minetestforfun_game/mods/beds/textures/beds_bed_white.png b/mods/nalc/textures/beds_bed_white.png similarity index 100% rename from minetestforfun_game/mods/beds/textures/beds_bed_white.png rename to mods/nalc/textures/beds_bed_white.png diff --git a/minetestforfun_game/mods/boats/textures/boats_boat_inventory.png b/mods/nalc/textures/boats_boat_inventory.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_boat_inventory.png rename to mods/nalc/textures/boats_boat_inventory.png diff --git a/minetestforfun_game/mods/boats/textures/boats_expert_race_inventory.png b/mods/nalc/textures/boats_expert_race_inventory.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_expert_race_inventory.png rename to mods/nalc/textures/boats_expert_race_inventory.png diff --git a/minetestforfun_game/mods/boats/textures/boats_expert_race_wield.png b/mods/nalc/textures/boats_expert_race_wield.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_expert_race_wield.png rename to mods/nalc/textures/boats_expert_race_wield.png diff --git a/minetestforfun_game/mods/boats/textures/boats_moon.png b/mods/nalc/textures/boats_moon.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_moon.png rename to mods/nalc/textures/boats_moon.png diff --git a/minetestforfun_game/mods/boats/textures/boats_moon_inventory.png b/mods/nalc/textures/boats_moon_inventory.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_moon_inventory.png rename to mods/nalc/textures/boats_moon_inventory.png diff --git a/minetestforfun_game/mods/boats/textures/boats_moon_wield.png b/mods/nalc/textures/boats_moon_wield.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_moon_wield.png rename to mods/nalc/textures/boats_moon_wield.png diff --git a/minetestforfun_game/mods/boats/textures/boats_race_inventory.png b/mods/nalc/textures/boats_race_inventory.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_race_inventory.png rename to mods/nalc/textures/boats_race_inventory.png diff --git a/minetestforfun_game/mods/boats/textures/boats_race_wield.png b/mods/nalc/textures/boats_race_wield.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_race_wield.png rename to mods/nalc/textures/boats_race_wield.png diff --git a/minetestforfun_game/mods/boats/textures/boats_water_inventory.png b/mods/nalc/textures/boats_water_inventory.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_water_inventory.png rename to mods/nalc/textures/boats_water_inventory.png diff --git a/minetestforfun_game/mods/boats/textures/boats_water_wield.png b/mods/nalc/textures/boats_water_wield.png similarity index 100% rename from minetestforfun_game/mods/boats/textures/boats_water_wield.png rename to mods/nalc/textures/boats_water_wield.png diff --git a/minetestforfun_game/mods/default/textures/default_acid.png b/mods/nalc/textures/default_acid.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_acid.png rename to mods/nalc/textures/default_acid.png diff --git a/minetestforfun_game/mods/default/textures/default_acid_flowing_animated.png b/mods/nalc/textures/default_acid_flowing_animated.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_acid_flowing_animated.png rename to mods/nalc/textures/default_acid_flowing_animated.png diff --git a/minetestforfun_game/mods/default/textures/default_acid_source_animated.png b/mods/nalc/textures/default_acid_source_animated.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_acid_source_animated.png rename to mods/nalc/textures/default_acid_source_animated.png diff --git a/minetestforfun_game/mods/default/textures/default_cactus_spiky.png b/mods/nalc/textures/default_cactus_spiky.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_cactus_spiky.png rename to mods/nalc/textures/default_cactus_spiky.png diff --git a/minetestforfun_game/mods/default/textures/default_cherry_blossom_leaves.png b/mods/nalc/textures/default_cherry_blossom_leaves.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_cherry_blossom_leaves.png rename to mods/nalc/textures/default_cherry_blossom_leaves.png diff --git a/minetestforfun_game/mods/default/textures/default_cherry_sapling.png b/mods/nalc/textures/default_cherry_sapling.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_cherry_sapling.png rename to mods/nalc/textures/default_cherry_sapling.png diff --git a/minetestforfun_game/mods/default/textures/default_cherry_top.png b/mods/nalc/textures/default_cherry_top.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_cherry_top.png rename to mods/nalc/textures/default_cherry_top.png diff --git a/minetestforfun_game/mods/default/textures/default_cherry_tree.png b/mods/nalc/textures/default_cherry_tree.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_cherry_tree.png rename to mods/nalc/textures/default_cherry_tree.png diff --git a/minetestforfun_game/mods/default/textures/default_fence_brick.png b/mods/nalc/textures/default_fence_brick.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_fence_brick.png rename to mods/nalc/textures/default_fence_brick.png diff --git a/minetestforfun_game/mods/default/textures/default_fence_cobble.png b/mods/nalc/textures/default_fence_cobble.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_fence_cobble.png rename to mods/nalc/textures/default_fence_cobble.png diff --git a/minetestforfun_game/mods/default/textures/default_fence_desert_cobble.png b/mods/nalc/textures/default_fence_desert_cobble.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_fence_desert_cobble.png rename to mods/nalc/textures/default_fence_desert_cobble.png diff --git a/minetestforfun_game/mods/default/textures/default_fence_steelblock.png b/mods/nalc/textures/default_fence_steelblock.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_fence_steelblock.png rename to mods/nalc/textures/default_fence_steelblock.png diff --git a/minetestforfun_game/mods/default/textures/default_ladder_obsidian.png b/mods/nalc/textures/default_ladder_obsidian.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_ladder_obsidian.png rename to mods/nalc/textures/default_ladder_obsidian.png diff --git a/minetestforfun_game/mods/default/textures/default_ladder_obsidian_inv.png b/mods/nalc/textures/default_ladder_obsidian_inv.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_ladder_obsidian_inv.png rename to mods/nalc/textures/default_ladder_obsidian_inv.png diff --git a/minetestforfun_game/mods/default/textures/default_meze_block.png b/mods/nalc/textures/default_meze_block.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_meze_block.png rename to mods/nalc/textures/default_meze_block.png diff --git a/minetestforfun_game/mods/default/textures/default_mineral_silver.png b/mods/nalc/textures/default_mineral_silver.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_mineral_silver.png rename to mods/nalc/textures/default_mineral_silver.png diff --git a/minetestforfun_game/mods/default/textures/default_mithril_block.png b/mods/nalc/textures/default_mithril_block.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_mithril_block.png rename to mods/nalc/textures/default_mithril_block.png diff --git a/minetestforfun_game/mods/default/textures/default_sand_flowing_animated.png b/mods/nalc/textures/default_sand_flowing_animated.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_sand_flowing_animated.png rename to mods/nalc/textures/default_sand_flowing_animated.png diff --git a/minetestforfun_game/mods/default/textures/default_scorched_stuff.png b/mods/nalc/textures/default_scorched_stuff.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_scorched_stuff.png rename to mods/nalc/textures/default_scorched_stuff.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_dungeon_master_s_blood_sword.png b/mods/nalc/textures/default_tool_dungeon_master_s_blood_sword.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_dungeon_master_s_blood_sword.png rename to mods/nalc/textures/default_tool_dungeon_master_s_blood_sword.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_goldaxe.png b/mods/nalc/textures/default_tool_goldaxe.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_goldaxe.png rename to mods/nalc/textures/default_tool_goldaxe.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_goldpick.png b/mods/nalc/textures/default_tool_goldpick.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_goldpick.png rename to mods/nalc/textures/default_tool_goldpick.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_goldshovel.png b/mods/nalc/textures/default_tool_goldshovel.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_goldshovel.png rename to mods/nalc/textures/default_tool_goldshovel.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_goldsword.png b/mods/nalc/textures/default_tool_goldsword.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_goldsword.png rename to mods/nalc/textures/default_tool_goldsword.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_nyanaxe.png b/mods/nalc/textures/default_tool_nyanaxe.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_nyanaxe.png rename to mods/nalc/textures/default_tool_nyanaxe.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_nyanpick.png b/mods/nalc/textures/default_tool_nyanpick.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_nyanpick.png rename to mods/nalc/textures/default_tool_nyanpick.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_nyanshovel.png b/mods/nalc/textures/default_tool_nyanshovel.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_nyanshovel.png rename to mods/nalc/textures/default_tool_nyanshovel.png diff --git a/minetestforfun_game/mods/default/textures/default_tool_nyansword.png b/mods/nalc/textures/default_tool_nyansword.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_tool_nyansword.png rename to mods/nalc/textures/default_tool_nyansword.png diff --git a/minetestforfun_game/mods/default/textures/default_wood_cherry_planks.png b/mods/nalc/textures/default_wood_cherry_planks.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_wood_cherry_planks.png rename to mods/nalc/textures/default_wood_cherry_planks.png diff --git a/mods/nalc/tools.lua b/mods/nalc/tools.lua new file mode 100644 index 00000000..c97e494c --- /dev/null +++ b/mods/nalc/tools.lua @@ -0,0 +1,77 @@ +minetest.register_tool( + "nalc:pick_gold", + { + description = "Golden Pickaxe", + inventory_image = "default_tool_goldpick.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 3, + groupcaps = { + cracky = {times = {[1] = 2.80, [2] = 1.15, [3] = 0.65}, uses = 15, maxlevel = 3}, + crumbly = {times = {[1] = 2.0, [2] = 0.9, [3] = 0.36}, uses = 5, maxlevel = 2}, + }, + damage_groups = {fleshy = 4}, + }, + }) + +minetest.register_tool( + "nalc:shovel_gold", + { + description = "Golden Shovel", + inventory_image = "default_tool_goldshovel.png", + wield_image = "default_tool_goldshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + crumbly = {times = {[1] = 1.40, [2] = 0.60, [3] = 0.35}, uses = 15, maxlevel = 3}, + }, + damage_groups = {fleshy = 4}, + }, + }) + +minetest.register_tool( + "nalc:axe_gold", + { + description = "Golden Axe", + inventory_image = "default_tool_goldaxe.png", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 1, + groupcaps = { + choppy = {times = {[1] = 3.08, [2] = 1.27, [3] = 0.72}, uses = 15, maxlevel = 3}, + snappy = {times = {[3] = 0.125}, uses = 0, maxlevel = 1}, + }, + damage_groups = {fleshy = 4}, + }, + }) + +minetest.register_tool( + "nalc:sword_gold", + { + description = "Golden Sword", + inventory_image = "default_tool_goldsword.png", + tool_capabilities = { + full_punch_interval = 0.8, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 10, maxlevel = 3}, + }, + damage_groups = {fleshy = 5}, + } + }) + +minetest.register_tool( + "nalc:dungeon_master_s_blood_sword", + { --Warrior Only + description = "Dungeon Master's Blood Sword (Warrior)", + inventory_image = "default_tool_dungeon_master_s_blood_sword.png", + tool_capabilities = { + full_punch_interval = 0.5, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[1] = 1.9, [2] = 0.85, [3] = 0.125}, uses = 250, maxlevel = 3}, + }, + damage_groups = {fleshy = 10}, + } + }) diff --git a/mods/nalc/witchcraft.lua b/mods/nalc/witchcraft.lua new file mode 100644 index 00000000..3f1c86c0 --- /dev/null +++ b/mods/nalc/witchcraft.lua @@ -0,0 +1,169 @@ + +-- clear crafts with this particular recipe +minetest.clear_craft( + { + recipe = { {"default:sand"} } + }) + +-- register default:desert_sand (by MFF) +minetest.register_craft( + { + output = "default:desert_sand", + recipe = { + {"default:sand"}, + } + }) + +-- register witchcraft:tooth (by NALC) +minetest.register_craft( + { + output = "witchcraft:tooth", + recipe = { + {"default:sand", "", "default:sand"}, + {"", "default:sand", ""}, + } + }) + +-- Register craft recipe of bones:bones with bonemeal:bone +if minetest.get_modpath("bones") + and minetest.get_modpath("bonemeal") and bonemeal +then + minetest.register_craft( + { + output = "bones:bones", + recipe = { + {"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"}, + {"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"}, + {"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"}, + } + }) +end + +-- Override craft recipe of witchcraft:shelf +if minetest.get_modpath("vessels") then + minetest.clear_craft( + { + recipe = { + {"group:wood", "group:wood", "group:wood"}, + {"group:potion", "group:potion", "group:potion"}, + {"group:wood", "group:wood", "group:wood"}, + } + }) + + minetest.register_craft( + { + output = "witchcraft:shelf", + recipe = { + {"", "group:potion", ""}, + {"group:potion", "vessels:shelf", "group:potion"}, + } + }) + + -- Rewrite potion table which is buggy + local pot_new = + { + {"blue", "blue2", "default:leaves", "brown", "default:dirt", "red", "purple"}, -- replace waterlily by leaves (flowers_plus incompatibility i think...) + {"blue2", "green", "default:papyrus", "", "", "gred", "magenta"}, + {"green", "green2", "default:sapling", "", "", "yellow", "yllwgrn"}, + {"green2", "yellow", "default:mese_crystal_fragment", "", "", "blue", "cyan"}, + {"yellow", "ggreen", "flowers:mushroom_brown", "", "", "green", "yllwgrn"}, + {"ggreen", "cyan", "witchcraft:slime_bottle", "", "", "gcyan", "aqua"}, + {"cyan", "gcyan", "witchcraft:bottle_medicine", "", "", "blue", "blue2"}, + {"gcyan", "orange", "default:torch", "", "", "ggreen", "aqua"}, + {"orange", "yllwgrn", "tnt:gunpowder", "", "", "red", "redbrown"}, + {"yllwgrn", "gold", "default:steel_ingot", "", "", "green", "green2"}, + {"gold", "aqua", "default:diamond", "", "", "", ""}, + {"aqua", "", "", "", "", "", ""}, + {"brown", "redbrown", "flowers:mushroom_red", "", "", "red", "redbrown"}, + {"redbrown", "gred", "default:apple", "", "", "", ""}, + {"gred", "red", "witchcraft:herb_bottle", "", "", "blue2", "magenta"}, -- replace witchcraft:herbs (inexistant) by herb_bottle + {"red", "magenta", "witchcraft:tooth", "", "", "blue", "purple"}, + {"magenta", "gpurple", "witchcraft:slime_bottle", "", "", "cyan", "darkpurple"}, -- item name corrected (was inverted) + {"gpurple", "purple", "witchcraft:bone_bottle", "", "", "yllwgrn", "green2"}, + {"purple", "darkpurple", "default:glass", "", "", "yellow", "green"}, + {"darkpurple", "silver", "default:steel_ingot", "", "", "", ""}, + {"silver", "grey", "witchcraft:bone", "", "", "", ""}, + {"grey", "aqua", "default:diamond", "", "", "", ""}, + } + + -- Override pots on_rightclick + for _, row in ipairs(pot_new) do + local color = row[1] + local newcolor = row[2] + local newcolor2 = row[4] + local ingredient = row[3] + local ingredient2 = row[5] + local combine = row[6] + local cresult = row[7] + + minetest.override_item( + "witchcraft:pot_"..color, + { + on_rightclick = function(pos, node, clicker, item, _) + local wield_item = clicker:get_wielded_item():get_name() + if wield_item == "vessels:glass_bottle" and clicker:get_wielded_item():get_count() == 3 then + item:replace("witchcraft:potion_"..color) + minetest.env:add_item({x=pos.x, y=pos.y+1.5, z=pos.z}, "witchcraft:potion_"..color) + minetest.env:add_item({x=pos.x, y=pos.y+1.5, z=pos.z}, "witchcraft:potion_"..color) + minetest.set_node(pos, {name="witchcraft:pot", param2=node.param2}) + elseif wield_item == "vessels:glass_bottle" and clicker:get_wielded_item():get_count() ~= 3 then + item:replace("witchcraft:potion_"..color) + minetest.set_node(pos, {name="witchcraft:pot", param2=node.param2}) + else + if wield_item == ingredient then + minetest.set_node(pos, {name="witchcraft:pot_"..newcolor, param2=node.param2}) + item:take_item() + elseif wield_item == ingredient2 then + minetest.set_node(pos, {name="witchcraft:pot_"..newcolor2, param2=node.param2}) + item:take_item() + elseif wield_item == "bucket:bucket_water" then + minetest.set_node(pos, {name="witchcraft:pot_blue", param2=node.param2}) + item:replace("bucket:bucket_empty") + elseif wield_item == "witchcraft:potion_"..combine then + minetest.set_node(pos, {name="witchcraft:pot_"..cresult, param2=node.param2}) + item:replace("vessels:glass_bottle") + end + end + end + }) + end + + -- Override potion green effect if farming_redo is loaded (bad call in original mod) + if farming.mod and farming.mod == "redo" then + minetest.override_item( + "witchcraft:potion_green", + { + description = "Melon Potion", + on_use = function(item, user, pointed_thing) + local player = user:get_player_name() + if pointed_thing.type == "node" and + minetest.get_node(pointed_thing.above).name == "air" then + if not minetest.is_protected(pointed_thing.above, player) then + minetest.set_node(pointed_thing.above, {name="farming:melon_8"}) + else + minetest.chat_send_player(player, "This area is protected.") + end + end + local playerpos = user:getpos(); + minetest.add_particlespawner( + 5, --amount + 0.1, --time + {x=playerpos.x-1, y=playerpos.y+1, z=playerpos.z-1}, --minpos + {x=playerpos.x+1, y=playerpos.y+1, z=playerpos.z+1}, --maxpos + {x=-0, y=-0, z=-0}, --minvel + {x=0, y=0, z=0}, --maxvel + {x=-0.5,y=4,z=-0.5}, --minacc + {x=0.5,y=4,z=0.5}, --maxacc + 0.5, --minexptime + 1, --maxexptime + 1, --minsize + 2, --maxsize + false, --collisiondetection + "witchcraft_effect.png" --texture + ) + item:replace("vessels:glass_bottle") + return item + end + }) + end +end diff --git a/minetestforfun_game/mods/nyancat/README.txt b/mods/nyancat/README.txt similarity index 100% rename from minetestforfun_game/mods/nyancat/README.txt rename to mods/nyancat/README.txt diff --git a/minetestforfun_game/mods/boats/depends.txt b/mods/nyancat/depends.txt old mode 100755 new mode 100644 similarity index 100% rename from minetestforfun_game/mods/boats/depends.txt rename to mods/nyancat/depends.txt diff --git a/minetestforfun_game/mods/nyancat/init.lua b/mods/nyancat/init.lua similarity index 100% rename from minetestforfun_game/mods/nyancat/init.lua rename to mods/nyancat/init.lua diff --git a/minetestforfun_game/mods/nyancat/license.txt b/mods/nyancat/license.txt similarity index 100% rename from minetestforfun_game/mods/nyancat/license.txt rename to mods/nyancat/license.txt diff --git a/minetestforfun_game/mods/nyancat/textures/nyancat_back.png b/mods/nyancat/textures/nyancat_back.png similarity index 100% rename from minetestforfun_game/mods/nyancat/textures/nyancat_back.png rename to mods/nyancat/textures/nyancat_back.png diff --git a/minetestforfun_game/mods/nyancat/textures/nyancat_front.png b/mods/nyancat/textures/nyancat_front.png similarity index 100% rename from minetestforfun_game/mods/nyancat/textures/nyancat_front.png rename to mods/nyancat/textures/nyancat_front.png diff --git a/minetestforfun_game/mods/nyancat/textures/nyancat_rainbow.png b/mods/nyancat/textures/nyancat_rainbow.png similarity index 100% rename from minetestforfun_game/mods/nyancat/textures/nyancat_rainbow.png rename to mods/nyancat/textures/nyancat_rainbow.png diff --git a/minetestforfun_game/mods/nyancat/textures/nyancat_side.png b/mods/nyancat/textures/nyancat_side.png similarity index 100% rename from minetestforfun_game/mods/nyancat/textures/nyancat_side.png rename to mods/nyancat/textures/nyancat_side.png diff --git a/mods/pipeworks b/mods/pipeworks new file mode 160000 index 00000000..8fa259c9 --- /dev/null +++ b/mods/pipeworks @@ -0,0 +1 @@ +Subproject commit 8fa259c93fbef467822f710a33537a76f608b7cb diff --git a/mods/pipeworks/.gitignore b/mods/pipeworks/.gitignore deleted file mode 100755 index b25c15b8..00000000 --- a/mods/pipeworks/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*~ diff --git a/mods/pipeworks/LICENSE b/mods/pipeworks/LICENSE deleted file mode 100755 index eb930e91..00000000 --- a/mods/pipeworks/LICENSE +++ /dev/null @@ -1,17 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. - ----------- - -This license is commonly known as "WTFPL". diff --git a/mods/pipeworks/README b/mods/pipeworks/README deleted file mode 100755 index 7a346189..00000000 --- a/mods/pipeworks/README +++ /dev/null @@ -1,22 +0,0 @@ -This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, -along devices that work with them. - -See https://github.com/VanessaE/pipeworks/wiki/ for detailed information about usage of this mod. - -Unlike the previous version of this mod, these pipes are rounded, and when -placed, they'll automatically join together as needed. Pipes can go vertically -or horizontally, and there are enough nodes defined to allow for all possible -connections. Valves and pumps can only be placed horizontally, and will -automatically rotate and join with neighboring pipes as objects are added, as -well as joining with each other under certain circumstances. - -Pipes come in two variants: one type bears one or more dark windows on each -pipe, suggesting they're empty, while the other type bears green-tinted -windows, as if full (the two colors should also be easy to select if you want -to change them in a paint program). These windows only appear on straight -lengths and on certain junctions. - -This mod is a work in progress. - -Please note that owing to the nature of this mod, I have opted to use 64px -textures. Anything less just looks terrible. diff --git a/mods/pipeworks/autocrafter.lua b/mods/pipeworks/autocrafter.lua deleted file mode 100755 index d471910b..00000000 --- a/mods/pipeworks/autocrafter.lua +++ /dev/null @@ -1,413 +0,0 @@ -local autocrafterCache = {} -- caches some recipe data to avoid to call the slow function minetest.get_craft_result() every second - -local craft_time = 1 - -local function count_index(invlist) - local index = {} - for _, stack in pairs(invlist) do - if not stack:is_empty() then - local stack_name = stack:get_name() - index[stack_name] = (index[stack_name] or 0) + stack:get_count() - end - end - return index -end - -local function get_item_info(stack) - local name = stack:get_name() - local def = minetest.registered_items[name] - local description = def and def.description or "Unknown item" - return description, name -end - -local function get_craft(pos, inventory, hash) - local hash = hash or minetest.hash_node_position(pos) - local craft = autocrafterCache[hash] - if not craft then - local recipe = inventory:get_list("recipe") - local output, decremented_input = minetest.get_craft_result({method = "normal", width = 3, items = recipe}) - craft = {recipe = recipe, consumption=count_index(recipe), output = output, decremented_input = decremented_input} - autocrafterCache[hash] = craft - end - return craft -end - -local function autocraft(inventory, craft) - if not craft then return false end - local output_item = craft.output.item - - -- check if we have enough room in dst - if not inventory:room_for_item("dst", output_item) then return false end - local consumption = craft.consumption - local inv_index = count_index(inventory:get_list("src")) - -- check if we have enough material available - for itemname, number in pairs(consumption) do - if (not inv_index[itemname]) or inv_index[itemname] < number then return false end - end - -- consume material - for itemname, number in pairs(consumption) do - for i = 1, number do -- We have to do that since remove_item does not work if count > stack_max - inventory:remove_item("src", ItemStack(itemname)) - end - end - - -- craft the result into the dst inventory and add any "replacements" as well - inventory:add_item("dst", output_item) - for i = 1, 9 do - inventory:add_item("dst", craft.decremented_input.items[i]) - end - return true -end - --- returns false to stop the timer, true to continue running --- is started only from start_autocrafter(pos) after sanity checks and cached recipe -local function run_autocrafter(pos, elapsed) - local meta = minetest.get_meta(pos) - local inventory = meta:get_inventory() - local craft = get_craft(pos, inventory) - local output_item = craft.output.item - -- only use crafts that have an actual result - if output_item:is_empty() then - meta:set_string("infotext", "unconfigured Autocrafter: unknown recipe") - return false - end - - for step = 1, math.floor(elapsed/craft_time) do - local continue = autocraft(inventory, craft) - if not continue then return false end - end - return true -end - -local function start_crafter(pos) - local meta = minetest.get_meta(pos) - if meta:get_int("enabled") == 1 then - local timer = minetest.get_node_timer(pos) - if not timer:is_started() then - timer:start(craft_time) - end - end -end - -local function after_inventory_change(pos) - start_crafter(pos) -end - --- note, that this function assumes allready being updated to virtual items --- and doesn't handle recipes with stacksizes > 1 -local function after_recipe_change(pos, inventory) - local meta = minetest.get_meta(pos) - -- if we emptied the grid, there's no point in keeping it running or cached - if inventory:is_empty("recipe") then - minetest.get_node_timer(pos):stop() - autocrafterCache[minetest.hash_node_position(pos)] = nil - meta:set_string("infotext", "unconfigured Autocrafter") - inventory:set_stack("output", 1, "") - return - end - local recipe_changed = false - local recipe = inventory:get_list("recipe") - - local hash = minetest.hash_node_position(pos) - local craft = autocrafterCache[hash] - - if craft then - -- check if it changed - local cached_recipe = craft.recipe - for i = 1, 9 do - if recipe[i]:get_name() ~= cached_recipe[i]:get_name() then - autocrafterCache[hash] = nil -- invalidate recipe - craft = nil - break - end - end - end - - craft = craft or get_craft(pos, inventory, hash) - local output_item = craft.output.item - local description, name = get_item_info(output_item) - meta:set_string("infotext", string.format("'%s' Autocrafter (%s)", description, name)) - inventory:set_stack("output", 1, output_item) - - after_inventory_change(pos) -end - --- clean out unknown items and groups, which would be handled like unknown items in the crafting grid --- if minetest supports query by group one day, this might replace them --- with a canonical version instead -local function normalize(item_list) - for i = 1, #item_list do - local name = item_list[i] - if not minetest.registered_items[name] then - item_list[i] = "" - end - end - return item_list -end - -local function on_output_change(pos, inventory, stack) - if not stack then - inventory:set_list("output", {}) - inventory:set_list("recipe", {}) - else - local input = minetest.get_craft_recipe(stack:get_name()) - if not input.items or input.type ~= "normal" then return end - local items, width = normalize(input.items), input.width - local item_idx, width_idx = 1, 1 - for i = 1, 9 do - if width_idx <= width then - inventory:set_stack("recipe", i, items[item_idx]) - item_idx = item_idx + 1 - else - inventory:set_stack("recipe", i, ItemStack("")) - end - width_idx = (width_idx < 3) and (width_idx + 1) or 1 - end - -- we'll set the output slot in after_recipe_change to the actual result of the new recipe - end - after_recipe_change(pos, inventory) -end - --- returns false if we shouldn't bother attempting to start the timer again after this -local function update_meta(meta, enabled) - local state = enabled and "on" or "off" - meta:set_int("enabled", enabled and 1 or 0) - local fs = "size[8,11]".. - "list[context;recipe;0,0;3,3;]".. - "image[3,1;1,1;gui_hb_bg.png^[colorize:#141318:255]".. - "list[context;output;3,1;1,1;]".. - "image_button[3,2;1,0.6;pipeworks_button_" .. state .. ".png;" .. state .. ";;;false;pipeworks_button_interm.png]" .. - "list[context;src;0,4.5;8,3;]".. - "list[context;dst;4,0;4,3;]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - default.get_hotbar_bg(0,8) .. - "list[current_player;main;0,8;8,4;]" .. - "listring[current_player;main]".. - "listring[context;src]" .. - "listring[current_player;main]".. - "listring[context;dst]" .. - "listring[current_player;main]" - if minetest.get_modpath("digilines") then - fs = fs.."field[1,3.5;4,1;channel;Channel;${channel}]" - fs = fs.."button_exit[5,3.2;2,1;save;Save]" - end - meta:set_string("formspec",fs) - - -- toggling the button doesn't quite call for running a recipe change check - -- so instead we run a minimal version for infotext setting only - -- this might be more written code, but actually executes less - local output = meta:get_inventory():get_stack("output", 1) - if output:is_empty() then -- doesn't matter if paused or not - meta:set_string("infotext", "unconfigured Autocrafter") - return false - end - - local description, name = get_item_info(output) - local infotext = enabled and string.format("'%s' Autocrafter (%s)", description, name) - or string.format("paused '%s' Autocrafter", description) - - meta:set_string("infotext", infotext) - return enabled -end - --- 1st version of the autocrafter had actual items in the crafting grid --- the 2nd replaced these with virtual items, dropped the content on update and set "virtual_items" to string "1" --- the third added an output inventory, changed the formspec and added a button for enabling/disabling --- so we work out way backwards on this history and update each single case to the newest version -local function upgrade_autocrafter(pos, meta) - local meta = meta or minetest.get_meta(pos) - local inv = meta:get_inventory() - - if inv:get_size("output") == 0 then -- we are version 2 or 1 - inv:set_size("output", 1) - -- migrate the old autocrafters into an "enabled" state - update_meta(meta, true) - - if meta:get_string("virtual_items") == "1" then -- we are version 2 - -- we allready dropped stuff, so lets remove the metadatasetting (we are not being called again for this node) - meta:set_string("virtual_items", "") - else -- we are version 1 - local recipe = inv:get_list("recipe") - if not recipe then return end - for idx, stack in ipairs(recipe) do - if not stack:is_empty() then - minetest.add_item(pos, stack) - stack:set_count(1) - stack:set_wear(0) - inv:set_stack("recipe", idx, stack) - end - end - end - - -- update the recipe, cache, and start the crafter - autocrafterCache[minetest.hash_node_position(pos)] = nil - after_recipe_change(pos, inv) - end -end - -minetest.register_node("pipeworks:autocrafter", { - description = "Autocrafter", - drawtype = "normal", - tiles = {"pipeworks_autocrafter.png"}, - groups = {snappy = 3, tubedevice = 1, tubedevice_receiver = 1}, - tube = {insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local added = inv:add_item("src", stack) - after_inventory_change(pos) - return added - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("src", stack) - end, - input_inventory = "dst", - connect_sides = {left = 1, right = 1, front = 1, back = 1, top = 1, bottom = 1}}, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - inv:set_size("src", 3*8) - inv:set_size("recipe", 3*3) - inv:set_size("dst", 4*3) - inv:set_size("output", 1) - update_meta(meta, false) - end, - on_receive_fields = function(pos, formname, fields, sender) - if not pipeworks.may_configure(pos, sender) then return end - local meta = minetest.get_meta(pos) - if fields.on then - update_meta(meta, false) - minetest.get_node_timer(pos):stop() - elseif fields.off then - if update_meta(meta, true) then - start_crafter(pos) - end - elseif fields.save then - meta:set_string("channel", fields.channel) - end - end, - can_dig = function(pos, player) - upgrade_autocrafter(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return (inv:is_empty("src") and inv:is_empty("dst")) - end, - after_place_node = pipeworks.scan_for_tube_objects, - after_dig_node = function(pos) - pipeworks.scan_for_tube_objects(pos) - end, - on_destruct = function(pos) - autocrafterCache[minetest.hash_node_position(pos)] = nil - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then return 0 end - upgrade_autocrafter(pos) - local inv = minetest.get_meta(pos):get_inventory() - if listname == "recipe" then - stack:set_count(1) - inv:set_stack(listname, index, stack) - after_recipe_change(pos, inv) - return 0 - elseif listname == "output" then - on_output_change(pos, inv, stack) - return 0 - end - after_inventory_change(pos) - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then - minetest.log("action", string.format("%s attempted to take from autocrafter at %s", player:get_player_name(), minetest.pos_to_string(pos))) - return 0 - end - upgrade_autocrafter(pos) - local inv = minetest.get_meta(pos):get_inventory() - if listname == "recipe" then - inv:set_stack(listname, index, ItemStack("")) - after_recipe_change(pos, inv) - return 0 - elseif listname == "output" then - on_output_change(pos, inv, nil) - return 0 - end - after_inventory_change(pos) - return stack:get_count() - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - if not pipeworks.may_configure(pos, player) then return 0 end - upgrade_autocrafter(pos) - local inv = minetest.get_meta(pos):get_inventory() - local stack = inv:get_stack(from_list, from_index) - - if to_list == "output" then - on_output_change(pos, inv, stack) - return 0 - elseif from_list == "output" then - on_output_change(pos, inv, nil) - if to_list ~= "recipe" then - return 0 - end -- else fall through to recipe list handling - end - - if from_list == "recipe" or to_list == "recipe" then - if from_list == "recipe" then - inv:set_stack(from_list, from_index, ItemStack("")) - end - if to_list == "recipe" then - stack:set_count(1) - inv:set_stack(to_list, to_index, stack) - end - after_recipe_change(pos, inv) - return 0 - end - - after_inventory_change(pos) - return count - end, - on_timer = run_autocrafter, - digiline = { - receptor = {}, - effector = { - action = function(pos,node,channel,msg) - local meta = minetest.get_meta(pos) - if channel ~= meta:get_string("channel") then return end - if type(msg) == "table" then - if #msg < 3 then return end - local inv = meta:get_inventory() - for y=0,2,1 do - for x=1,3,1 do - local slot = y*3+x - if minetest.registered_items[msg[y+1][x]] then - inv:set_stack("recipe",slot,ItemStack(msg[y+1][x])) - else - inv:set_stack("recipe",slot,ItemStack("")) - end - end - end - after_recipe_change(pos,inv) - elseif msg == "off" then - update_meta(meta, false) - minetest.get_node_timer(pos):stop() - elseif msg == "on" then - if update_meta(meta, true) then - start_crafter(pos) - end - elseif msg == "single" then - run_autocrafter(pos,1) - end - end, - }, - }, -}) - -minetest.register_craft( { - output = "pipeworks:autocrafter 2", - recipe = { - { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }, - { "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" }, - { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" } - }, -}) diff --git a/mods/pipeworks/autoplace_pipes.lua b/mods/pipeworks/autoplace_pipes.lua deleted file mode 100755 index 4fc3665b..00000000 --- a/mods/pipeworks/autoplace_pipes.lua +++ /dev/null @@ -1,200 +0,0 @@ --- autorouting for pipes -local tube_table = {[0] = 1, 2, 2, 4, 2, 4, 4, 5, 2, 3, 4, 6, 4, 6, 5, 7, 2, 4, 3, 6, 4, 5, 6, 7, 4, 6, 6, 8, 5, 7, 7, 9, 2, 4, 4, 5, 3, 6, 6, 7, 4, 6, 5, 7, 6, 8, 7, 9, 4, 5, 6, 7, 6, 7, 8, 9, 5, 7, 7, 9, 7, 9, 9, 10} -local tube_table_facedirs = {[0] = 0, 0, 5, 0, 3, 4, 3, 0, 2, 0, 2, 0, 6, 4, 3, 0, 7, 12, 5, 12, 7, 4, 5, 5, 18, 20, 16, 0, 7, 4, 7, 0, 1, 8, 1, 1, 1, 13, 1, 1, 10, 8, 2, 2, 17, 4, 3, 6, 9, 9, 9, 9, 21, 13, 1, 1, 10, 10, 11, 2, 19, 4, 3, 0} -local function autoroute_pipes(pos) - local nctr = minetest.get_node(pos) - local state = "_empty" - if (string.find(nctr.name, "pipeworks:pipe_") == nil) then return end - if (string.find(nctr.name, "_loaded") ~= nil) then state = "_loaded" end - local nsurround = pipeworks.scan_pipe_surroundings(pos) - - if nsurround == 0 then nsurround = 9 end - minetest.swap_node(pos, {name = "pipeworks:pipe_"..tube_table[nsurround]..state, - param2 = tube_table_facedirs[nsurround]}) -end - -function pipeworks.scan_for_pipe_objects(pos) - autoroute_pipes({ x=pos.x-1, y=pos.y , z=pos.z }) - autoroute_pipes({ x=pos.x+1, y=pos.y , z=pos.z }) - autoroute_pipes({ x=pos.x , y=pos.y-1, z=pos.z }) - autoroute_pipes({ x=pos.x , y=pos.y+1, z=pos.z }) - autoroute_pipes({ x=pos.x , y=pos.y , z=pos.z-1 }) - autoroute_pipes({ x=pos.x , y=pos.y , z=pos.z+1 }) - autoroute_pipes(pos) -end - --- auto-rotation code for various devices the tubes attach to - -function pipeworks.scan_pipe_surroundings(pos) - local pxm=0 - local pxp=0 - local pym=0 - local pyp=0 - local pzm=0 - local pzp=0 - - local nxm = minetest.get_node({ x=pos.x-1, y=pos.y , z=pos.z }) - local nxp = minetest.get_node({ x=pos.x+1, y=pos.y , z=pos.z }) - local nym = minetest.get_node({ x=pos.x , y=pos.y-1, z=pos.z }) - local nyp = minetest.get_node({ x=pos.x , y=pos.y+1, z=pos.z }) - local nzm = minetest.get_node({ x=pos.x , y=pos.y , z=pos.z-1 }) - local nzp = minetest.get_node({ x=pos.x , y=pos.y , z=pos.z+1 }) - - if (string.find(nxm.name, "pipeworks:pipe_") ~= nil) then pxm=1 end - if (string.find(nxp.name, "pipeworks:pipe_") ~= nil) then pxp=1 end - if (string.find(nym.name, "pipeworks:pipe_") ~= nil) then pym=1 end - if (string.find(nyp.name, "pipeworks:pipe_") ~= nil) then pyp=1 end - if (string.find(nzm.name, "pipeworks:pipe_") ~= nil) then pzm=1 end - if (string.find(nzp.name, "pipeworks:pipe_") ~= nil) then pzp=1 end - --- Special handling for valves... - - if (string.find(nxm.name, "pipeworks:valve") ~= nil) - and (nxm.param2 == 0 or nxm.param2 == 2) then - pxm=1 - end - - if (string.find(nxp.name, "pipeworks:valve") ~= nil) - and (nxp.param2 == 0 or nxp.param2 == 2) then - pxp=1 - end - - if (string.find(nzm.name, "pipeworks:valve") ~= nil) - and (nzm.param2 == 1 or nzm.param2 == 3) then - pzm=1 - end - - if (string.find(nzp.name, "pipeworks:valve") ~= nil) - and (nzp.param2 == 1 or nzp.param2 == 3) then - pzp=1 - end - --- ...flow sensors... - - if (string.find(nxm.name, "pipeworks:flow_sensor") ~= nil) - and (nxm.param2 == 0 or nxm.param2 == 2) then - pxm=1 - end - - if (string.find(nxp.name, "pipeworks:flow_sensor") ~= nil) - and (nxp.param2 == 0 or nxp.param2 == 2) then - pxp=1 - end - - if (string.find(nzm.name, "pipeworks:flow_sensor") ~= nil) - and (nzm.param2 == 1 or nzm.param2 == 3) then - pzm=1 - end - - if (string.find(nzp.name, "pipeworks:flow_sensor") ~= nil) - and (nzp.param2 == 1 or nzp.param2 == 3) then - pzp=1 - end - --- ...spigots... - - if (string.find(nxm.name, "pipeworks:spigot") ~= nil) - and nxm.param2 == 1 then - pxm=1 - end - - if (string.find(nxp.name, "pipeworks:spigot") ~= nil) - and nxp.param2 == 3 then - pxp=1 - end - - if (string.find(nzm.name, "pipeworks:spigot") ~= nil) - and nzm.param2 == 0 then - pzm=1 - end - - if (string.find(nzp.name, "pipeworks:spigot") ~= nil) - and nzp.param2 == 2 then - pzp=1 - end - --- ...sealed pipe entry/exit... - - if (string.find(nxm.name, "pipeworks:entry_panel") ~= nil) - and (nxm.param2 == 1 or nxm.param2 == 3) then - pxm=1 - end - - if (string.find(nxp.name, "pipeworks:entry_panel") ~= nil) - and (nxp.param2 == 1 or nxp.param2 == 3) then - pxp=1 - end - - if (string.find(nzm.name, "pipeworks:entry_panel") ~= nil) - and (nzm.param2 == 0 or nzm.param2 == 2) then - pzm=1 - end - - if (string.find(nzp.name, "pipeworks:entry_panel") ~= nil) - and (nzp.param2 == 0 or nzp.param2 == 2) then - pzp=1 - end - - if (string.find(nym.name, "pipeworks:entry_panel") ~= nil) - and nym.param2 == 13 then - pym=1 - end - - if (string.find(nyp.name, "pipeworks:entry_panel") ~= nil) - and nyp.param2 == 13 then - pyp=1 - end - - --- ...pumps, grates... - - if (string.find(nym.name, "pipeworks:grating") ~= nil) or - (string.find(nym.name, "pipeworks:pump") ~= nil) then - pym=1 - end - --- ...fountainheads... - - if (string.find(nyp.name, "pipeworks:fountainhead") ~= nil) then - pyp=1 - end - --- ... and storage tanks. - - if (string.find(nym.name, "pipeworks:storage_tank_") ~= nil) then - pym=1 - end - - if (string.find(nyp.name, "pipeworks:storage_tank_") ~= nil) then - pyp=1 - end - --- ...extra devices specified via the function's parameters --- ...except that this part is not implemented yet --- --- xxx = nxm, nxp, nym, nyp, nzm, or nzp depending on the direction to check --- yyy = pxm, pxp, pym, pyp, pzm, or pzp accordingly. --- --- if string.find(xxx.name, "modname:nodename") ~= nil then --- yyy = 1 --- end --- --- for example: --- --- if string.find(nym.name, "aero:outlet") ~= nil then --- pym = 1 --- end --- - - return pxm+8*pxp+2*pym+16*pyp+4*pzm+32*pzp -end - -function pipeworks.look_for_stackable_tanks(pos) - local tym = minetest.get_node({ x=pos.x , y=pos.y-1, z=pos.z }) - - if string.find(tym.name, "pipeworks:storage_tank_") ~= nil or - string.find(tym.name, "pipeworks:expansion_tank_") ~= nil then - minetest.add_node(pos, { name = "pipeworks:expansion_tank_0", param2 = tym.param2}) - end -end - diff --git a/mods/pipeworks/autoplace_tubes.lua b/mods/pipeworks/autoplace_tubes.lua deleted file mode 100755 index 280bd600..00000000 --- a/mods/pipeworks/autoplace_tubes.lua +++ /dev/null @@ -1,122 +0,0 @@ --- autorouting for pneumatic tubes - -local function is_tube(nodename) - return table.contains(pipeworks.tubenodes, nodename) -end - ---a function for determining which side of the node we are on -local function nodeside(node, tubedir) - if node.param2 < 0 or node.param2 > 23 then - node.param2 = 0 - end - - local backdir = minetest.facedir_to_dir(node.param2) - local back = vector.dot(backdir, tubedir) - if back == 1 then - return "back" - elseif back == -1 then - return "front" - end - - local topdir = minetest.facedir_to_top_dir(node.param2) - local top = vector.dot(topdir, tubedir) - if top == 1 then - return "top" - elseif top == -1 then - return "bottom" - end - - local rightdir = minetest.facedir_to_right_dir(node.param2) - local right = vector.dot(rightdir, tubedir) - if right == 1 then - return "right" - else - return "left" - end -end - -local vts = {0, 3, 1, 4, 2, 5} -local tube_table = {[0] = 1, 2, 2, 4, 2, 4, 4, 5, 2, 3, 4, 6, 4, 6, 5, 7, 2, 4, 3, 6, 4, 5, 6, 7, 4, 6, 6, 8, 5, 7, 7, 9, 2, 4, 4, 5, 3, 6, 6, 7, 4, 6, 5, 7, 6, 8, 7, 9, 4, 5, 6, 7, 6, 7, 8, 9, 5, 7, 7, 9, 7, 9, 9, 10} -local tube_table_facedirs = {[0] = 0, 0, 5, 0, 3, 4, 3, 0, 2, 0, 2, 0, 6, 4, 3, 0, 7, 12, 5, 12, 7, 4, 5, 5, 18, 20, 16, 0, 7, 4, 7, 0, 1, 8, 1, 1, 1, 13, 1, 1, 10, 8, 2, 2, 17, 4, 3, 6, 9, 9, 9, 9, 21, 13, 1, 1, 10, 10, 11, 2, 19, 4, 3, 0} -local function tube_autoroute(pos) - local active = {0, 0, 0, 0, 0, 0} - local nctr = minetest.get_node(pos) - if not is_tube(nctr.name) then return end - - local adjustments = { - {x = -1, y = 0, z = 0}, - {x = 1, y = 0, z = 0}, - {x = 0, y = -1, z = 0}, - {x = 0, y = 1, z = 0}, - {x = 0, y = 0, z = -1}, - {x = 0, y = 0, z = 1} - } - -- xm = 1, xp = 2, ym = 3, yp = 4, zm = 5, zp = 6 - - local positions = {} - local nodes = {} - for i, adj in ipairs(adjustments) do - positions[i] = vector.add(pos, adj) - nodes[i] = minetest.get_node(positions[i]) - end - - for i, node in ipairs(nodes) do - local idef = minetest.registered_nodes[node.name] - -- handle the tubes themselves - if is_tube(node.name) then - active[i] = 1 - -- handle new style connectors - elseif idef and idef.tube and idef.tube.connect_sides then - local dir = adjustments[i] - if idef.tube.connect_sides[nodeside(node, vector.multiply(dir, -1))] then - active[i] = 1 - end - end - end - - -- all sides checked, now figure which tube to use. - - local nodedef = minetest.registered_nodes[nctr.name] - local basename = nodedef.basename - if nodedef.style == "old" then - local nsurround = "" - for i, n in ipairs(active) do - nsurround = nsurround..n - end - nctr.name = basename.."_"..nsurround - elseif nodedef.style == "6d" then - local s = 0 - for i, n in ipairs(active) do - if n == 1 then - s = s + 2^vts[i] - end - end - nctr.name = basename.."_"..tube_table[s] - nctr.param2 = tube_table_facedirs[s] - end - minetest.swap_node(pos, nctr) -end - -function pipeworks.scan_for_tube_objects(pos) - for side = 0, 6 do - tube_autoroute(vector.add(pos, directions.side_to_dir(side))) - end -end - -function pipeworks.after_place(pos) - pipeworks.scan_for_tube_objects(pos) -end - -function pipeworks.after_dig(pos) - pipeworks.scan_for_tube_objects(pos) -end - -if minetest.get_modpath("mesecons_mvps") then - mesecon.register_on_mvps_move(function(moved_nodes) - for _, n in ipairs(moved_nodes) do - pipeworks.scan_for_tube_objects(n.pos) - pipeworks.scan_for_tube_objects(n.oldpos) - end - end) -end - diff --git a/mods/pipeworks/changelog.txt b/mods/pipeworks/changelog.txt deleted file mode 100755 index 251df29b..00000000 --- a/mods/pipeworks/changelog.txt +++ /dev/null @@ -1,93 +0,0 @@ -Changelog ---------- - -2013-01-13: Tubes can transport items now! Namely, I added Novatux/Nore's item -transport mod as a default part of this mod, to make tubes do something useful! -Thanks to Nore and RealBadAngel for the code contributions! - -2013-01-05: made storage tanks connect from top/bottom, made storage tank and -pipe textures use the ^ combine operator so they can show the actual liquid -going through the pipes/tanks. - -2013-01-04 (a bit later): Made pipes able to carry water! It was just a minor -logic error resulting from moving the water flowing code into it's own file -when I originally imported it. Many thanks to Mauvebic for writing it! - -2013-01-04: First stage of integrating Mauvebic's water flowing code. This is -experimental and doesn't move water yet - but at least it doesn't break -anything :-) - -2013-01-01: Various minor tweaks to textures, facedir settings, some other -stuff. Changed crafting recipes to account for revamped pumps, valves, etc. -Now requires the moreores mod and most recent git (for mese crystal fragments) -to craft a pump. Added a "sealed" entry/exit panel (really just a horizontal -pipe with a metal panel overlayed into the middle). Also, tweaked pipes to -always drop the empty ones. Revamped pumps so that now they should sit in/on -liquid and be connected only from the top, relegated grates to decorational- -only, added outlet spigot. Got rid of a few obsolete textures. Got rid of -that whole _x and _z naming thing - now all directional devices (pumps, valves, -spigots, tanks) use facedir. Valves, spigots no longer auto-rotate to find -nearby pipes. - -2012-09-17: Added test object for pneumatic tube autorouting code, made tubes -connect to it and any object that bears groups={tubedevice=1} (connects to any -side) - -2012-09-05: All recipes doubled except for junglegrass -> plastic sheet (since -that is derived from home decor) - -2012-09-02: Fixed plastic sheeting recipe. Added crafting recipes for various -objects, with options: If homedecor is installed, use the plastic sheeting -therein. If not, we define it manually. If the Technic mod is installed, -don't define any recipes at all. Also removed the extra "loaded!" messages and -tweaked the default pipe alias to point to something that is actually visible -:-) - -2012-09-01: flattened wielded pipe segment. - -2012-08-24: Added square-ish pneumatic tubes with their own autoplace code -(does not connect to steel pipes or pipe-oriented devices), then revised their -textures shortly after. Fixed a recursion bug that sometimes caused a stack -overflow. Old pipes were overriding the pipeworks:pipe defintion that belongs -with the new pipes. - -2012-08-22: Added outlet grate, made it participate in autoplace algorithm. -Extended storage tank to show fill level in 10% steps (0% to 100%). Added -"expansion tank" that appears if the user stacks tanks upwards. (Downwards is -not checked). - -2012-08-21: Made storage tank participate in autoplace algorithm. Tuned API a -little to allow for more flexible placement. Re-organized code a bit to allow -for some upcoming rules changes. Made storage tanks' upper/lower fittins and -intake grate participate in autoplace algorithm. - -2012-08-20: Added temporary nodes for storage tank and intake grating, but -without autoplace. - -2012-08-19: Pumps and valves now fully participate in the -auto-rotate/auto-place algorithm. - -2012-08-18: Total rewrite again. All pipes are now nice and round-looking, and -they auto-connect! Also added temporary nodes for pump and valve (each with an -on/off setting - punch to change). No crafting recipes yet and the pipes still -don't do anything useful yet. Soon. - -2012-08-06: Moved this changelog off the forum post and into a separate file. - -2012-08-05 (multiple updates): Rewrote pipeworks to use loops and tables to -create the nodes. Requires far less code now. Added -X, +X, -Y, +Y, -Z, +Z -capped stubs and a short centered horizontal segment. Changed node definitions -so that the aforementioned "short centered" segment is given on dig/drop. -Renamed it to just "pipeworks:pipe" (and pipe_loaded). Added empty/loaded -indicator images to the capped ends, removed some redundant comments. Made the -empty/loaded indication at the capped end more prominent. - -2012-07-21: Added screenshot showing pipes as they look now that nodebox -texture rotation is fixed. - -2012-07-18: Changed the mod name and all internals to 'pipeworks' instead of -'pipes'... after a couple of mistakes :-) - -2012-07-12: moved project to github. - -2012-06-23: Initial release, followed by reworking the textures a bit. diff --git a/mods/pipeworks/common.lua b/mods/pipeworks/common.lua deleted file mode 100755 index 1ee734fc..00000000 --- a/mods/pipeworks/common.lua +++ /dev/null @@ -1,157 +0,0 @@ ----------------------- --- Vector functions -- ----------------------- - -function vector.cross(a, b) - return { - x = a.y * b.z - a.z * b.y, - y = a.z * b.x - a.x * b.z, - z = a.x * b.y - a.y * b.x - } -end - -function vector.dot(a, b) - return a.x * b.x + a.y * b.y + a.z * b.z -end - ------------------------ --- Facedir functions -- ------------------------ - -function minetest.facedir_to_top_dir(facedir) - return ({[0] = {x = 0, y = 1, z = 0}, - {x = 0, y = 0, z = 1}, - {x = 0, y = 0, z = -1}, - {x = 1, y = 0, z = 0}, - {x = -1, y = 0, z = 0}, - {x = 0, y = -1, z = 0}}) - [math.floor(facedir / 4)] -end - -function minetest.facedir_to_right_dir(facedir) - return vector.cross( - minetest.facedir_to_top_dir(facedir), - minetest.facedir_to_dir(facedir) - ) -end - -directions = {} -function directions.side_to_dir(side) - return ({[0] = vector.new(), - vector.new( 0, 1, 0), - vector.new( 0, -1, 0), - vector.new( 1, 0, 0), - vector.new(-1, 0, 0), - vector.new( 0, 0, 1), - vector.new( 0, 0, -1) - })[side] -end - -function directions.dir_to_side(dir) - local c = vector.dot(dir, vector.new(1, 2, 3)) + 4 - return ({6, 2, 4, 0, 3, 1, 5})[c] -end - ----------------------- --- String functions -- ----------------------- - ---[[function string.split(str, sep) - local fields = {} - local index = 1 - local expr = "([^"..sep.."])+" - string.gsub(str, expr, function(substring) - fields[index] = substring - index = index + 1 - end) - return fields -end]] - -function string.startswith(str, substr) - return str:sub(1, substr:len()) == substr -end - ---------------------- --- Table functions -- ---------------------- - -function table.contains(tbl, element) - for _, elt in pairs(tbl) do - if elt == element then - return true - end - end - return false -end - -function table.extend(tbl, tbl2) - local index = #tbl + 1 - for _, elt in ipairs(tbl2) do - tbl[index] = elt - index = index + 1 - end -end - -function table.recursive_replace(tbl, pattern, replace_with) - if type(tbl) == "table" then - local tbl2 = {} - for key, value in pairs(tbl) do - tbl2[key] = table.recursive_replace(value, pattern, replace_with) - end - return tbl2 - elseif type(tbl) == "string" then - return tbl:gsub(pattern, replace_with) - else - return tbl - end -end - ------------------------- --- Formspec functions -- ------------------------- - -fs_helpers = {} -function fs_helpers.on_receive_fields(pos, fields) - local meta = minetest.get_meta(pos) - for field, value in pairs(fields) do - if field:startswith("fs_helpers_cycling:") then - local l = field:split(":") - local new_value = tonumber(l[2]) - local meta_name = l[3] - meta:set_int(meta_name, new_value) - end - end -end - -function fs_helpers.cycling_button(meta, base, meta_name, values) - local current_value = meta:get_int(meta_name) - local new_value = (current_value + 1) % (#values) - local val = values[current_value + 1] - local text - local texture_name = nil - local addopts = nil - --when we get a table, we know the caller wants an image_button - if type(val) == "table" then - text = val["text"] - texture_name = val["texture"] - addopts = val["addopts"] - else - text = val - end - local field = "fs_helpers_cycling:"..new_value..":"..meta_name - return base..";"..(texture_name and texture_name..";" or "")..field..";"..minetest.formspec_escape(text)..(addopts and ";"..addopts or "").."]" -end - ---------- --- Env -- ---------- - -function minetest.load_position(pos) - if pos.x < -30912 or pos.y < -30912 or pos.z < -30912 or - pos.x > 30927 or pos.y > 30927 or pos.z > 30927 then return end - if minetest.get_node_or_nil(pos) then - return - end - local vm = minetest.get_voxel_manip() - vm:read_from_map(pos, pos) -end diff --git a/mods/pipeworks/compat.lua b/mods/pipeworks/compat.lua deleted file mode 100755 index 9c956e6d..00000000 --- a/mods/pipeworks/compat.lua +++ /dev/null @@ -1,153 +0,0 @@ --- this bit of code modifies the default chests and furnaces to be compatible --- with pipeworks. - -minetest.override_item("default:furnace", { - tiles = { - "default_furnace_top.png^pipeworks_tube_connection_stony.png", - "default_furnace_bottom.png^pipeworks_tube_connection_stony.png", - "default_furnace_side.png^pipeworks_tube_connection_stony.png", - "default_furnace_side.png^pipeworks_tube_connection_stony.png", - "default_furnace_side.png^pipeworks_tube_connection_stony.png", - "default_furnace_front.png" - }, - groups = {cracky = 2, tubedevice = 1, tubedevice_receiver = 1}, - tube = { - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local timer = minetest.get_node_timer(pos) - if not timer:is_started() then - timer:start(1.0) - end - if direction.y == 1 then - return inv:add_item("fuel",stack) - else - return inv:add_item("src",stack) - end - end, - can_insert = function(pos,node,stack,direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - if direction.y == 1 then - return inv:room_for_item("fuel", stack) - else - return inv:room_for_item("src", stack) - end - end, - input_inventory = "dst", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig -}) - -minetest.override_item("default:furnace_active", { - tiles = { - "default_furnace_top.png^pipeworks_tube_connection_stony.png", - "default_furnace_bottom.png^pipeworks_tube_connection_stony.png", - "default_furnace_side.png^pipeworks_tube_connection_stony.png", - "default_furnace_side.png^pipeworks_tube_connection_stony.png", - "default_furnace_side.png^pipeworks_tube_connection_stony.png", - { - image = "default_furnace_front_active.png", - backface_culling = false, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1.5 - }, - } - }, - groups = {cracky = 2, tubedevice = 1, tubedevice_receiver = 1, not_in_creative_inventory = 1}, - tube = { - insert_object = function(pos,node,stack,direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local timer = minetest.get_node_timer(pos) - if not timer:is_started() then - timer:start(1.0) - end - if direction.y == 1 then - return inv:add_item("fuel", stack) - else - return inv:add_item("src", stack) - end - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - if direction.y == 1 then - return inv:room_for_item("fuel", stack) - else - return inv:room_for_item("src", stack) - end - end, - input_inventory = "dst", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig -}) - -minetest.override_item("default:chest", { - tiles = { - "default_chest_top.png^pipeworks_tube_connection_wooden.png", - "default_chest_top.png^pipeworks_tube_connection_wooden.png", - "default_chest_side.png^pipeworks_tube_connection_wooden.png", - "default_chest_side.png^pipeworks_tube_connection_wooden.png", - "default_chest_side.png^pipeworks_tube_connection_wooden.png", - "default_chest_front.png" - }, - groups = {choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, tubedevice_receiver = 1}, - tube = { - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:add_item("main", stack) - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("main", stack) - end, - input_inventory = "main", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig -}) - -minetest.override_item("default:chest_locked", { - tiles = { - "default_chest_top.png^pipeworks_tube_connection_wooden.png", - "default_chest_top.png^pipeworks_tube_connection_wooden.png", - "default_chest_side.png^pipeworks_tube_connection_wooden.png", - "default_chest_side.png^pipeworks_tube_connection_wooden.png", - "default_chest_side.png^pipeworks_tube_connection_wooden.png", - "default_chest_lock.png" - }, - groups = {choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1, tubedevice_receiver = 1}, - tube = { - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:add_item("main", stack) - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("main", stack) - end, - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - after_place_node = function (pos, placer) - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name() or "") - meta:set_string("infotext", "Locked Chest (owned by ".. - meta:get_string("owner")..")") - pipeworks.after_place(pos) - end, - after_dig_node = pipeworks.after_dig -}) - diff --git a/mods/pipeworks/crafts.lua b/mods/pipeworks/crafts.lua deleted file mode 100755 index 63a04b73..00000000 --- a/mods/pipeworks/crafts.lua +++ /dev/null @@ -1,151 +0,0 @@ --- Crafting recipes for pipes - -minetest.register_craft( { - output = "pipeworks:pipe_1_empty 12", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, - { "", "", "" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "pipeworks:spigot 3", - recipe = { - { "pipeworks:pipe_1_empty", "" }, - { "", "pipeworks:pipe_1_empty" }, - }, -}) - -minetest.register_craft( { - output = "pipeworks:entry_panel_empty 2", - recipe = { - { "", "default:steel_ingot", "" }, - { "", "pipeworks:pipe_1_empty", "" }, - { "", "default:steel_ingot", "" }, - }, -}) - --- Various ancillary pipe devices - -minetest.register_craft( { - output = "pipeworks:pump_off 2", - recipe = { - { "default:stone", "default:steel_ingot", "default:stone" }, - { "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "pipeworks:valve_off_empty 2", - recipe = { - { "", "group:stick", "" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, - { "", "default:steel_ingot", "" } - }, -}) - -minetest.register_craft( { - output = "pipeworks:storage_tank_0 2", - recipe = { - { "", "default:steel_ingot", "default:steel_ingot" }, - { "default:steel_ingot", "default:glass", "default:steel_ingot" }, - { "default:steel_ingot", "default:steel_ingot", "" } - }, -}) - -minetest.register_craft( { - output = "pipeworks:grating 2", - recipe = { - { "default:steel_ingot", "", "default:steel_ingot" }, - { "", "pipeworks:pipe_1_empty", "" }, - { "default:steel_ingot", "", "default:steel_ingot" } - }, -}) - -minetest.register_craft( { - output = "pipeworks:flow_sensor_empty 2", - recipe = { - { "pipeworks:pipe_1_empty", "mesecons:mesecon", "pipeworks:pipe_1_empty" }, - }, -}) - -minetest.register_craft( { - output = "pipeworks:fountainhead 2", - recipe = { - { "pipeworks:pipe_1_empty" }, - { "pipeworks:pipe_1_empty" } - }, -}) - - --- Crafting recipes for pneumatic tubes - --- If homedecor is not installed, we need to register its crafting chain for --- plastic sheeting so that pipeworks remains compatible with it. - -if minetest.get_modpath("homedecor") == nil then - - minetest.register_craftitem(":homedecor:oil_extract", { - description = "Oil extract", - inventory_image = "homedecor_oil_extract.png", - }) - - minetest.register_craftitem(":homedecor:paraffin", { - description = "Unprocessed paraffin", - inventory_image = "homedecor_paraffin.png", - }) - - minetest.register_alias("homedecor:plastic_base", "homedecor:paraffin") - - minetest.register_craftitem(":homedecor:plastic_sheeting", { - description = "Plastic sheet", - inventory_image = "homedecor_plastic_sheeting.png", - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:oil_extract 4", - recipe = { - "group:leaves", - "group:leaves", - "group:leaves", - "group:leaves", - "group:leaves", - "group:leaves" - } - }) - - minetest.register_craft({ - type = "cooking", - output = "homedecor:paraffin", - recipe = "homedecor:oil_extract", - }) - - minetest.register_craft({ - type = "cooking", - output = "homedecor:plastic_sheeting", - recipe = "homedecor:paraffin", - }) - - minetest.register_craft({ - type = "fuel", - recipe = "homedecor:oil_extract", - burntime = 30, - }) - - minetest.register_craft({ - type = "fuel", - recipe = "homedecor:paraffin", - burntime = 30, - }) - - minetest.register_craft({ - type = "fuel", - recipe = "homedecor:plastic_sheeting", - burntime = 30, - }) -end - - diff --git a/mods/pipeworks/decorative_tubes.lua b/mods/pipeworks/decorative_tubes.lua deleted file mode 100755 index 39ba8f39..00000000 --- a/mods/pipeworks/decorative_tubes.lua +++ /dev/null @@ -1,83 +0,0 @@ -local straight = function(pos, node, velocity, stack) return {velocity} end - -minetest.register_node("pipeworks:steel_block_embedded_tube", { - description = "Airtight steelblock embedded tube", - tiles = { - "default_steel_block.png", "default_steel_block.png", - "default_steel_block.png", "default_steel_block.png", - "default_steel_block.png^pipeworks_tube_connection_metallic.png", - "default_steel_block.png^pipeworks_tube_connection_metallic.png", - }, - paramtype = "light", - paramtype2 = "facedir", - groups = {cracky=1, oddly_breakable_by_hand = 1, tubedevice = 1}, - legacy_facedir_simple = true, - sounds = default.node_sound_stone_defaults(), - tube = { - connect_sides = {front = 1, back = 1,}, - priority = 50, - can_go = straight, - can_insert = function(pos, node, stack, direction) - local dir = minetest.facedir_to_dir(node.param2) - return vector.equals(dir, direction) or vector.equals(vector.multiply(dir, -1), direction) - end, - }, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig, -}) - -minetest.register_craft( { - output = "pipeworks:steel_block_embedded_tube 1", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, - { "default:steel_ingot", "pipeworks:tube_1", "default:steel_ingot" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } - }, -}) - -local pane_box = { - type = "fixed", - fixed = { - { -9/64, -9/64, -8/16, 9/64, 9/64, 8/16 }, -- tube - { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } -- pane - } -} -minetest.register_node("pipeworks:steel_pane_embedded_tube", { - drawtype = "nodebox", - description = "Airtight panel embedded tube ", - tiles = { - "pipeworks_pane_embedded_tube_sides.png^[transformR90", - "pipeworks_pane_embedded_tube_sides.png^[transformR90", - "pipeworks_pane_embedded_tube_sides.png", - "pipeworks_pane_embedded_tube_sides.png", - "pipeworks_pane_embedded_tube_ends.png", "pipeworks_pane_embedded_tube_ends.png", - }, - node_box = pane_box, - selection_box = pane_box, - collision_box = pane_box, - paramtype = "light", - paramtype2 = "facedir", - groups = {cracky=1, oddly_breakable_by_hand = 1, tubedevice = 1}, - legacy_facedir_simple = true, - sounds = default.node_sound_stone_defaults(), - tube = { - connect_sides = {front = 1, back = 1,}, - priority = 50, - can_go = straight, - can_insert = function(pos, node, stack, direction) - local dir = minetest.facedir_to_dir(node.param2) - return vector.equals(dir, direction) or vector.equals(vector.multiply(dir, -1), direction) - end, - }, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig, -}) - -minetest.register_craft( { - output = "pipeworks:steel_pane_embedded_tube 1", - recipe = { - { "", "default:steel_ingot", "" }, - { "", "pipeworks:tube_1", "" }, - { "", "default:steel_ingot", "" } - }, -}) diff --git a/mods/pipeworks/default_settings.txt b/mods/pipeworks/default_settings.txt deleted file mode 100755 index 41a3f7ac..00000000 --- a/mods/pipeworks/default_settings.txt +++ /dev/null @@ -1,23 +0,0 @@ --- Various settings - -pipeworks.enable_pipes = true -pipeworks.enable_autocrafter = true -pipeworks.enable_deployer = true -pipeworks.enable_dispenser = true -pipeworks.enable_node_breaker = true -pipeworks.enable_teleport_tube = true -pipeworks.enable_pipe_devices = true -pipeworks.enable_redefines = true -pipeworks.enable_mese_tube = true -pipeworks.enable_detector_tube = true -pipeworks.enable_digiline_detector_tube = true -pipeworks.enable_conductor_tube = true -pipeworks.enable_accelerator_tube = true -pipeworks.enable_crossing_tube = true -pipeworks.enable_sand_tube = true -pipeworks.enable_mese_sand_tube = true -pipeworks.enable_one_way_tube = true -pipeworks.enable_priority_tube = true -pipeworks.enable_cyclic_mode = true - -pipeworks.delete_item_on_clearobject = true diff --git a/mods/pipeworks/depends.txt b/mods/pipeworks/depends.txt deleted file mode 100755 index dff9dfbb..00000000 --- a/mods/pipeworks/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -mesecons? -mesecons_mvps? -digilines? diff --git a/mods/pipeworks/description.txt b/mods/pipeworks/description.txt deleted file mode 100644 index 9e6e8009..00000000 --- a/mods/pipeworks/description.txt +++ /dev/null @@ -1 +0,0 @@ -This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, along devices that work with them. diff --git a/mods/pipeworks/devices.lua b/mods/pipeworks/devices.lua deleted file mode 100755 index f7f6f45b..00000000 --- a/mods/pipeworks/devices.lua +++ /dev/null @@ -1,574 +0,0 @@ --- List of devices that should participate in the autoplace algorithm - -local pipereceptor_on = nil -local pipereceptor_off = nil - -if minetest.get_modpath("mesecons") then - pipereceptor_on = { - receptor = { - state = mesecon.state.on, - rules = pipeworks.mesecons_rules - } - } - - pipereceptor_off = { - receptor = { - state = mesecon.state.off, - rules = pipeworks.mesecons_rules - } - } -end - -local pipes_devicelist = { - "pump", - "valve", - "storage_tank_0", - "storage_tank_1", - "storage_tank_2", - "storage_tank_3", - "storage_tank_4", - "storage_tank_5", - "storage_tank_6", - "storage_tank_7", - "storage_tank_8", - "storage_tank_9", - "storage_tank_10" -} - -local rules = pipeworks.mesecons_rules -- Enough with the undefined global variable // MFF (Mg|01/07/2016 for #68) - --- Now define the nodes. - -local states = { "on", "off" } -local dgroups = "" - -for s in ipairs(states) do - - if states[s] == "off" then - dgroups = {snappy=3, pipe=1} - else - dgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} - end - - minetest.register_node("pipeworks:pump_"..states[s], { - description = "Pump/Intake Module", - drawtype = "mesh", - mesh = "pipeworks_pump.obj", - tiles = { "pipeworks_pump_"..states[s]..".png" }, - paramtype = "light", - paramtype2 = "facedir", - groups = dgroups, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - drop = "pipeworks:pump_off", - mesecons = {effector = { - action_on = function (pos, node) - minetest.add_node(pos,{name="pipeworks:pump_on", param2 = node.param2}) - end, - action_off = function (pos, node) - minetest.add_node(pos,{name="pipeworks:pump_off", param2 = node.param2}) - end - }}, - on_punch = function(pos, node, puncher) - local fdir = minetest.get_node(pos).param2 - minetest.add_node(pos, { name = "pipeworks:pump_"..states[3-s], param2 = fdir }) - end - }) - - minetest.register_node("pipeworks:valve_"..states[s].."_empty", { - description = "Valve", - drawtype = "mesh", - mesh = "pipeworks_valve_"..states[s]..".obj", - tiles = { "pipeworks_valve.png" }, - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - selection_box = { - type = "fixed", - fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } - }, - collision_box = { - type = "fixed", - fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } - }, - groups = dgroups, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - drop = "pipeworks:valve_off_empty", - mesecons = {effector = { - action_on = function (pos, node) - minetest.add_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2}) - end, - action_off = function (pos, node) - minetest.add_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2}) - end - }}, - on_punch = function(pos, node, puncher) - local fdir = minetest.get_node(pos).param2 - minetest.add_node(pos, { name = "pipeworks:valve_"..states[3-s].."_empty", param2 = fdir }) - end - }) -end - -minetest.register_node("pipeworks:valve_on_loaded", { - description = "Valve", - drawtype = "mesh", - mesh = "pipeworks_valve_on.obj", - tiles = { "pipeworks_valve.png" }, - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - selection_box = { - type = "fixed", - fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } - }, - collision_box = { - type = "fixed", - fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } - }, - groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - drop = "pipeworks:valve_off_empty", - mesecons = {effector = { - action_on = function (pos, node) - minetest.add_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2}) - end, - action_off = function (pos, node) - minetest.add_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2}) - end - }}, - on_punch = function(pos, node, puncher) - local fdir = minetest.get_node(pos).param2 - minetest.add_node(pos, { name = "pipeworks:valve_off_empty", param2 = fdir }) - end -}) - --- grating - -minetest.register_node("pipeworks:grating", { - description = "Decorative grating", - tiles = { - "pipeworks_grating_top.png", - "pipeworks_grating_sides.png", - "pipeworks_grating_sides.png", - "pipeworks_grating_sides.png", - "pipeworks_grating_sides.png", - "pipeworks_grating_sides.png" - }, - sunlight_propagates = true, - paramtype = "light", - groups = {snappy=3, pipe=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, -}) - --- outlet spigot - -minetest.register_node("pipeworks:spigot", { - description = "Spigot outlet", - drawtype = "mesh", - mesh = "pipeworks_spigot.obj", - tiles = { "pipeworks_spigot.png" }, - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, pipe=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - selection_box = { - type = "fixed", - fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } - }, - collision_box = { - type = "fixed", - fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } - } -}) - -minetest.register_node("pipeworks:spigot_pouring", { - description = "Spigot outlet", - drawtype = "mesh", - mesh = "pipeworks_spigot_pouring.obj", - tiles = { - { - name = "default_water_flowing_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 0.8, - }, - }, - { name = "pipeworks_spigot.png" } - }, - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - selection_box = { - type = "fixed", - fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } - }, - collision_box = { - type = "fixed", - fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } - }, - drop = "pipeworks:spigot", -}) - --- sealed pipe entry/exit (horizontal pipe passing through a metal --- wall, for use in places where walls should look like they're airtight) - -local panel_cbox = { - type = "fixed", - fixed = { - { -2/16, -2/16, -8/16, 2/16, 2/16, 8/16 }, - { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } - } -} - -minetest.register_node("pipeworks:entry_panel_empty", { - description = "Airtight Pipe entry/exit", - drawtype = "mesh", - mesh = "pipeworks_entry_panel.obj", - tiles = { "pipeworks_entry_panel.png" }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, pipe=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - selection_box = panel_cbox, - collision_box = panel_cbox, - on_place = function(itemstack, placer, pointed_thing) - local playername = placer:get_player_name() - if not minetest.is_protected(pointed_thing.under, playername) - and not minetest.is_protected(pointed_thing.above, playername) then - local node = minetest.get_node(pointed_thing.under) - - if not minetest.registered_nodes[node.name] - or not minetest.registered_nodes[node.name].on_rightclick then - local pitch = placer:get_look_pitch() - local above = pointed_thing.above - local under = pointed_thing.under - local fdir = minetest.dir_to_facedir(placer:get_look_dir()) - local undernode = minetest.get_node(under) - local abovenode = minetest.get_node(above) - local uname = undernode.name - local aname = abovenode.name - local isabove = (above.x == under.x) and (above.z == under.z) and (pitch > 0) - local pos1 = above - - if above.x == under.x - and above.z == under.z - and ( string.find(uname, "pipeworks:pipe_") - or string.find(uname, "pipeworks:storage_") - or string.find(uname, "pipeworks:expansion_") - or ( string.find(uname, "pipeworks:grating") and not isabove ) - or ( string.find(uname, "pipeworks:pump_") and not isabove ) - or ( string.find(uname, "pipeworks:entry_panel") - and undernode.param2 == 13 ) - ) - then - fdir = 13 - end - - if minetest.registered_nodes[uname]["buildable_to"] then - pos1 = under - end - - if not minetest.registered_nodes[minetest.get_node(pos1).name]["buildable_to"] then return end - - minetest.add_node(pos1, {name = "pipeworks:entry_panel_empty", param2 = fdir }) - pipeworks.scan_for_pipe_objects(pos1) - - if not pipeworks.expect_infinite_stacks then - itemstack:take_item() - end - - else - minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) - end - end - return itemstack - end -}) - -minetest.register_node("pipeworks:entry_panel_loaded", { - description = "Airtight Pipe entry/exit", - drawtype = "mesh", - mesh = "pipeworks_entry_panel.obj", - tiles = { "pipeworks_entry_panel.png" }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - selection_box = panel_cbox, - collision_box = panel_cbox, - drop = "pipeworks:entry_panel_empty" -}) - -minetest.register_node("pipeworks:flow_sensor_empty", { - description = "Flow Sensor", - drawtype = "mesh", - mesh = "pipeworks_flow_sensor.obj", - tiles = { "pipeworks_flow_sensor_off.png" }, - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, pipe=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - on_construct = function(pos) - if mesecon then - mesecon.receptor_off(pos, rules) - end - end, - selection_box = { - type = "fixed", - fixed = { - { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, - { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, - } - }, - collision_box = { - type = "fixed", - fixed = { - { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, - { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, - } - }, - mesecons = pipereceptor_off -}) - -minetest.register_node("pipeworks:flow_sensor_loaded", { - description = "Flow sensor (on)", - drawtype = "mesh", - mesh = "pipeworks_flow_sensor.obj", - tiles = { "pipeworks_flow_sensor_on.png" }, - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - on_construct = function(pos) - if mesecon then - mesecon.receptor_on(pos, rules) - end - end, - selection_box = { - type = "fixed", - fixed = { - { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, - { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, - } - }, - collision_box = { - type = "fixed", - fixed = { - { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, - { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, - } - }, - drop = "pipeworks:flow_sensor_empty", - mesecons = pipereceptor_on -}) - --- tanks - -for fill = 0, 10 do - local filldesc="empty" - local sgroups = {snappy=3, pipe=1, tankfill=fill+1} - local image = nil - - if fill ~= 0 then - filldesc=fill.."0% full" - sgroups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1} - image = "pipeworks_storage_tank_fittings.png" - end - - minetest.register_node("pipeworks:expansion_tank_"..fill, { - description = "Expansion Tank ("..filldesc..")... You hacker, you.", - tiles = { - "pipeworks_storage_tank_fittings.png", - "pipeworks_storage_tank_fittings.png", - "pipeworks_storage_tank_back.png", - "pipeworks_storage_tank_back.png", - "pipeworks_storage_tank_back.png", - pipeworks.liquid_texture.."^pipeworks_storage_tank_front_"..fill..".png" - }, - inventory_image = image, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - drop = "pipeworks:storage_tank_0", - after_place_node = function(pos) - pipeworks.look_for_stackable_tanks(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - }) - - minetest.register_node("pipeworks:storage_tank_"..fill, { - description = "Fluid Storage Tank ("..filldesc..")", - tiles = { - "pipeworks_storage_tank_fittings.png", - "pipeworks_storage_tank_fittings.png", - "pipeworks_storage_tank_back.png", - "pipeworks_storage_tank_back.png", - "pipeworks_storage_tank_back.png", - pipeworks.liquid_texture.."^pipeworks_storage_tank_front_"..fill..".png" - }, - inventory_image = image, - paramtype = "light", - paramtype2 = "facedir", - groups = sgroups, - sounds = default.node_sound_wood_defaults(), - walkable = true, - drop = "pipeworks:storage_tank_0", - after_place_node = function(pos) - pipeworks.look_for_stackable_tanks(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - }) -end - --- fountainhead - -minetest.register_node("pipeworks:fountainhead", { - description = "Fountainhead", - drawtype = "mesh", - mesh = "pipeworks_fountainhead.obj", - tiles = { "pipeworks_fountainhead.png" }, - sunlight_propagates = true, - paramtype = "light", - groups = {snappy=3, pipe=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - on_construct = function(pos) - if mesecon then - mesecon.receptor_on(pos, rules) - end - end, - selection_box = { - type = "fixed", - fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } - }, - collision_box = { - type = "fixed", - fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } - }, -}) - -minetest.register_node("pipeworks:fountainhead_pouring", { - description = "Fountainhead", - drawtype = "mesh", - mesh = "pipeworks_fountainhead.obj", - tiles = { "pipeworks_fountainhead.png" }, - sunlight_propagates = true, - paramtype = "light", - groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, - sounds = default.node_sound_wood_defaults(), - walkable = true, - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - on_construct = function(pos) - if mesecon then - mesecon.receptor_on(pos, rules) - end - end, - selection_box = { - type = "fixed", - fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } - }, - collision_box = { - type = "fixed", - fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } - }, - drop = "pipeworks:fountainhead" -}) - -minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty") -minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty") - diff --git a/mods/pipeworks/filter-injector.lua b/mods/pipeworks/filter-injector.lua deleted file mode 100755 index 20fdfe1f..00000000 --- a/mods/pipeworks/filter-injector.lua +++ /dev/null @@ -1,423 +0,0 @@ -local function delay(x) - return (function() return x end) -end - -local function set_filter_infotext(data, meta) - local infotext = data.wise_desc.." Filter-Injector" - if meta:get_int("slotseq_mode") == 2 then - infotext = infotext .. " (slot #"..meta:get_int("slotseq_index").." next)" - end - meta:set_string("infotext", infotext) -end - -local function set_filter_formspec(data, meta) - local itemname = data.wise_desc.." Filter-Injector" - - local formspec - if data.digiline then - formspec = "size[8,2.7]".. - "item_image[0,0;1,1;pipeworks:"..data.name.."]".. - "label[1,0;"..minetest.formspec_escape(itemname).."]".. - "field[0.3,1.5;8.0,1;channel;Channel;${channel}]".. - fs_helpers.cycling_button(meta, "button[0,2;4,1", "slotseq_mode", - {"Sequence slots by Priority", - "Sequence slots Randomly", - "Sequence slots by Rotation"}).. - fs_helpers.cycling_button(meta, "button[4,2;4,1", "exmatch_mode", - {"Exact match - off", - "Exact match - on "}) - else - local exmatch_button = "" - if data.stackwise then - exmatch_button = - fs_helpers.cycling_button(meta, "button[4,3.5;4,1", "exmatch_mode", - {"Exact match - off", - "Exact match - on "}) - end - - formspec = "size[8,8.5]".. - "item_image[0,0;1,1;pipeworks:"..data.name.."]".. - "label[1,0;"..minetest.formspec_escape(itemname).."]".. - "label[0,1;Prefer item types:]".. - "list[context;main;0,1.5;8,2;]".. - fs_helpers.cycling_button(meta, "button[0,3.5;4,1", "slotseq_mode", - {"Sequence slots by Priority", - "Sequence slots Randomly", - "Sequence slots by Rotation"}).. - exmatch_button.. - "list[current_player;main;0,4.5;8,4;]" .. - "listring[]" - end - meta:set_string("formspec", formspec) -end - --- todo SOON: this function has *way too many* parameters -local function grabAndFire(data,slotseq_mode,exmatch_mode,filtmeta,frominv,frominvname,frompos,fromnode,filterfor,fromtube,fromdef,dir,fakePlayer,all) - local sposes = {} - for spos,stack in ipairs(frominv:get_list(frominvname)) do - local matches - if filterfor == "" then - matches = stack:get_name() ~= "" - else - matches = stack:get_name() == filterfor.name - end - if matches then table.insert(sposes, spos) end - end - if #sposes == 0 then return false end - if slotseq_mode == 1 then - for i = #sposes, 2, -1 do - local j = math.random(i) - local t = sposes[j] - sposes[j] = sposes[i] - sposes[i] = t - end - elseif slotseq_mode == 2 then - local headpos = filtmeta:get_int("slotseq_index") - table.sort(sposes, function (a, b) - if a >= headpos then - if b < headpos then return true end - else - if b >= headpos then return false end - end - return a < b - end) - end - for _, spos in ipairs(sposes) do - local stack = frominv:get_stack(frominvname, spos) - local doRemove = stack:get_count() - if fromtube.can_remove then - doRemove = fromtube.can_remove(frompos, fromnode, stack, dir) - elseif fromdef.allow_metadata_inventory_take then - doRemove = fromdef.allow_metadata_inventory_take(frompos, frominvname,spos, stack, fakePlayer) - end - -- stupid lack of continue statements grumble - if doRemove > 0 then - if slotseq_mode == 2 then - local nextpos = spos + 1 - if nextpos > frominv:get_size(frominvname) then - nextpos = 1 - end - filtmeta:set_int("slotseq_index", nextpos) - set_filter_infotext(data, filtmeta) - end - local item - local count - if all then - count = math.min(stack:get_count(), doRemove) - if filterfor.count and filterfor.count > 1 then - if exmatch_mode ~= 0 and filterfor.count > count then - return false - else - count = math.min(filterfor.count, count) - end - end - else - count = 1 - end - if fromtube.remove_items then - -- it could be the entire stack... - item = fromtube.remove_items(frompos, fromnode, stack, dir, count) - else - item = stack:take_item(count) - frominv:set_stack(frominvname, spos, stack) - if fromdef.on_metadata_inventory_take then - fromdef.on_metadata_inventory_take(frompos, frominvname, spos, item, fakePlayer) - end - end - local pos = vector.add(frompos, vector.multiply(dir, 1.4)) - local start_pos = vector.add(frompos, dir) - local item1 = pipeworks.tube_inject_item(pos, start_pos, dir, item) - return true-- only fire one item, please - end - end - return false -end - -local function punch_filter(data, filtpos, filtnode, msg) - local filtmeta = minetest.get_meta(filtpos) - local filtinv = filtmeta:get_inventory() - local owner = filtmeta:get_string("owner") - local fakePlayer = { - get_player_name = delay(owner), - is_fake_player = ":pipeworks", - } -- TODO: use a mechanism as the wielder one - local dir = minetest.facedir_to_right_dir(filtnode.param2) - local frompos = vector.subtract(filtpos, dir) - local fromnode = minetest.get_node(frompos) - - -- Fix crash with connected_chests (sys4 fix for MFF) - if fromnode and fromnode.name == "connected_chests:chest_right" then - local v_mul = vector.multiply(dir, 2) - frompos = vector.subtract(filtpos, v_mul) - fromnode = minetest.get_node(frompos) - if fromnode and fromnode.name ~= "connected_chests:chest_left" then - return - end - end - - if not fromnode then return end - local fromdef = minetest.registered_nodes[fromnode.name] - if not fromdef then return end - local fromtube = fromdef.tube - if not (fromtube and fromtube.input_inventory) then return end - - local slotseq_mode - local exact_match - - local filters = {} - if data.digiline then - local t_msg = type(msg) - if t_msg == "table" then - local slotseq = msg.slotseq - local t_slotseq = type(slotseq) - if t_slotseq == "number" and slotseq >= 0 and slotseq <= 2 then - slotseq_mode = slotseq - elseif t_slotseq == "string" then - slotseq = string.lower(slotseq) - if slotseq == "priority" then - slotseq_mode = 0 - elseif slotseq == "random" then - slotseq_mode = 1 - elseif slotseq == "rotation" then - slotseq_mode = 2 - end - end - - local exmatch = msg.exmatch - local t_exmatch = type(exmatch) - if t_exmatch == "number" and exmatch >= 0 and exmatch <= 1 then - exact_match = exmatch - elseif t_exmatch == "boolean" then - exact_match = exmatch and 1 or 0 - end - - local slotseq_index = msg.slotseq_index - if type(slotseq_index) == "number" then - -- This should allow any valid index, but I'm not completely sure what - -- constitutes a valid index, so I'm only allowing resetting it to 1. - if slotseq_index == 1 then - filtmeta:set_int("slotseq_index", slotseq_index) - set_filter_infotext(data, filtmeta) - end - end - - if slotseq_mode ~= nil then - filtmeta:set_int("slotseq_mode", slotseq_mode) - end - - if exact_match ~= nil then - filtmeta:set_int("exmatch_mode", exact_match) - end - - if slotseq_mode ~= nil or exact_match ~= nil then - set_filter_formspec(data, filtmeta) - end - - if msg.nofire then - return - end - - if type(msg.name) == "string" then - table.insert(filters, {name = msg.name, count = tonumber(msg.count) or 1}) - else - for _, filter in ipairs(msg.name) do - local t_filter = type(filter) - if t_filter == "table" then - if type(filter.name) == "string" then - table.insert(filters, {name = filter.name, count = tonumber(filter.count) or 1}) - end - elseif t_filter == "string" then - local filterstack = ItemStack(filter) - local filtername = filterstack:get_name() - local filtercount = filterstack:get_count() - if filtername ~= "" then table.insert(filters, {name = filtername, count = filtercount}) end - end - end - end - elseif t_msg == "string" then - local filterstack = ItemStack(msg) - local filtername = filterstack:get_name() - local filtercount = filterstack:get_count() - if filtername ~= "" then table.insert(filters, {name = filtername, count = filtercount}) end - end - else - for _, filterstack in ipairs(filtinv:get_list("main")) do - local filtername = filterstack:get_name() - local filtercount = filterstack:get_count() - if filtername ~= "" then table.insert(filters, {name = filtername, count = filtercount}) end - end - end - if #filters == 0 then table.insert(filters, "") end - - if slotseq_mode == nil then - slotseq_mode = filtmeta:get_int("slotseq_mode") - end - - if exact_match == nil then - exact_match = filtmeta:get_int("exmatch_mode") - end - - local frommeta = minetest.get_meta(frompos) - local frominv = frommeta:get_inventory() - if fromtube.before_filter then fromtube.before_filter(frompos) end - for _, frominvname in ipairs(type(fromtube.input_inventory) == "table" and fromtube.input_inventory or {fromtube.input_inventory}) do - local done = false - for _, filterfor in ipairs(filters) do - if grabAndFire(data, slotseq_mode, exact_match, filtmeta, frominv, frominvname, frompos, fromnode, filterfor, fromtube, fromdef, dir, fakePlayer, data.stackwise) then - done = true - break - end - end - if done then break end - end - if fromtube.after_filter then fromtube.after_filter(frompos) end -end - -for _, data in ipairs({ - { - name = "filter", - wise_desc = "Itemwise", - stackwise = false, - }, - { - name = "mese_filter", - wise_desc = "Stackwise", - stackwise = true, - }, - { -- register even if no digilines - name = "digiline_filter", - wise_desc = "Digiline", - stackwise = true, - digiline = true, - }, -}) do - local node = { - description = data.wise_desc.." Filter-Injector", - tiles = { - "pipeworks_"..data.name.."_top.png", - "pipeworks_"..data.name.."_top.png", - "pipeworks_"..data.name.."_output.png", - "pipeworks_"..data.name.."_input.png", - "pipeworks_"..data.name.."_side.png", - "pipeworks_"..data.name.."_top.png", - }, - paramtype2 = "facedir", - groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, mesecon = 2}, - legacy_facedir_simple = true, - sounds = default.node_sound_wood_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - set_filter_formspec(data, meta) - set_filter_infotext(data, meta) - local inv = meta:get_inventory() - inv:set_size("main", 8*2) - end, - after_place_node = function (pos, placer) - minetest.get_meta(pos):set_string("owner", placer:get_player_name()) - pipeworks.after_place(pos) - end, - after_dig_node = pipeworks.after_dig, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then return 0 end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then return 0 end - return stack:get_count() - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - if not pipeworks.may_configure(pos, player) then return 0 end - return count - end, - can_dig = function(pos, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:is_empty("main") - end, - tube = {connect_sides = {right = 1}}, - } - - if data.digiline then - node.groups.mesecon = nil - if not minetest.get_modpath("digilines") then - node.groups.not_in_creative_inventory = 1 - end - - node.on_receive_fields = function(pos, formname, fields, sender) - if not pipeworks.may_configure(pos, sender) then return end - fs_helpers.on_receive_fields(pos, fields) - - if fields.channel then - minetest.get_meta(pos):set_string("channel", fields.channel) - end - - local meta = minetest.get_meta(pos) - --meta:set_int("slotseq_index", 1) - set_filter_formspec(data, meta) - set_filter_infotext(data, meta) - end - node.digiline = { - effector = { - action = function(pos, node, channel, msg) - local meta = minetest.get_meta(pos) - local setchan = meta:get_string("channel") - if setchan ~= channel then return end - - punch_filter(data, pos, node, msg) - end, - }, - } - else - node.on_receive_fields = function(pos, formname, fields, sender) - if not pipeworks.may_configure(pos, sender) then return end - fs_helpers.on_receive_fields(pos, fields) - local meta = minetest.get_meta(pos) - meta:set_int("slotseq_index", 1) - set_filter_formspec(data, meta) - set_filter_infotext(data, meta) - end - node.mesecons = { - effector = { - action_on = function(pos, node) - punch_filter(data, pos, node) - end, - }, - } - node.on_punch = function (pos, node, puncher) - punch_filter(data, pos, node) - end - end - - - - minetest.register_node("pipeworks:"..data.name, node) -end - -minetest.register_craft( { - output = "pipeworks:filter 2", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, - { "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" }, - { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" } - }, -}) - -minetest.register_craft( { - output = "pipeworks:mese_filter 2", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, - { "group:stick", "default:mese", "homedecor:plastic_sheeting" }, - { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" } - }, -}) - -if minetest.get_modpath("digilines") then - minetest.register_craft( { - output = "pipeworks:digiline_filter 2", - recipe = { - { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }, - { "group:stick", "digilines:wire_std_00000000", "homedecor:plastic_sheeting" }, - { "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" } - }, - }) -end diff --git a/mods/pipeworks/flowing_logic.lua b/mods/pipeworks/flowing_logic.lua deleted file mode 100755 index ae3b4ee1..00000000 --- a/mods/pipeworks/flowing_logic.lua +++ /dev/null @@ -1,121 +0,0 @@ --- This file provides the actual flow and pathfinding logic that makes water --- move through the pipes. --- --- Contributed by mauvebic, 2013-01-03, rewritten a bit by Vanessa Ezekowitz --- - -local finitewater = minetest.setting_getbool("liquid_finite") - -pipeworks.check_for_liquids = function(pos) - local coords = { - {x=pos.x,y=pos.y-1,z=pos.z}, - {x=pos.x,y=pos.y+1,z=pos.z}, - {x=pos.x-1,y=pos.y,z=pos.z}, - {x=pos.x+1,y=pos.y,z=pos.z}, - {x=pos.x,y=pos.y,z=pos.z-1}, - {x=pos.x,y=pos.y,z=pos.z+1}, } - for i =1,6 do - local name = minetest.get_node(coords[i]).name - if name and string.find(name,"water") then - if finitewater then minetest.remove_node(coords[i]) end - return true - end - end - return false -end - -pipeworks.check_for_inflows = function(pos,node) - local coords = { - {x=pos.x,y=pos.y-1,z=pos.z}, - {x=pos.x,y=pos.y+1,z=pos.z}, - {x=pos.x-1,y=pos.y,z=pos.z}, - {x=pos.x+1,y=pos.y,z=pos.z}, - {x=pos.x,y=pos.y,z=pos.z-1}, - {x=pos.x,y=pos.y,z=pos.z+1}, } - local newnode = false - local source = false - for i =1,6 do - if newnode then break end - local name = minetest.get_node(coords[i]).name - if name and (name == "pipeworks:pump_on" and pipeworks.check_for_liquids(coords[i])) or string.find(name,"_loaded") then - if string.find(name,"_loaded") then - source = minetest.get_meta(coords[i]):get_string("source") - if source == minetest.pos_to_string(pos) then break end - end - newnode = string.gsub(node.name,"empty","loaded") - source = {x=coords[i].x,y=coords[i].y,z=coords[i].z} - end - end - if newnode then - minetest.add_node(pos,{name=newnode, param2 = node.param2}) - minetest.get_meta(pos):set_string("source",minetest.pos_to_string(source)) - end -end - -pipeworks.check_sources = function(pos,node) - local sourcepos = minetest.string_to_pos(minetest.get_meta(pos):get_string("source")) - if not sourcepos then return end - local source = minetest.get_node(sourcepos).name - local newnode = false - if source and not ((source == "pipeworks:pump_on" and pipeworks.check_for_liquids(sourcepos)) or string.find(source,"_loaded") or source == "ignore" ) then - newnode = string.gsub(node.name,"loaded","empty") - end - - if newnode then - minetest.add_node(pos,{name=newnode, param2 = node.param2}) - minetest.get_meta(pos):set_string("source","") - end -end - -pipeworks.spigot_check = function(pos, node) - local belowname = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name - if belowname and (belowname == "air" or belowname == "default:water_flowing" or belowname == "default:water_source") then - local spigotname = minetest.get_node(pos).name - local fdir=node.param2 % 4 - local check = { - {x=pos.x,y=pos.y,z=pos.z+1}, - {x=pos.x+1,y=pos.y,z=pos.z}, - {x=pos.x,y=pos.y,z=pos.z-1}, - {x=pos.x-1,y=pos.y,z=pos.z} - } - local near_node = minetest.get_node(check[fdir+1]) - if near_node and string.find(near_node.name, "_loaded") then - if spigotname and spigotname == "pipeworks:spigot" then - minetest.add_node(pos,{name = "pipeworks:spigot_pouring", param2 = fdir}) - if finitewater or belowname ~= "default:water_source" then - minetest.add_node({x=pos.x,y=pos.y-1,z=pos.z},{name = "default:water_source"}) - end - end - else - if spigotname == "pipeworks:spigot_pouring" then - minetest.add_node({x=pos.x,y=pos.y,z=pos.z},{name = "pipeworks:spigot", param2 = fdir}) - if belowname == "default:water_source" and not finitewater then - minetest.remove_node({x=pos.x,y=pos.y-1,z=pos.z}) - end - end - end - end -end - -pipeworks.fountainhead_check = function(pos, node) - local abovename = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name - if abovename and (abovename == "air" or abovename == "default:water_flowing" or abovename == "default:water_source") then - local fountainhead_name = minetest.get_node(pos).name - local near_node = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}) - if near_node and string.find(near_node.name, "_loaded") then - if fountainhead_name and fountainhead_name == "pipeworks:fountainhead" then - minetest.add_node(pos,{name = "pipeworks:fountainhead_pouring"}) - if finitewater or abovename ~= "default:water_source" then - minetest.add_node({x=pos.x,y=pos.y+1,z=pos.z},{name = "default:water_source"}) - end - end - else - if fountainhead_name == "pipeworks:fountainhead_pouring" then - minetest.add_node({x=pos.x,y=pos.y,z=pos.z},{name = "pipeworks:fountainhead"}) - if abovename == "default:water_source" and not finitewater then - minetest.remove_node({x=pos.x,y=pos.y+1,z=pos.z}) - end - end - end - end -end diff --git a/mods/pipeworks/init.lua b/mods/pipeworks/init.lua deleted file mode 100755 index b0938129..00000000 --- a/mods/pipeworks/init.lua +++ /dev/null @@ -1,117 +0,0 @@ --- Pipeworks mod by Vanessa Ezekowitz - 2013-07-13 --- --- This mod supplies various steel pipes and plastic pneumatic tubes --- and devices that they can connect to. --- --- License: WTFPL --- - -pipeworks = {} - -local DEBUG = false - -pipeworks.worldpath = minetest.get_worldpath() -pipeworks.modpath = minetest.get_modpath("pipeworks") - -dofile(pipeworks.modpath.."/default_settings.txt") - --- Read the external config file if it exists. -local worldsettingspath = pipeworks.worldpath.."/pipeworks_settings.txt" -local worldsettingsfile = io.open(worldsettingspath, "r") -if worldsettingsfile then - worldsettingsfile:close() - dofile(worldsettingspath) -end - --- Random variables - -pipeworks.expect_infinite_stacks = true -if minetest.get_modpath("unified_inventory") or not minetest.setting_getbool("creative_mode") then - pipeworks.expect_infinite_stacks = false -end - -pipeworks.meseadjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}} - -pipeworks.rules_all = {{x=0, y=0, z=1},{x=0, y=0, z=-1},{x=1, y=0, z=0},{x=-1, y=0, z=0}, - {x=0, y=1, z=1},{x=0, y=1, z=-1},{x=1, y=1, z=0},{x=-1, y=1, z=0}, - {x=0, y=-1, z=1},{x=0, y=-1, z=-1},{x=1, y=-1, z=0},{x=-1, y=-1, z=0}, - {x=0, y=1, z=0}, {x=0, y=-1, z=0}} - -pipeworks.mesecons_rules={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=1,y=0,z=0},{x=-1,y=0,z=0},{x=0,y=1,z=0},{x=0,y=-1,z=0}} - -pipeworks.liquid_texture = "default_water.png" - --- Helper functions - -function pipeworks.fix_image_names(table, replacement) - local outtable={} - for i in ipairs(table) do - outtable[i]=string.gsub(table[i], "_XXXXX", replacement) - end - - return outtable -end - -function pipeworks.add_node_box(t, b) - if not t or not b then return end - for i in ipairs(b) - do table.insert(t, b[i]) - end -end - -function pipeworks.may_configure(pos, player) - local name = player:get_player_name() - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - - if owner ~= "" then -- wielders and filters - return owner == name - end - return not minetest.is_protected(pos, name) -end - -function pipeworks.replace_name(tbl,tr,name) - local ntbl={} - for key,i in pairs(tbl) do - if type(i)=="string" then - ntbl[key]=string.gsub(i,tr,name) - elseif type(i)=="table" then - ntbl[key]=pipeworks.replace_name(i,tr,name) - else - ntbl[key]=i - end - end - return ntbl -end - -------------------------------------------- --- Load the various other parts of the mod - -dofile(pipeworks.modpath.."/common.lua") -dofile(pipeworks.modpath.."/models.lua") -dofile(pipeworks.modpath.."/autoplace_pipes.lua") -dofile(pipeworks.modpath.."/autoplace_tubes.lua") -dofile(pipeworks.modpath.."/luaentity.lua") -dofile(pipeworks.modpath.."/item_transport.lua") -dofile(pipeworks.modpath.."/flowing_logic.lua") -dofile(pipeworks.modpath.."/crafts.lua") -dofile(pipeworks.modpath.."/tube_registration.lua") -dofile(pipeworks.modpath.."/routing_tubes.lua") -dofile(pipeworks.modpath.."/sorting_tubes.lua") -dofile(pipeworks.modpath.."/vacuum_tubes.lua") -dofile(pipeworks.modpath.."/signal_tubes.lua") -dofile(pipeworks.modpath.."/decorative_tubes.lua") -dofile(pipeworks.modpath.."/filter-injector.lua") -dofile(pipeworks.modpath.."/trashcan.lua") -dofile(pipeworks.modpath.."/wielder.lua") - -if pipeworks.enable_pipes then dofile(pipeworks.modpath.."/pipes.lua") end -if pipeworks.enable_teleport_tube then dofile(pipeworks.modpath.."/teleport_tube.lua") end -if pipeworks.enable_pipe_devices then dofile(pipeworks.modpath.."/devices.lua") end -if pipeworks.enable_redefines then dofile(pipeworks.modpath.."/compat.lua") end -if pipeworks.enable_autocrafter then dofile(pipeworks.modpath.."/autocrafter.lua") end - -minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty") - -minetest.log("Pipeworks loaded!") - diff --git a/mods/pipeworks/item_transport.lua b/mods/pipeworks/item_transport.lua deleted file mode 100755 index 57d54608..00000000 --- a/mods/pipeworks/item_transport.lua +++ /dev/null @@ -1,289 +0,0 @@ -function pipeworks.tube_item(pos, item) - error("obsolete pipeworks.tube_item() called; change caller to use pipeworks.tube_inject_item() instead") -end - -function pipeworks.tube_inject_item(pos, start_pos, velocity, item) - -- Take item in any format - local stack = ItemStack(item) - local obj = luaentity.add_entity(pos, "pipeworks:tubed_item") - obj:set_item(stack:to_string()) - obj.start_pos = vector.new(start_pos) - obj:setvelocity(velocity) - --obj:set_color("red") -- todo: this is test-only code - return obj -end - --- adding two tube functions --- can_remove(pos,node,stack,dir) returns the maximum number of items of that stack that can be removed --- remove_items(pos,node,stack,dir,count) removes count items and returns them --- both optional w/ sensible defaults and fallback to normal allow_* function --- XXX: possibly change insert_object to insert_item - -local adjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}} - -function pipeworks.notvel(tbl, vel) - local tbl2={} - for _,val in ipairs(tbl) do - if val.x ~= -vel.x or val.y ~= -vel.y or val.z ~= -vel.z then table.insert(tbl2, val) end - end - return tbl2 -end - -local function go_next(pos, velocity, stack) - local next_positions = {} - local max_priority = 0 - local cnode = minetest.get_node(pos) - local cmeta = minetest.get_meta(pos) - local can_go - local speed = math.abs(velocity.x + velocity.y + velocity.z) - if speed == 0 then - speed = 1 - end - local vel = {x = velocity.x/speed, y = velocity.y/speed, z = velocity.z/speed,speed=speed} - if speed >= 4.1 then - speed = 4 - elseif speed >= 1.1 then - speed = speed - 0.1 - else - speed = 1 - end - vel.speed = speed - if minetest.registered_nodes[cnode.name] and minetest.registered_nodes[cnode.name].tube and minetest.registered_nodes[cnode.name].tube.can_go then - can_go = minetest.registered_nodes[cnode.name].tube.can_go(pos, cnode, vel, stack) - else - can_go = pipeworks.notvel(adjlist, vel) - end - for _, vect in ipairs(can_go) do - local npos = vector.add(pos, vect) - minetest.load_position(npos) - local node = minetest.get_node(npos) - local reg_node = minetest.registered_nodes[node.name] - if reg_node then - local tube_def = reg_node.tube - local tubedevice = minetest.get_item_group(node.name, "tubedevice") - local tube_priority = (tube_def and tube_def.priority) or 100 - if tubedevice > 0 and tube_priority >= max_priority then - if not tube_def or not tube_def.can_insert or - tube_def.can_insert(npos, node, stack, vect) then - if tube_priority > max_priority then - max_priority = tube_priority - next_positions = {} - end - next_positions[#next_positions + 1] = {pos = npos, vect = vect} - end - end - end - end - - if not next_positions[1] then - return false, nil - end - - local n = (cmeta:get_int("tubedir") % (#next_positions)) + 1 - if pipeworks.enable_cyclic_mode then - cmeta:set_int("tubedir", n) - end - local new_velocity = vector.multiply(next_positions[n].vect, vel.speed) - return true, new_velocity -end - -minetest.register_entity("pipeworks:tubed_item", { - initial_properties = { - hp_max = 1, - physical = false, - collisionbox = {0.1, 0.1, 0.1, 0.1, 0.1, 0.1}, - visual = "wielditem", - visual_size = {x = 0.15, y = 0.15}, - textures = {""}, - spritediv = {x = 1, y = 1}, - initial_sprite_basepos = {x = 0, y = 0}, - is_visible = false, - }, - - physical_state = false, - - from_data = function(self, itemstring) - local stack = ItemStack(itemstring) - local itemtable = stack:to_table() - local itemname = nil - if itemtable then - itemname = stack:to_table().name - end - local item_texture = nil - local item_type = "" - if minetest.registered_items[itemname] then - item_texture = minetest.registered_items[itemname].inventory_image - item_type = minetest.registered_items[itemname].type - end - self.object:set_properties({ - is_visible = true, - textures = {stack:get_name()} - }) - local def = stack:get_definition() - self.object:setyaw((def and def.type == "node") and 0 or math.pi * 0.25) - end, - - get_staticdata = luaentity.get_staticdata, - on_activate = function(self, staticdata) -- Legacy code, should be replaced later by luaentity.on_activate - if staticdata == "" or staticdata == nil then - return - end - if staticdata == "toremove" then - self.object:remove() - return - end - local item = minetest.deserialize(staticdata) - pipeworks.tube_inject_item(self.object:getpos(), item.start_pos, item.velocity, item.itemstring) - self.object:remove() - end, -}) - -minetest.register_entity("pipeworks:color_entity", { - initial_properties = { - hp_max = 1, - physical = false, - collisionbox = {0.1, 0.1, 0.1, 0.1, 0.1, 0.1}, - visual = "cube", - visual_size = {x = 3.5, y = 3.5, z = 3.5}, -- todo: find correct size - textures = {""}, - is_visible = false, - }, - - physical_state = false, - - from_data = function(self, color) - local t = "pipeworks_color_"..color..".png" - local prop = { - is_visible = true, - visual = "cube", - textures = {t, t, t, t, t, t} -- todo: textures - } - self.object:set_properties(prop) - end, - - get_staticdata = luaentity.get_staticdata, - on_activate = luaentity.on_activate, -}) - -luaentity.register_entity("pipeworks:tubed_item", { - itemstring = '', - item_entity = nil, - color_entity = nil, - color = nil, - start_pos = nil, - - set_item = function(self, item) - local itemstring = ItemStack(item):to_string() -- Accept any input format - if self.itemstring == itemstring then - return - end - if self.item_entity then - self:remove_attached_entity(self.item_entity) - end - self.itemstring = itemstring - self.item_entity = self:add_attached_entity("pipeworks:tubed_item", itemstring) - end, - - set_color = function(self, color) - if self.color == color then - return - end - self.color = color - if self.color_entity then - self:remove_attached_entity(self.color_entity) - end - if color then - self.color_entity = self:add_attached_entity("pipeworks:color_entity", color) - else - self.color_entity = nil - end - end, - - on_step = function(self, dtime) - if self.start_pos == nil then - local pos = self:getpos() - self.start_pos = vector.round(pos) - self:setpos(pos) - end - - local pos = self:getpos() - local stack = ItemStack(self.itemstring) - local drop_pos - - local velocity = self:getvelocity() - - local moved = false - local speed = math.abs(velocity.x + velocity.y + velocity.z) - if speed == 0 then - speed = 1 - moved = true - end - local vel = {x = velocity.x / speed, y = velocity.y / speed, z = velocity.z / speed, speed = speed} - - if vector.distance(pos, self.start_pos) >= 1 then - self.start_pos = vector.add(self.start_pos, vel) - moved = true - end - - minetest.load_position(self.start_pos) - local node = minetest.get_node(self.start_pos) - if moved and minetest.get_item_group(node.name, "tubedevice_receiver") == 1 then - local leftover - if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then - leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel) - else - leftover = stack - end - if leftover:is_empty() then - self:remove() - return - end - velocity = vector.multiply(velocity, -1) - self:setvelocity(velocity) - self:set_item(leftover:to_string()) - return - end - - if moved then - local found_next, new_velocity = go_next(self.start_pos, velocity, stack) -- todo: color - if not found_next then - drop_pos = minetest.find_node_near(vector.add(self.start_pos, velocity), 1, "air") - if drop_pos then - -- Using add_item instead of item_drop since this makes pipeworks backward - -- compatible with Minetest 0.4.13. - -- Using item_drop here makes Minetest 0.4.13 crash. - --minetest.add_item(drop_pos, stack) --Don't drop pipeworks items to reduce lag. - self:remove() - return - end - end - - if new_velocity and not vector.equals(velocity, new_velocity) then - self:setpos(self.start_pos) - self:setvelocity(new_velocity) - end - end - end -}) - -if minetest.get_modpath("mesecons_mvps") then - mesecon.register_mvps_unmov("pipeworks:tubed_item") - mesecon.register_mvps_unmov("pipeworks:color_entity") - mesecon.register_on_mvps_move(function(moved_nodes) - local moved = {} - for _, n in ipairs(moved_nodes) do - moved[minetest.hash_node_position(n.oldpos)] = vector.subtract(n.pos, n.oldpos) - end - for id, entity in pairs(luaentity.entities) do - if entity.name == "pipeworks:tubed_item" then - local pos = entity:getpos() - local rpos = vector.round(pos) - local dir = moved[minetest.hash_node_position(rpos)] - if dir then - entity:setpos(vector.add(pos, dir)) - entity.start_pos = vector.add(entity.start_pos, dir) - end - end - end - end) -end diff --git a/mods/pipeworks/legacy.lua b/mods/pipeworks/legacy.lua deleted file mode 100755 index e02a2360..00000000 --- a/mods/pipeworks/legacy.lua +++ /dev/null @@ -1,59 +0,0 @@ - -if not minetest.get_modpath("auto_tree_tap") and - minetest.get_modpath("technic") then - - minetest.register_abm({ - nodenames = { "auto_tree_tap:off", "auto_tree_tap:on" }, - chance = 1, - interval = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local fdir = node.param2 - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - inv:set_size("pick", 1) - inv:set_size("ghost_pick", 1) - inv:set_size("main", 100) - minetest.set_node(pos, {name = "pipeworks:nodebreaker_off", param2 = fdir}) - minetest.registered_nodes["pipeworks:nodebreaker_off"].on_punch(pos, node) - inv:set_stack("pick", 1, ItemStack("technic:treetap")) - end - }) - - minetest.register_node(":auto_tree_tap:off", { - description = "Auto-Tap", - tiles = {"pipeworks_nodebreaker_top_off.png","pipeworks_nodebreaker_bottom_off.png","pipeworks_nodebreaker_side2_off.png","pipeworks_nodebreaker_side1_off.png", - "pipeworks_nodebreaker_back.png","pipeworks_nodebreaker_front_off.png"}, - is_ground_content = true, - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon = 2,tubedevice=1, not_in_creative_inventory=1 }, - sounds = default.node_sound_stone_defaults(), - tube = {connect_sides={back=1}}, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - inv:set_size("pick", 1) - inv:set_stack("pick", 1, ItemStack("default:pick_mese")) - end, - after_place_node = function (pos, placer) - pipeworks.scan_for_tube_objects(pos, placer) - local placer_pos = placer:getpos() - - --correct for the player's height - if placer:is_player() then placer_pos.y = placer_pos.y + 1.5 end - - --correct for 6d facedir - if placer_pos then - local dir = { - x = pos.x - placer_pos.x, - y = pos.y - placer_pos.y, - z = pos.z - placer_pos.z - } - local node = minetest.get_node(pos) - node.param2 = minetest.dir_to_facedir(dir, true) - minetest.set_node(pos, node) - minetest.log("action", "real (6d) facedir: " .. node.param2) - end - end, - after_dig_node = pipeworks.scan_for_tube_objects, - }) -end diff --git a/mods/pipeworks/luaentity.lua b/mods/pipeworks/luaentity.lua deleted file mode 100755 index 68d16601..00000000 --- a/mods/pipeworks/luaentity.lua +++ /dev/null @@ -1,349 +0,0 @@ -local max_entity_id = 1000000000000 -- If you need more, there's a problem with your code - -luaentity = {} - -luaentity.registered_entities = {} - -local filename = minetest.get_worldpath().."/luaentities" -local function read_file() - local f = io.open(filename, "r") - if f == nil then return {} end - local t = f:read("*all") - f:close() - if t == "" or t == nil then return {} end - return minetest.deserialize(t) or {} -end - -local function write_file(tbl) - local f = io.open(filename, "w") - f:write(minetest.serialize(tbl)) - f:close() -end - -local function read_entities() - local t = read_file() - for _, entity in pairs(t) do - setmetatable(entity, luaentity.registered_entities[entity.name]) - end - return t -end - -local function write_entities() - for _, entity in pairs(luaentity.entities or {}) do - setmetatable(entity, nil) - for _, attached in pairs(entity._attached_entities) do - if attached.entity then - attached.entity:remove() - attached.entity = nil - end - end - entity._attached_entities_master = nil - end - write_file(luaentity.entities) -end - -minetest.register_on_shutdown(write_entities) -luaentity.entities_index = 0 - -local function get_blockpos(pos) - return {x = math.floor(pos.x / 16), - y = math.floor(pos.y / 16), - z = math.floor(pos.z / 16)} -end - -local active_blocks = {} -- These only contain active blocks near players (i.e., not forceloaded ones) -local handle_active_blocks_step = 2 -local function active_blocks_step() - local active_block_range = tonumber(minetest.setting_get("active_block_range")) or 2 - local new_active_blocks = {} - for _, player in ipairs(minetest.get_connected_players()) do - local blockpos = get_blockpos(player:getpos()) - local minp = vector.subtract(blockpos, active_block_range) - local maxp = vector.add(blockpos, active_block_range) - - for x = minp.x, maxp.x do - for y = minp.y, maxp.y do - for z = minp.z, maxp.z do - local pos = {x = x, y = y, z = z} - new_active_blocks[minetest.hash_node_position(pos)] = pos - end - end - end - end - active_blocks = new_active_blocks - -- todo: callbacks on block load/unload - - minetest.after(handle_active_blocks_step, active_blocks_step) -end -minetest.after(0, active_blocks_step) - -local function is_active(pos) - return active_blocks[minetest.hash_node_position(get_blockpos(pos))] ~= nil -end - -local entitydef_default = { - _attach = function(self, attached, attach_to) - local attached_def = self._attached_entities[attached] - local attach_to_def = self._attached_entities[attach_to] - attached_def.entity:set_attach( - attach_to_def.entity, "", - vector.subtract(attached_def.offset, attach_to_def.offset), -- todo: Does not work because is object space - vector.new(0, 0, 0) - ) - end, - _set_master = function(self, index) - self._attached_entities_master = index - if not index then - return - end - local def = self._attached_entities[index] - if not def.entity then - return - end - def.entity:setpos(vector.add(self._pos, def.offset)) - def.entity:setvelocity(self._velocity) - def.entity:setacceleration(self._acceleration) - end, - _attach_all = function(self) - local master = self._attached_entities_master - if not master then - return - end - for id, entity in pairs(self._attached_entities) do - if id ~= master and entity.entity then - self:_attach(id, master) - end - end - end, - _detach_all = function(self) - local master = self._attached_entities_master - for id, entity in pairs(self._attached_entities) do - if id ~= master and entity.entity then - entity.entity:set_detach() - end - end - end, - _add_attached = function(self, index) - local entity = self._attached_entities[index] - if entity.entity then - return - end - local entity_pos = vector.add(self._pos, entity.offset) - if not is_active(entity_pos) then - return - end - local ent = minetest.add_entity(entity_pos, entity.name):get_luaentity() - ent:from_data(entity.data) - ent.parent_id = self._id - ent.attached_id = index - entity.entity = ent.object - local master = self._attached_entities_master - if master then - self:_attach(index, master) - else - self:_set_master(index) - end - end, - _remove_attached = function(self, index) - local master = self._attached_entities_master - local entity = self._attached_entities[index] - local ent = entity and entity.entity - if entity then entity.entity = nil end - if index == master then - self:_detach_all() - local newmaster - for id, attached in pairs(self._attached_entities) do - if id ~= master and attached.entity then - newmaster = id - break - end - end - self:_set_master(newmaster) - self:_attach_all() - elseif master and ent then - ent:set_detach() - end - if ent then - ent:remove() - end - end, - _add_loaded = function(self) - for id, _ in pairs(self._attached_entities) do - self:_add_attached(id) - end - end, - getid = function(self) - return self._id - end, - getpos = function(self) - return vector.new(self._pos) - end, - setpos = function(self, pos) - self._pos = vector.new(pos) - --for _, entity in pairs(self._attached_entities) do - -- if entity.entity then - -- entity.entity:setpos(vector.add(self._pos, entity.offset)) - -- end - --end - local master = self._attached_entities_master - if master then - local master_def = self._attached_entities[master] - master_def.entity:setpos(vector.add(self._pos, master_def.offset)) - end - end, - getvelocity = function(self) - return vector.new(self._velocity) - end, - setvelocity = function(self, velocity) - self._velocity = vector.new(velocity) - local master = self._attached_entities_master - if master then - self._attached_entities[master].entity:setvelocity(self._velocity) - end - end, - getacceleration = function(self) - return vector.new(self._acceleration) - end, - setacceleration = function(self, acceleration) - self._acceleration = vector.new(acceleration) - local master = self._attached_entities_master - if master then - self._attached_entities[master].entity:setacceleration(self._acceleration) - end - end, - remove = function(self) - self:_detach_all() - for _, entity in pairs(self._attached_entities) do - if entity.entity then - entity.entity:remove() - end - end - luaentity.entities[self._id] = nil - end, - add_attached_entity = function(self, name, data, offset) - local index = #self._attached_entities + 1 - self._attached_entities[index] = { - name = name, - data = data, - offset = vector.new(offset), - } - self:_add_attached(index) - return index - end, - remove_attached_entity = function(self, index) - self:_remove_attached(index) - self._attached_entities[index] = nil - end, -} - -function luaentity.register_entity(name, prototype) - -- name = check_modname_prefix(name) - prototype.name = name - setmetatable(prototype, {__index = entitydef_default}) - prototype.__index = prototype -- Make it possible to use it as metatable - luaentity.registered_entities[name] = prototype -end - --- function luaentity.get_entity_definition(entity) --- return luaentity.registered_entities[entity.name] --- end - -function luaentity.add_entity(pos, name) - if not luaentity.entities then - minetest.after(0, luaentity.add_entity, vector.new(pos), name) - return - end - local index = luaentity.entities_index - while luaentity.entities[index] do - index = index + 1 - if index >= max_entity_id then - index = 0 - end - end - luaentity.entities_index = index - - local entity = { - name = name, - _id = index, - _pos = vector.new(pos), - _velocity = {x = 0, y = 0, z = 0}, - _acceleration = {x = 0, y = 0, z = 0}, - _attached_entities = {}, - } - - local prototype = luaentity.registered_entities[name] - setmetatable(entity, prototype) -- Default to prototype for other methods - luaentity.entities[index] = entity - - if entity.on_activate then - entity:on_activate() - end - return entity -end - --- todo: check if remove in get_staticdata works -function luaentity.get_staticdata(self) - local parent = luaentity.entities[self.parent_id] - if parent and parent._remove_attached then - parent:_remove_attached(self.attached_id) - end - return "toremove" -end - -function luaentity.on_activate(self, staticdata) - if staticdata == "toremove" then - self.object:remove() - end -end - -function luaentity.get_objects_inside_radius(pos, radius) - local objects = {} - local index = 1 - for id, entity in pairs(luaentity.entities) do - if vector.distance(pos, entity:getpos()) <= radius then - objects[index] = entity - index = index + 1 - end - end -end - -minetest.register_globalstep(function(dtime) - if not luaentity.entities then - luaentity.entities = read_entities() - end - for id, entity in pairs(luaentity.entities) do - local master = entity._attached_entities_master - local master_def = master and entity._attached_entities[master] - local master_entity = master_def and master_def.entity - local master_entity_pos = master_entity and master_entity:getpos() - if master_entity_pos then - entity._pos = vector.subtract(master_entity_pos, master_def.offset) - entity._velocity = master_entity:getvelocity() - entity._acceleration = master_entity:getacceleration() - else - entity._pos = vector.add(vector.add( - entity._pos, - vector.multiply(entity._velocity, dtime)), - vector.multiply(entity._acceleration, 0.5 * dtime * dtime)) - entity._velocity = vector.add( - entity._velocity, - vector.multiply(entity._acceleration, dtime)) - end - if master and not master_entity_pos then -- The entity has somehow been cleared - if pipeworks.delete_item_on_clearobject then - entity:remove() - else - entity:_remove_attached(master) - entity:_add_loaded() - if entity.on_step then - entity:on_step(dtime) - end - end - else - entity:_add_loaded() - if entity.on_step then - entity:on_step(dtime) - end - end - end -end) diff --git a/mods/pipeworks/mod.conf b/mods/pipeworks/mod.conf deleted file mode 100644 index d9d2984d..00000000 --- a/mods/pipeworks/mod.conf +++ /dev/null @@ -1 +0,0 @@ -name = pipeworks diff --git a/mods/pipeworks/models.lua b/mods/pipeworks/models.lua deleted file mode 100755 index 1a302b59..00000000 --- a/mods/pipeworks/models.lua +++ /dev/null @@ -1,49 +0,0 @@ ------------------------------------ --- The various pipe select boxes - -pipeworks.pipe_selectboxes = { - { -32/64, -8/64, -8/64, 8/64, 8/64, 8/64 }, - { -8/64 , -8/64, -8/64, 32/64, 8/64, 8/64 }, - { -8/64 , -32/64, -8/64, 8/64, 8/64, 8/64 }, - { -8/64 , -8/64, -8/64, 8/64, 32/64, 8/64 }, - { -8/64 , -8/64, -32/64, 8/64, 8/64, 8/64 }, - { -8/64 , -8/64, -8/64, 8/64, 8/64, 32/64 } -} - --- Tube models - -pipeworks.tube_leftstub = { - { -32/64, -9/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -X face -} - -pipeworks.tube_rightstub = { - { -9/64, -9/64, -9/64, 32/64, 9/64, 9/64 }, -- tube segment against +X face -} - -pipeworks.tube_bottomstub = { - { -9/64, -32/64, -9/64, 9/64, 9/64, 9/64 }, -- tube segment against -Y face -} - -pipeworks.tube_topstub = { - { -9/64, -9/64, -9/64, 9/64, 32/64, 9/64 }, -- tube segment against +Y face -} - -pipeworks.tube_frontstub = { - { -9/64, -9/64, -32/64, 9/64, 9/64, 9/64 }, -- tube segment against -Z face -} - -pipeworks.tube_backstub = { - { -9/64, -9/64, -9/64, 9/64, 9/64, 32/64 }, -- tube segment against -Z face -} - -pipeworks.tube_boxes = {pipeworks.tube_leftstub, pipeworks.tube_rightstub, pipeworks.tube_bottomstub, pipeworks.tube_topstub, pipeworks.tube_frontstub, pipeworks.tube_backstub} - -pipeworks.tube_selectboxes = { - { -32/64, -10/64, -10/64, 10/64, 10/64, 10/64 }, - { -10/64 , -10/64, -10/64, 32/64, 10/64, 10/64 }, - { -10/64 , -32/64, -10/64, 10/64, 10/64, 10/64 }, - { -10/64 , -10/64, -10/64, 10/64, 32/64, 10/64 }, - { -10/64 , -10/64, -32/64, 10/64, 10/64, 10/64 }, - { -10/64 , -10/64, -10/64, 10/64, 10/64, 32/64 } -} - diff --git a/mods/pipeworks/models/pipeworks_entry_panel.obj b/mods/pipeworks/models/pipeworks_entry_panel.obj deleted file mode 100755 index 27577d79..00000000 --- a/mods/pipeworks/models/pipeworks_entry_panel.obj +++ /dev/null @@ -1,390 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-entry-panel.blend' -# www.blender.org -o Cube.001 -v 0.030483 -0.153248 -0.468750 -v 0.030483 -0.153248 -0.500000 -v -0.030483 -0.153248 -0.468750 -v -0.030483 -0.153248 -0.500000 -v -0.086808 -0.129917 -0.468750 -v -0.086808 -0.129917 -0.500000 -v -0.129917 -0.086808 -0.468750 -v -0.129917 -0.086808 -0.500000 -v -0.153248 -0.030483 -0.468750 -v -0.153248 -0.030483 -0.500000 -v -0.153248 0.030483 -0.468750 -v -0.153248 0.030483 -0.500000 -v -0.129917 0.086808 -0.468750 -v -0.129917 0.086808 -0.500000 -v -0.086808 0.129917 -0.468750 -v -0.086808 0.129917 -0.500000 -v -0.030483 0.153248 -0.468750 -v -0.030483 0.153247 -0.500000 -v 0.030483 0.153248 -0.468750 -v 0.030483 0.153248 -0.500000 -v 0.086808 0.129917 -0.468750 -v 0.086808 0.129917 -0.500000 -v 0.129917 0.086808 -0.468750 -v 0.129917 0.086808 -0.500000 -v 0.153248 0.030483 -0.468750 -v 0.153248 0.030483 -0.500000 -v 0.153248 -0.030483 -0.468750 -v 0.153248 -0.030483 -0.500000 -v 0.129917 -0.086808 -0.468750 -v 0.129917 -0.086808 -0.500000 -v 0.086808 -0.129917 -0.468750 -v 0.086808 -0.129917 -0.500000 -v 0.024386 -0.122598 -0.468750 -v -0.024386 -0.122598 -0.468750 -v -0.069446 -0.103934 -0.468750 -v -0.103934 -0.069446 -0.468750 -v -0.122598 -0.024386 -0.468750 -v -0.122598 0.024386 -0.468750 -v -0.103934 0.069446 -0.468750 -v -0.069446 0.103934 -0.468750 -v -0.024386 0.122598 -0.468750 -v 0.024386 0.122598 -0.468750 -v 0.069446 0.103934 -0.468750 -v 0.103934 0.069446 -0.468750 -v 0.122598 0.024386 -0.468750 -v 0.122598 -0.024387 -0.468750 -v 0.103934 -0.069447 -0.468750 -v 0.069446 -0.103934 -0.468750 -v 0.000000 -0.000000 -0.468750 -v 0.000000 -0.000000 -0.500000 -v -0.103934 -0.069446 0.468750 -v -0.069447 -0.103933 0.468750 -v -0.024387 -0.122598 0.468750 -v 0.024386 -0.122598 0.468750 -v 0.086808 -0.129917 0.500000 -v 0.086808 -0.129917 0.468750 -v 0.129917 -0.086808 0.500000 -v 0.129917 -0.086808 0.468750 -v 0.153247 -0.030483 0.500000 -v 0.153247 -0.030483 0.468750 -v 0.153247 0.030483 0.500000 -v 0.153247 0.030483 0.468750 -v 0.129917 0.086808 0.500000 -v 0.129917 0.086808 0.468750 -v 0.086808 0.129917 0.500000 -v 0.086808 0.129917 0.468750 -v 0.030483 0.153248 0.500000 -v 0.030483 0.153248 0.468750 -v -0.030483 0.153248 0.500000 -v -0.030483 0.153248 0.468750 -v -0.086808 0.129917 0.500000 -v -0.086808 0.129917 0.468750 -v -0.129917 0.086808 0.500000 -v -0.129917 0.086808 0.468750 -v -0.153248 0.030483 0.500000 -v -0.153248 0.030483 0.468750 -v -0.153248 -0.030483 0.500000 -v -0.153248 -0.030483 0.468750 -v -0.129917 -0.086808 0.500000 -v -0.129917 -0.086808 0.468750 -v -0.086808 -0.129917 0.500000 -v -0.086808 -0.129917 0.468750 -v -0.030483 -0.153247 0.500000 -v -0.030483 -0.153247 0.468750 -v 0.030483 -0.153247 0.500000 -v 0.030483 -0.153247 0.468750 -v -0.122598 -0.024386 0.468750 -v -0.122598 0.024387 0.468750 -v -0.103934 0.069447 0.468750 -v -0.069447 0.103934 0.468750 -v -0.024387 0.122598 0.468750 -v 0.024386 0.122598 0.468750 -v 0.069446 0.103934 0.468750 -v 0.103933 0.069447 0.468750 -v 0.122598 0.024387 0.468750 -v 0.122598 -0.024386 0.468750 -v 0.103933 -0.069446 0.468750 -v 0.069446 -0.103933 0.468750 -v -0.000000 0.000000 0.468750 -v -0.000000 0.000000 0.500000 -v 0.500000 -0.500000 0.062500 -v -0.500000 -0.500000 0.062500 -v -0.500000 -0.500000 -0.062500 -v 0.500000 -0.500000 -0.062500 -v 0.500000 0.500000 0.062500 -v -0.500000 0.500000 0.062500 -v -0.500000 0.500000 -0.062500 -v 0.500000 0.500000 -0.062500 -vt 0.871212 0.265152 -vt 0.840909 0.265152 -vt 0.840909 0.295455 -vt 0.871212 0.295455 -vt 0.810606 0.265152 -vt 0.810606 0.295455 -vt 0.780303 0.265152 -vt 0.780303 0.295455 -vt 0.750000 0.265152 -vt 0.750000 0.295455 -vt 0.719697 0.265152 -vt 0.719697 0.295455 -vt 0.689394 0.265152 -vt 0.689394 0.295455 -vt 0.659091 0.265152 -vt 0.659091 0.295455 -vt 0.628788 0.265152 -vt 0.628788 0.295455 -vt 0.598485 0.265152 -vt 0.598485 0.295455 -vt 0.568182 0.265152 -vt 0.568182 0.295455 -vt 0.537879 0.265152 -vt 0.537879 0.295455 -vt 0.507576 0.265152 -vt 0.507576 0.295455 -vt 0.992424 0.265152 -vt 0.962121 0.265152 -vt 0.962121 0.295455 -vt 0.992424 0.295455 -vt 0.931818 0.265152 -vt 0.931818 0.295455 -vt 0.901515 0.265152 -vt 0.901515 0.295455 -vt 0.613449 0.318703 -vt 0.597693 0.397916 -vt 0.581936 0.318703 -vt 0.765436 0.318703 -vt 0.781192 0.397916 -vt 0.796949 0.318703 -vt 0.826063 0.330762 -vt 0.848346 0.353045 -vt 0.860405 0.382159 -vt 0.860405 0.413672 -vt 0.848346 0.442786 -vt 0.826063 0.465069 -vt 0.796949 0.477128 -vt 0.765436 0.477128 -vt 0.736322 0.465069 -vt 0.714039 0.442786 -vt 0.701980 0.413672 -vt 0.701980 0.382159 -vt 0.714039 0.353045 -vt 0.736322 0.330762 -vt 0.552823 0.330762 -vt 0.530540 0.353045 -vt 0.518480 0.382159 -vt 0.518480 0.413672 -vt 0.530540 0.442786 -vt 0.552822 0.465069 -vt 0.581936 0.477128 -vt 0.613449 0.477128 -vt 0.642563 0.465069 -vt 0.664846 0.442786 -vt 0.676906 0.413672 -vt 0.676906 0.382159 -vt 0.664846 0.353045 -vt 0.642563 0.330762 -vt 0.598485 0.250000 -vt 0.598485 0.007576 -vt 0.628788 0.007576 -vt 0.628788 0.250000 -vt 0.552823 0.330759 -vt 0.581937 0.318699 -vt 0.597694 0.397912 -vt 0.530540 0.353042 -vt 0.518481 0.382156 -vt 0.518481 0.413668 -vt 0.530540 0.442782 -vt 0.552823 0.465065 -vt 0.581937 0.477125 -vt 0.613450 0.477125 -vt 0.642564 0.465065 -vt 0.664847 0.442782 -vt 0.676906 0.413668 -vt 0.676906 0.382156 -vt 0.664847 0.353042 -vt 0.642564 0.330759 -vt 0.613450 0.318699 -vt 0.736320 0.330759 -vt 0.765434 0.318699 -vt 0.781190 0.397912 -vt 0.714037 0.353041 -vt 0.701978 0.382156 -vt 0.701978 0.413668 -vt 0.714037 0.442782 -vt 0.736320 0.465065 -vt 0.765434 0.477125 -vt 0.796947 0.477125 -vt 0.826061 0.465065 -vt 0.848344 0.442782 -vt 0.860403 0.413668 -vt 0.860403 0.382156 -vt 0.848344 0.353041 -vt 0.826061 0.330759 -vt 0.796947 0.318699 -vt 0.931818 0.250000 -vt 0.931818 0.007576 -vt 0.962121 0.007576 -vt 0.962121 0.250000 -vt 0.871212 0.250000 -vt 0.871212 0.007576 -vt 0.901515 0.007576 -vt 0.901515 0.250000 -vt 0.780303 0.250000 -vt 0.780303 0.007576 -vt 0.810606 0.007576 -vt 0.810606 0.250000 -vt 0.840909 0.250000 -vt 0.840909 0.007576 -vt 0.750000 0.250000 -vt 0.750000 0.007576 -vt 0.719697 0.250000 -vt 0.719697 0.007576 -vt 0.689394 0.250000 -vt 0.689394 0.007576 -vt 0.659091 0.250000 -vt 0.659091 0.007576 -vt 0.568182 0.250000 -vt 0.568182 0.007576 -vt 0.537879 0.250000 -vt 0.537879 0.007576 -vt 0.507576 0.250000 -vt 0.507576 0.007576 -vt 0.992424 0.007576 -vt 0.992424 0.250000 -vt 0.507576 0.507576 -vt 0.992424 0.507576 -vt 0.992424 0.992424 -vt 0.507576 0.992424 -vt 0.068182 0.492424 -vt 0.007576 0.492424 -vt 0.007576 0.007576 -vt 0.068182 0.007576 -vt 0.492424 0.992424 -vt 0.007576 0.992424 -vt 0.007576 0.507576 -vt 0.492424 0.507576 -vt 0.295455 0.492424 -vt 0.234848 0.492424 -vt 0.234848 0.007576 -vt 0.295455 0.007576 -vt 0.219697 0.007576 -vt 0.219697 0.492424 -vt 0.159091 0.492424 -vt 0.159091 0.007576 -vt 0.083333 0.492424 -vt 0.083333 0.007576 -vt 0.143939 0.007576 -vt 0.143939 0.492424 -s off -f 1/1 3/2 4/3 2/4 -f 3/2 5/5 6/6 4/3 -f 5/5 7/7 8/8 6/6 -f 7/7 9/9 10/10 8/8 -f 9/9 11/11 12/12 10/10 -f 11/11 13/13 14/14 12/12 -f 13/13 15/15 16/16 14/14 -f 15/15 17/17 18/18 16/16 -f 17/17 19/19 20/20 18/18 -f 19/19 21/21 22/22 20/20 -f 21/21 23/23 24/24 22/22 -f 23/23 25/25 26/26 24/24 -f 25/27 27/28 28/29 26/30 -f 27/28 29/31 30/32 28/29 -f 31/33 1/1 2/4 32/34 -f 29/31 31/33 32/34 30/32 -f 4/35 50/36 2/37 -f 1/38 49/39 3/40 -f 3/40 49/39 5/41 -f 5/41 49/39 7/42 -f 7/42 49/39 9/43 -f 9/43 49/39 11/44 -f 11/44 49/39 13/45 -f 13/45 49/39 15/46 -f 15/46 49/39 17/47 -f 17/47 49/39 19/48 -f 19/48 49/39 21/49 -f 21/49 49/39 23/50 -f 23/50 49/39 25/51 -f 25/51 49/39 27/52 -f 27/52 49/39 29/53 -f 29/53 49/39 31/54 -f 31/54 49/39 1/38 -f 2/37 50/36 32/55 -f 32/55 50/36 30/56 -f 30/56 50/36 28/57 -f 28/57 50/36 26/58 -f 26/58 50/36 24/59 -f 24/59 50/36 22/60 -f 22/60 50/36 20/61 -f 20/61 50/36 18/62 -f 18/62 50/36 16/63 -f 16/63 50/36 14/64 -f 14/64 50/36 12/65 -f 12/65 50/36 10/66 -f 10/66 50/36 8/67 -f 8/67 50/36 6/68 -f 6/68 50/36 4/35 -f 41/69 91/70 92/71 42/72 -f 81/73 83/74 100/75 -f 79/76 81/73 100/75 -f 77/77 79/76 100/75 -f 75/78 77/77 100/75 -f 73/79 75/78 100/75 -f 71/80 73/79 100/75 -f 69/81 71/80 100/75 -f 67/82 69/81 100/75 -f 65/83 67/82 100/75 -f 63/84 65/83 100/75 -f 61/85 63/84 100/75 -f 59/86 61/85 100/75 -f 57/87 59/86 100/75 -f 55/88 57/87 100/75 -f 85/89 55/88 100/75 -f 56/90 86/91 99/92 -f 58/93 56/90 99/92 -f 60/94 58/93 99/92 -f 62/95 60/94 99/92 -f 64/96 62/95 99/92 -f 66/97 64/96 99/92 -f 68/98 66/97 99/92 -f 70/99 68/98 99/92 -f 72/100 70/99 99/92 -f 74/101 72/100 99/92 -f 76/102 74/101 99/92 -f 78/103 76/102 99/92 -f 80/104 78/103 99/92 -f 82/105 80/104 99/92 -f 84/106 82/105 99/92 -f 86/91 84/106 99/92 -f 83/74 85/89 100/75 -f 58/22 57/21 55/19 56/20 -f 56/20 55/19 85/17 86/18 -f 60/24 59/23 57/21 58/22 -f 62/26 61/25 59/23 60/24 -f 64/29 63/28 61/27 62/30 -f 66/32 65/31 63/28 64/29 -f 68/34 67/33 65/31 66/32 -f 70/4 69/1 67/33 68/34 -f 72/3 71/2 69/1 70/4 -f 74/6 73/5 71/2 72/3 -f 76/8 75/7 73/5 74/6 -f 78/10 77/9 75/7 76/8 -f 80/12 79/11 77/9 78/10 -f 82/14 81/13 79/11 80/12 -f 84/16 83/15 81/13 82/14 -f 86/18 85/17 83/15 84/16 -f 36/107 51/108 87/109 37/110 -f 34/111 53/112 52/113 35/114 -f 47/115 97/116 98/117 48/118 -f 33/119 54/120 53/112 34/111 -f 35/114 52/113 51/108 36/107 -f 48/118 98/117 54/120 33/119 -f 46/121 96/122 97/116 47/115 -f 45/123 95/124 96/122 46/121 -f 44/125 94/126 95/124 45/123 -f 43/127 93/128 94/126 44/125 -f 42/72 92/71 93/128 43/127 -f 40/129 90/130 91/70 41/69 -f 39/131 89/132 90/130 40/129 -f 38/133 88/134 89/132 39/131 -f 37/110 87/109 88/135 38/136 -f 105/137 106/138 102/139 101/140 -f 106/141 107/142 103/143 102/144 -f 107/145 108/146 104/147 103/148 -f 108/149 105/150 101/151 104/152 -f 101/153 102/154 103/155 104/156 -f 108/157 107/158 106/159 105/160 diff --git a/mods/pipeworks/models/pipeworks_flow_sensor.obj b/mods/pipeworks/models/pipeworks_flow_sensor.obj deleted file mode 100755 index f0ba87e8..00000000 --- a/mods/pipeworks/models/pipeworks_flow_sensor.obj +++ /dev/null @@ -1,390 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-flow-sensor.blend' -# www.blender.org -o Cube.001 -v -0.468750 -0.153248 -0.030483 -v -0.500000 -0.153248 -0.030483 -v -0.468750 -0.153248 0.030483 -v -0.500000 -0.153248 0.030483 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.030483 0.153248 -v -0.500000 -0.030483 0.153248 -v -0.468750 0.030483 0.153248 -v -0.500000 0.030483 0.153248 -v -0.468750 0.086808 0.129917 -v -0.500000 0.086808 0.129917 -v -0.468750 0.129917 0.086808 -v -0.500000 0.129917 0.086808 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153247 0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.030483 -0.153248 -v -0.500000 0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.122598 -0.024386 -v -0.468750 -0.122598 0.024386 -v -0.468750 -0.103934 0.069446 -v -0.468750 -0.069446 0.103934 -v -0.468750 -0.024386 0.122598 -v -0.468750 0.024386 0.122598 -v -0.468750 0.069446 0.103934 -v -0.468750 0.103934 0.069446 -v -0.468750 0.122598 0.024386 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.069446 -0.103934 -v -0.468750 0.024386 -0.122598 -v -0.468750 -0.024387 -0.122598 -v -0.468750 -0.069447 -0.103934 -v -0.468750 -0.103934 -0.069446 -v -0.468750 -0.000000 -0.000000 -v -0.500000 -0.000000 -0.000000 -v 0.468750 -0.069446 0.103934 -v 0.468750 -0.103933 0.069447 -v 0.468750 -0.122598 0.024387 -v 0.468750 -0.122598 -0.024386 -v 0.500000 -0.129917 -0.086807 -v 0.468750 -0.129917 -0.086807 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.468750 -0.030483 -0.153247 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.030483 -0.153247 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.153248 -0.030483 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.129917 0.086808 -v 0.468750 0.129917 0.086808 -v 0.500000 0.086808 0.129917 -v 0.468750 0.086808 0.129917 -v 0.500000 0.030483 0.153248 -v 0.468750 0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.086808 0.129917 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.153247 0.030483 -v 0.468750 -0.153247 0.030483 -v 0.500000 -0.153247 -0.030483 -v 0.468750 -0.153247 -0.030483 -v 0.468750 -0.024386 0.122598 -v 0.468750 0.024387 0.122598 -v 0.468750 0.069447 0.103934 -v 0.468750 0.103934 0.069447 -v 0.468750 0.122598 0.024387 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.069447 -0.103933 -v 0.468750 0.024387 -0.122598 -v 0.468750 -0.024386 -0.122598 -v 0.468750 -0.069446 -0.103933 -v 0.468750 -0.103933 -0.069446 -v 0.468750 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -v 0.250000 -0.187500 0.187500 -v -0.250000 -0.187500 0.187500 -v -0.250000 -0.187500 -0.187500 -v 0.250000 -0.187500 -0.187500 -v 0.250000 0.187500 0.187500 -v -0.250000 0.187500 0.187500 -v -0.250000 0.187500 -0.187500 -v 0.250000 0.187500 -0.187500 -vt 0.813725 0.460784 -vt 0.774510 0.460784 -vt 0.774510 0.500000 -vt 0.813725 0.500000 -vt 0.735294 0.460784 -vt 0.735294 0.500000 -vt 0.696078 0.460784 -vt 0.696078 0.500000 -vt 0.656863 0.460784 -vt 0.656863 0.500000 -vt 0.617647 0.460784 -vt 0.617647 0.500000 -vt 0.578431 0.460784 -vt 0.578431 0.500000 -vt 0.539216 0.460784 -vt 0.539216 0.500000 -vt 0.500000 0.460784 -vt 0.500000 0.500000 -vt 0.460784 0.460784 -vt 0.460784 0.500000 -vt 0.421569 0.460784 -vt 0.421569 0.500000 -vt 0.382353 0.460784 -vt 0.382353 0.500000 -vt 0.343137 0.460784 -vt 0.343137 0.500000 -vt 0.970588 0.460784 -vt 0.931373 0.460784 -vt 0.931373 0.500000 -vt 0.970588 0.500000 -vt 0.892157 0.460784 -vt 0.892157 0.500000 -vt 0.852941 0.460784 -vt 0.852941 0.500000 -vt 0.480968 0.531171 -vt 0.460590 0.633014 -vt 0.440211 0.531171 -vt 0.677539 0.531171 -vt 0.697917 0.633014 -vt 0.718296 0.531171 -vt 0.755950 0.546676 -vt 0.784770 0.575325 -vt 0.800366 0.612756 -vt 0.800366 0.653272 -vt 0.784770 0.690703 -vt 0.755950 0.719352 -vt 0.718296 0.734857 -vt 0.677539 0.734857 -vt 0.639884 0.719352 -vt 0.611065 0.690703 -vt 0.595468 0.653272 -vt 0.595468 0.612756 -vt 0.611065 0.575325 -vt 0.639885 0.546676 -vt 0.402557 0.546676 -vt 0.373737 0.575325 -vt 0.358140 0.612756 -vt 0.358140 0.653272 -vt 0.373737 0.690703 -vt 0.402557 0.719352 -vt 0.440211 0.734857 -vt 0.480968 0.734857 -vt 0.518622 0.719352 -vt 0.547442 0.690703 -vt 0.563039 0.653272 -vt 0.563039 0.612756 -vt 0.547442 0.575325 -vt 0.518622 0.546676 -vt 0.460784 0.441176 -vt 0.460784 0.127451 -vt 0.500000 0.127451 -vt 0.500000 0.441176 -vt 0.402558 0.546671 -vt 0.440212 0.531167 -vt 0.460591 0.633009 -vt 0.373738 0.575320 -vt 0.358141 0.612752 -vt 0.358141 0.653267 -vt 0.373738 0.690699 -vt 0.402558 0.719348 -vt 0.440212 0.734852 -vt 0.480969 0.734852 -vt 0.518623 0.719348 -vt 0.547443 0.690699 -vt 0.563040 0.653267 -vt 0.563040 0.612752 -vt 0.547443 0.575320 -vt 0.518623 0.546671 -vt 0.480969 0.531167 -vt 0.639882 0.546671 -vt 0.677537 0.531167 -vt 0.697915 0.633009 -vt 0.611063 0.575320 -vt 0.595466 0.612752 -vt 0.595466 0.653267 -vt 0.611063 0.690699 -vt 0.639882 0.719347 -vt 0.677537 0.734852 -vt 0.718293 0.734852 -vt 0.755947 0.719347 -vt 0.784767 0.690699 -vt 0.800364 0.653267 -vt 0.800364 0.612752 -vt 0.784767 0.575320 -vt 0.755948 0.546671 -vt 0.718293 0.531167 -vt 0.892157 0.441176 -vt 0.892157 0.127451 -vt 0.931373 0.127451 -vt 0.931373 0.441176 -vt 0.813725 0.441176 -vt 0.813725 0.127451 -vt 0.852941 0.127451 -vt 0.852941 0.441176 -vt 0.696078 0.441176 -vt 0.696078 0.127451 -vt 0.735294 0.127451 -vt 0.735294 0.441176 -vt 0.774510 0.441176 -vt 0.774510 0.127451 -vt 0.656863 0.441176 -vt 0.656863 0.127451 -vt 0.617647 0.441176 -vt 0.617647 0.127451 -vt 0.578431 0.441176 -vt 0.578431 0.127451 -vt 0.539216 0.441176 -vt 0.539216 0.127451 -vt 0.421569 0.441176 -vt 0.421569 0.127451 -vt 0.382353 0.441176 -vt 0.382353 0.127451 -vt 0.343137 0.441176 -vt 0.343137 0.127451 -vt 0.970588 0.127451 -vt 0.970588 0.441176 -vt 0.009804 0.500000 -vt 0.323529 0.500000 -vt 0.323529 0.735294 -vt 0.009804 0.735294 -vt 0.264706 0.990196 -vt 0.264706 0.754902 -vt 0.500000 0.754902 -vt 0.500000 0.990196 -vt 0.519608 0.754902 -vt 0.833333 0.754902 -vt 0.833333 0.990196 -vt 0.519608 0.990196 -vt 0.245098 0.754902 -vt 0.245098 0.990196 -vt 0.009804 0.990196 -vt 0.009804 0.754902 -vt 0.323529 0.245098 -vt 0.009804 0.245098 -vt 0.009804 0.009804 -vt 0.323529 0.009804 -vt 0.009804 0.254902 -vt 0.323529 0.254902 -vt 0.323529 0.490196 -vt 0.009804 0.490196 -s off -f 1/1 3/2 4/3 2/4 -f 3/2 5/5 6/6 4/3 -f 5/5 7/7 8/8 6/6 -f 7/7 9/9 10/10 8/8 -f 9/9 11/11 12/12 10/10 -f 11/11 13/13 14/14 12/12 -f 13/13 15/15 16/16 14/14 -f 15/15 17/17 18/18 16/16 -f 17/17 19/19 20/20 18/18 -f 19/19 21/21 22/22 20/20 -f 21/21 23/23 24/24 22/22 -f 23/23 25/25 26/26 24/24 -f 25/27 27/28 28/29 26/30 -f 27/28 29/31 30/32 28/29 -f 31/33 1/1 2/4 32/34 -f 29/31 31/33 32/34 30/32 -f 4/35 50/36 2/37 -f 1/38 49/39 3/40 -f 3/40 49/39 5/41 -f 5/41 49/39 7/42 -f 7/42 49/39 9/43 -f 9/43 49/39 11/44 -f 11/44 49/39 13/45 -f 13/45 49/39 15/46 -f 15/46 49/39 17/47 -f 17/47 49/39 19/48 -f 19/48 49/39 21/49 -f 21/49 49/39 23/50 -f 23/50 49/39 25/51 -f 25/51 49/39 27/52 -f 27/52 49/39 29/53 -f 29/53 49/39 31/54 -f 31/54 49/39 1/38 -f 2/37 50/36 32/55 -f 32/55 50/36 30/56 -f 30/56 50/36 28/57 -f 28/57 50/36 26/58 -f 26/58 50/36 24/59 -f 24/59 50/36 22/60 -f 22/60 50/36 20/61 -f 20/61 50/36 18/62 -f 18/62 50/36 16/63 -f 16/63 50/36 14/64 -f 14/64 50/36 12/65 -f 12/65 50/36 10/66 -f 10/66 50/36 8/67 -f 8/67 50/36 6/68 -f 6/68 50/36 4/35 -f 41/69 91/70 92/71 42/72 -f 81/73 83/74 100/75 -f 79/76 81/73 100/75 -f 77/77 79/76 100/75 -f 75/78 77/77 100/75 -f 73/79 75/78 100/75 -f 71/80 73/79 100/75 -f 69/81 71/80 100/75 -f 67/82 69/81 100/75 -f 65/83 67/82 100/75 -f 63/84 65/83 100/75 -f 61/85 63/84 100/75 -f 59/86 61/85 100/75 -f 57/87 59/86 100/75 -f 55/88 57/87 100/75 -f 85/89 55/88 100/75 -f 56/90 86/91 99/92 -f 58/93 56/90 99/92 -f 60/94 58/93 99/92 -f 62/95 60/94 99/92 -f 64/96 62/95 99/92 -f 66/97 64/96 99/92 -f 68/98 66/97 99/92 -f 70/99 68/98 99/92 -f 72/100 70/99 99/92 -f 74/101 72/100 99/92 -f 76/102 74/101 99/92 -f 78/103 76/102 99/92 -f 80/104 78/103 99/92 -f 82/105 80/104 99/92 -f 84/106 82/105 99/92 -f 86/91 84/106 99/92 -f 83/74 85/89 100/75 -f 58/22 57/21 55/19 56/20 -f 56/20 55/19 85/17 86/18 -f 60/24 59/23 57/21 58/22 -f 62/26 61/25 59/23 60/24 -f 64/29 63/28 61/27 62/30 -f 66/32 65/31 63/28 64/29 -f 68/34 67/33 65/31 66/32 -f 70/4 69/1 67/33 68/34 -f 72/3 71/2 69/1 70/4 -f 74/6 73/5 71/2 72/3 -f 76/8 75/7 73/5 74/6 -f 78/10 77/9 75/7 76/8 -f 80/12 79/11 77/9 78/10 -f 82/14 81/13 79/11 80/12 -f 84/16 83/15 81/13 82/14 -f 86/18 85/17 83/15 84/16 -f 36/107 51/108 87/109 37/110 -f 34/111 53/112 52/113 35/114 -f 47/115 97/116 98/117 48/118 -f 33/119 54/120 53/112 34/111 -f 35/114 52/113 51/108 36/107 -f 48/118 98/117 54/120 33/119 -f 46/121 96/122 97/116 47/115 -f 45/123 95/124 96/122 46/121 -f 44/125 94/126 95/124 45/123 -f 43/127 93/128 94/126 44/125 -f 42/72 92/71 93/128 43/127 -f 40/129 90/130 91/70 41/69 -f 39/131 89/132 90/130 40/129 -f 38/133 88/134 89/132 39/131 -f 37/110 87/109 88/135 38/136 -f 105/137 106/138 102/139 101/140 -f 106/141 107/142 103/143 102/144 -f 107/145 108/146 104/147 103/148 -f 108/149 105/150 101/151 104/152 -f 101/153 102/154 103/155 104/156 -f 108/157 107/158 106/159 105/160 diff --git a/mods/pipeworks/models/pipeworks_fountainhead.obj b/mods/pipeworks/models/pipeworks_fountainhead.obj deleted file mode 100755 index 7685dbfb..00000000 --- a/mods/pipeworks/models/pipeworks_fountainhead.obj +++ /dev/null @@ -1,352 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-fountainhead.blend' -# www.blender.org -o Cube.001 -v 0.153248 -0.468750 -0.030483 -v 0.153248 -0.500000 -0.030483 -v 0.153248 -0.468750 0.030483 -v 0.153248 -0.500000 0.030483 -v 0.129917 -0.468750 0.086808 -v 0.129917 -0.500000 0.086808 -v 0.086808 -0.468750 0.129917 -v 0.086808 -0.500000 0.129917 -v 0.030483 -0.468750 0.153248 -v 0.030483 -0.500000 0.153248 -v -0.030483 -0.468750 0.153248 -v -0.030483 -0.500000 0.153248 -v -0.086808 -0.468750 0.129917 -v -0.086808 -0.500000 0.129917 -v -0.129917 -0.468750 0.086808 -v -0.129917 -0.500000 0.086808 -v -0.153247 -0.468750 0.030483 -v -0.153247 -0.500000 0.030483 -v -0.153247 -0.468750 -0.030483 -v -0.153247 -0.500000 -0.030483 -v -0.129917 -0.468750 -0.086808 -v -0.129917 -0.500000 -0.086808 -v -0.086808 -0.468750 -0.129917 -v -0.086807 -0.500000 -0.129917 -v -0.030482 -0.468750 -0.153248 -v -0.030482 -0.500000 -0.153248 -v 0.030483 -0.468750 -0.153248 -v 0.030483 -0.500000 -0.153248 -v 0.086808 -0.468750 -0.129917 -v 0.086808 -0.500000 -0.129917 -v 0.129918 -0.468750 -0.086808 -v 0.129918 -0.500000 -0.086808 -v 0.122598 -0.468750 -0.024386 -v 0.122598 -0.468750 0.024386 -v 0.103934 -0.468750 0.069446 -v 0.069447 -0.468750 0.103934 -v 0.024387 -0.468750 0.122598 -v -0.024386 -0.468750 0.122598 -v -0.069446 -0.468750 0.103934 -v -0.103933 -0.468750 0.069446 -v -0.122598 -0.468750 0.024386 -v -0.122598 -0.468750 -0.024386 -v -0.103933 -0.468750 -0.069446 -v -0.069446 -0.468750 -0.103934 -v -0.024386 -0.468750 -0.122598 -v 0.024387 -0.468750 -0.122598 -v 0.069447 -0.468750 -0.103934 -v 0.103934 -0.468750 -0.069446 -v 0.000000 -0.468750 0.000000 -v 0.000000 -0.500000 -0.000000 -v 0.069446 0.312500 0.103934 -v 0.103933 0.312500 0.069447 -v 0.122598 0.312500 0.024387 -v 0.122598 0.312500 -0.024386 -v 0.129917 0.500000 -0.086808 -v 0.129917 0.312500 -0.086808 -v 0.086808 0.500000 -0.129917 -v 0.086808 0.312500 -0.129917 -v 0.030483 0.500000 -0.153247 -v 0.030483 0.312500 -0.153248 -v -0.030483 0.500000 -0.153247 -v -0.030483 0.312500 -0.153248 -v -0.086808 0.500000 -0.129917 -v -0.086808 0.312500 -0.129917 -v -0.129918 0.500000 -0.086808 -v -0.129918 0.312500 -0.086808 -v -0.153248 0.500000 -0.030483 -v -0.153248 0.312500 -0.030483 -v -0.153248 0.500000 0.030483 -v -0.153248 0.312500 0.030483 -v -0.129918 0.500000 0.086808 -v -0.129918 0.312500 0.086808 -v -0.086808 0.500000 0.129917 -v -0.086808 0.312500 0.129917 -v -0.030483 0.500000 0.153248 -v -0.030483 0.312500 0.153248 -v 0.030482 0.500000 0.153248 -v 0.030482 0.312500 0.153248 -v 0.086807 0.500000 0.129917 -v 0.086807 0.312500 0.129917 -v 0.129917 0.500000 0.086808 -v 0.129917 0.312500 0.086808 -v 0.153247 0.500000 0.030483 -v 0.153247 0.312500 0.030483 -v 0.153247 0.500000 -0.030483 -v 0.153247 0.312500 -0.030483 -v 0.024386 0.312500 0.122598 -v -0.024387 0.312500 0.122598 -v -0.069447 0.312500 0.103934 -v -0.103934 0.312500 0.069446 -v -0.122599 0.312500 0.024386 -v -0.122599 0.312500 -0.024386 -v -0.103934 0.312500 -0.069446 -v -0.069447 0.312500 -0.103934 -v -0.024387 0.312500 -0.122598 -v 0.024386 0.312500 -0.122598 -v 0.069446 0.312500 -0.103933 -v 0.103933 0.312500 -0.069446 -v -0.000000 0.312500 0.000000 -v -0.000000 0.500000 0.000000 -vt 0.680556 0.486111 -vt 0.625000 0.486111 -vt 0.625000 0.652778 -vt 0.680556 0.652778 -vt 0.569444 0.486111 -vt 0.569444 0.652778 -vt 0.513889 0.486111 -vt 0.513889 0.652778 -vt 0.458333 0.486111 -vt 0.458333 0.652778 -vt 0.402778 0.486111 -vt 0.402778 0.652778 -vt 0.347222 0.486111 -vt 0.347222 0.652778 -vt 0.291667 0.486111 -vt 0.291667 0.652778 -vt 0.236111 0.486111 -vt 0.236111 0.652778 -vt 0.180556 0.486111 -vt 0.180556 0.652778 -vt 0.125000 0.486111 -vt 0.125000 0.652778 -vt 0.069444 0.486111 -vt 0.069444 0.652778 -vt 0.013889 0.486111 -vt 0.013889 0.652778 -vt 0.902778 0.486111 -vt 0.847222 0.486111 -vt 0.847222 0.652778 -vt 0.902778 0.652778 -vt 0.791667 0.486111 -vt 0.791667 0.652778 -vt 0.736111 0.486111 -vt 0.736111 0.652778 -vt 0.194034 0.696809 -vt 0.165430 0.839757 -vt 0.136827 0.696809 -vt 0.469943 0.696809 -vt 0.498546 0.839757 -vt 0.527150 0.696809 -vt 0.580002 0.718572 -vt 0.620453 0.758784 -vt 0.642345 0.811323 -vt 0.642345 0.868191 -vt 0.620453 0.920730 -vt 0.580002 0.960942 -vt 0.527149 0.982704 -vt 0.469943 0.982704 -vt 0.417091 0.960942 -vt 0.376639 0.920730 -vt 0.354747 0.868191 -vt 0.354747 0.811323 -vt 0.376639 0.758784 -vt 0.417091 0.718572 -vt 0.083975 0.718572 -vt 0.043524 0.758784 -vt 0.021631 0.811323 -vt 0.021631 0.868191 -vt 0.043523 0.920730 -vt 0.083975 0.960942 -vt 0.136827 0.982704 -vt 0.194034 0.982704 -vt 0.246886 0.960942 -vt 0.287337 0.920730 -vt 0.309229 0.868191 -vt 0.309229 0.811323 -vt 0.287337 0.758784 -vt 0.246886 0.718572 -vt 0.180556 0.458333 -vt 0.180556 0.013889 -vt 0.236111 0.013889 -vt 0.236111 0.458333 -vt 0.750889 0.718565 -vt 0.803741 0.696803 -vt 0.832345 0.839750 -vt 0.710438 0.758777 -vt 0.688546 0.811316 -vt 0.688546 0.868184 -vt 0.710438 0.920723 -vt 0.750889 0.960935 -vt 0.803741 0.982698 -vt 0.860948 0.982698 -vt 0.913800 0.960935 -vt 0.954251 0.920723 -vt 0.976143 0.868184 -vt 0.976143 0.811316 -vt 0.954251 0.758777 -vt 0.913800 0.718565 -vt 0.860948 0.696803 -vt 0.417087 0.718565 -vt 0.469939 0.696803 -vt 0.498543 0.839750 -vt 0.376636 0.758777 -vt 0.354744 0.811316 -vt 0.354744 0.868184 -vt 0.376636 0.920723 -vt 0.417087 0.960935 -vt 0.469939 0.982698 -vt 0.527146 0.982698 -vt 0.579998 0.960935 -vt 0.620449 0.920723 -vt 0.642341 0.868184 -vt 0.642341 0.811316 -vt 0.620449 0.758777 -vt 0.579998 0.718565 -vt 0.527146 0.696803 -vt 0.791667 0.458333 -vt 0.791667 0.013889 -vt 0.847222 0.013889 -vt 0.847222 0.458333 -vt 0.680556 0.458333 -vt 0.680556 0.013889 -vt 0.736111 0.013889 -vt 0.736111 0.458333 -vt 0.513889 0.458333 -vt 0.513889 0.013889 -vt 0.569444 0.013889 -vt 0.569444 0.458333 -vt 0.625000 0.458333 -vt 0.625000 0.013889 -vt 0.458333 0.458333 -vt 0.458333 0.013889 -vt 0.402778 0.458333 -vt 0.402778 0.013889 -vt 0.347222 0.458333 -vt 0.347222 0.013889 -vt 0.291667 0.458333 -vt 0.291667 0.013889 -vt 0.125000 0.458333 -vt 0.125000 0.013889 -vt 0.069444 0.458333 -vt 0.069444 0.013889 -vt 0.013889 0.458333 -vt 0.013889 0.013889 -vt 0.902778 0.013889 -vt 0.902778 0.458333 -s off -f 1/1 3/2 4/3 2/4 -f 3/2 5/5 6/6 4/3 -f 5/5 7/7 8/8 6/6 -f 7/7 9/9 10/10 8/8 -f 9/9 11/11 12/12 10/10 -f 11/11 13/13 14/14 12/12 -f 13/13 15/15 16/16 14/14 -f 15/15 17/17 18/18 16/16 -f 17/17 19/19 20/20 18/18 -f 19/19 21/21 22/22 20/20 -f 21/21 23/23 24/24 22/22 -f 23/23 25/25 26/26 24/24 -f 25/27 27/28 28/29 26/30 -f 27/28 29/31 30/32 28/29 -f 31/33 1/1 2/4 32/34 -f 29/31 31/33 32/34 30/32 -f 4/35 50/36 2/37 -f 1/38 49/39 3/40 -f 3/40 49/39 5/41 -f 5/41 49/39 7/42 -f 7/42 49/39 9/43 -f 9/43 49/39 11/44 -f 11/44 49/39 13/45 -f 13/45 49/39 15/46 -f 15/46 49/39 17/47 -f 17/47 49/39 19/48 -f 19/48 49/39 21/49 -f 21/49 49/39 23/50 -f 23/50 49/39 25/51 -f 25/51 49/39 27/52 -f 27/52 49/39 29/53 -f 29/53 49/39 31/54 -f 31/54 49/39 1/38 -f 2/37 50/36 32/55 -f 32/55 50/36 30/56 -f 30/56 50/36 28/57 -f 28/57 50/36 26/58 -f 26/58 50/36 24/59 -f 24/59 50/36 22/60 -f 22/60 50/36 20/61 -f 20/61 50/36 18/62 -f 18/62 50/36 16/63 -f 16/63 50/36 14/64 -f 14/64 50/36 12/65 -f 12/65 50/36 10/66 -f 10/66 50/36 8/67 -f 8/67 50/36 6/68 -f 6/68 50/36 4/35 -f 41/69 91/70 92/71 42/72 -f 81/73 83/74 100/75 -f 79/76 81/73 100/75 -f 77/77 79/76 100/75 -f 75/78 77/77 100/75 -f 73/79 75/78 100/75 -f 71/80 73/79 100/75 -f 69/81 71/80 100/75 -f 67/82 69/81 100/75 -f 65/83 67/82 100/75 -f 63/84 65/83 100/75 -f 61/85 63/84 100/75 -f 59/86 61/85 100/75 -f 57/87 59/86 100/75 -f 55/88 57/87 100/75 -f 85/89 55/88 100/75 -f 56/90 86/91 99/92 -f 58/93 56/90 99/92 -f 60/94 58/93 99/92 -f 62/95 60/94 99/92 -f 64/96 62/95 99/92 -f 66/97 64/96 99/92 -f 68/98 66/97 99/92 -f 70/99 68/98 99/92 -f 72/100 70/99 99/92 -f 74/101 72/100 99/92 -f 76/102 74/101 99/92 -f 78/103 76/102 99/92 -f 80/104 78/103 99/92 -f 82/105 80/104 99/92 -f 84/106 82/105 99/92 -f 86/91 84/106 99/92 -f 83/74 85/89 100/75 -f 58/22 57/21 55/19 56/20 -f 56/20 55/19 85/17 86/18 -f 60/24 59/23 57/21 58/22 -f 62/26 61/25 59/23 60/24 -f 64/29 63/28 61/27 62/30 -f 66/32 65/31 63/28 64/29 -f 68/34 67/33 65/31 66/32 -f 70/4 69/1 67/33 68/34 -f 72/3 71/2 69/1 70/4 -f 74/6 73/5 71/2 72/3 -f 76/8 75/7 73/5 74/6 -f 78/10 77/9 75/7 76/8 -f 80/12 79/11 77/9 78/10 -f 82/14 81/13 79/11 80/12 -f 84/16 83/15 81/13 82/14 -f 86/18 85/17 83/15 84/16 -f 36/107 51/108 87/109 37/110 -f 34/111 53/112 52/113 35/114 -f 47/115 97/116 98/117 48/118 -f 33/119 54/120 53/112 34/111 -f 35/114 52/113 51/108 36/107 -f 48/118 98/117 54/120 33/119 -f 46/121 96/122 97/116 47/115 -f 45/123 95/124 96/122 46/121 -f 44/125 94/126 95/124 45/123 -f 43/127 93/128 94/126 44/125 -f 42/72 92/71 93/128 43/127 -f 40/129 90/130 91/70 41/69 -f 39/131 89/132 90/130 40/129 -f 38/133 88/134 89/132 39/131 -f 37/110 87/109 88/135 38/136 diff --git a/mods/pipeworks/models/pipeworks_pipe_10.obj b/mods/pipeworks/models/pipeworks_pipe_10.obj deleted file mode 100755 index 9edb938d..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_10.obj +++ /dev/null @@ -1,891 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-6way.blend' -# www.blender.org -mtllib pipeworks_pipe_10.mtl -o Cube.000 -v 0.069446 -0.468750 -0.103934 -v 0.103933 -0.468750 -0.069446 -v 0.122598 -0.468750 -0.024386 -v 0.122598 -0.468750 0.024386 -v 0.129917 -0.500000 0.086808 -v 0.129917 -0.468750 0.086808 -v 0.086808 -0.500000 0.129917 -v 0.086808 -0.468750 0.129917 -v 0.030483 -0.500000 0.153247 -v 0.030483 -0.468750 0.153248 -v -0.030483 -0.500000 0.153247 -v -0.030483 -0.468750 0.153248 -v -0.086808 -0.500000 0.129917 -v -0.086808 -0.468750 0.129917 -v -0.129918 -0.500000 0.086808 -v -0.129917 -0.468750 0.086808 -v -0.153248 -0.500000 0.030483 -v -0.153248 -0.468750 0.030483 -v -0.153248 -0.500000 -0.030483 -v -0.153248 -0.468750 -0.030483 -v -0.129918 -0.500000 -0.086808 -v -0.129917 -0.468750 -0.086808 -v -0.086808 -0.500000 -0.129917 -v -0.086808 -0.468750 -0.129917 -v -0.030483 -0.500000 -0.153248 -v -0.030483 -0.468750 -0.153248 -v 0.030482 -0.500000 -0.153248 -v 0.030482 -0.468750 -0.153248 -v 0.086807 -0.500000 -0.129917 -v 0.086807 -0.468750 -0.129917 -v 0.129917 -0.500000 -0.086808 -v 0.129917 -0.468750 -0.086808 -v 0.153247 -0.500000 -0.030483 -v 0.153247 -0.468750 -0.030483 -v 0.153247 -0.500000 0.030483 -v 0.153247 -0.468750 0.030483 -v 0.024386 -0.468750 -0.122598 -v -0.024387 -0.468750 -0.122598 -v -0.069447 -0.468750 -0.103934 -v -0.103934 -0.468750 -0.069446 -v -0.122599 -0.468750 -0.024386 -v -0.122599 -0.468750 0.024386 -v -0.103934 -0.468750 0.069446 -v -0.069447 -0.468750 0.103934 -v -0.024387 -0.468750 0.122598 -v 0.024386 -0.468750 0.122598 -v 0.069446 -0.468750 0.103933 -v 0.103933 -0.468750 0.069446 -v -0.000000 -0.468750 -0.000000 -v -0.000000 -0.500000 -0.000000 -v -0.024386 -0.024391 -0.122598 -v -0.069446 -0.024391 -0.103934 -v -0.103934 -0.024391 -0.069446 -v -0.122598 -0.024391 -0.024386 -v -0.122598 -0.024391 0.024386 -v -0.103934 -0.024391 0.069446 -v -0.069446 -0.024391 0.103934 -v -0.024386 -0.024391 0.122598 -v 0.024386 -0.024391 0.122598 -v 0.103934 -0.024391 0.069446 -v 0.069446 -0.024391 0.103934 -v 0.103934 -0.024391 -0.069446 -v 0.122598 -0.024391 -0.024386 -v 0.122598 -0.024391 0.024386 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v 0.153248 0.468750 0.030483 -v 0.153248 0.500000 0.030483 -v 0.153248 0.468750 -0.030483 -v 0.153248 0.500000 -0.030483 -v 0.129917 0.468750 -0.086808 -v 0.129917 0.500000 -0.086808 -v 0.086808 0.468750 -0.129917 -v 0.086808 0.500000 -0.129917 -v 0.030483 0.468750 -0.153248 -v 0.030483 0.500000 -0.153248 -v -0.030483 0.468750 -0.153248 -v -0.030483 0.500000 -0.153248 -v -0.086808 0.468750 -0.129917 -v -0.086808 0.500000 -0.129917 -v -0.129917 0.468750 -0.086808 -v -0.129917 0.500000 -0.086808 -v -0.153247 0.468750 -0.030483 -v -0.153247 0.500000 -0.030483 -v -0.153247 0.468750 0.030483 -v -0.153247 0.500000 0.030483 -v -0.129917 0.468750 0.086808 -v -0.129917 0.500000 0.086808 -v -0.086808 0.468750 0.129917 -v -0.086808 0.500000 0.129917 -v -0.030483 0.468750 0.153248 -v -0.030483 0.500000 0.153248 -v 0.030483 0.468750 0.153248 -v 0.030483 0.500000 0.153248 -v 0.086808 0.468750 0.129917 -v 0.086808 0.500000 0.129917 -v 0.129917 0.468750 0.086808 -v 0.129918 0.500000 0.086808 -v 0.122598 0.468750 0.024386 -v 0.122598 0.468750 -0.024386 -v 0.103934 0.468750 -0.069446 -v 0.069447 0.468750 -0.103934 -v 0.024387 0.468750 -0.122598 -v -0.024386 0.468750 -0.122598 -v -0.069446 0.468750 -0.103934 -v -0.103933 0.468750 -0.069446 -v -0.122598 0.468750 -0.024386 -v -0.122598 0.468750 0.024386 -v -0.103933 0.468750 0.069446 -v -0.069446 0.468750 0.103934 -v -0.024386 0.468750 0.122598 -v 0.024387 0.468750 0.122598 -v 0.069447 0.468750 0.103934 -v 0.103934 0.468750 0.069446 -v 0.000000 0.468750 -0.000000 -v 0.000000 0.500000 0.000000 -v -0.024386 0.024390 -0.122598 -v -0.069446 0.024390 -0.103934 -v -0.103934 0.024390 -0.069446 -v -0.122598 0.024390 -0.024386 -v -0.122598 0.024390 0.024386 -v -0.103934 0.024390 0.069446 -v -0.069446 0.024390 0.103934 -v -0.024386 0.024389 0.122598 -v 0.024386 0.024389 0.122598 -v 0.103934 0.024390 0.069446 -v 0.069446 0.024390 0.103934 -v 0.103934 0.024390 -0.069446 -v 0.122598 0.024390 -0.024386 -v 0.122598 0.024390 0.024386 -v 0.069446 0.024390 -0.103934 -v 0.024386 0.024390 -0.122598 -v 0.468750 -0.153248 0.030483 -v 0.500000 -0.153248 0.030483 -v 0.468750 -0.153248 -0.030483 -v 0.500000 -0.153248 -0.030483 -v 0.468750 -0.129917 -0.086808 -v 0.500000 -0.129917 -0.086808 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.030483 -0.153248 -v 0.500000 -0.030483 -0.153248 -v 0.468750 0.030483 -0.153248 -v 0.500000 0.030483 -0.153248 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153247 -0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.129917 0.086808 -v 0.500000 0.129917 0.086808 -v 0.468750 0.086808 0.129917 -v 0.500000 0.086808 0.129917 -v 0.468750 0.030483 0.153248 -v 0.500000 0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.086808 0.129917 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.122598 0.024386 -v 0.468750 -0.122598 -0.024386 -v 0.468750 -0.103934 -0.069446 -v 0.468750 -0.069446 -0.103934 -v 0.468750 -0.024386 -0.122598 -v 0.468750 0.024386 -0.122598 -v 0.468750 0.069446 -0.103934 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.122598 0.024386 -v 0.468750 0.103934 0.069446 -v 0.468750 0.069446 0.103934 -v 0.468750 0.024386 0.122598 -v 0.468750 -0.024387 0.122598 -v 0.468750 -0.069447 0.103934 -v 0.468750 -0.103934 0.069446 -v 0.468750 -0.000000 -0.000000 -v 0.500000 -0.000000 0.000000 -v -0.468750 -0.069446 -0.103934 -v -0.468750 -0.103933 -0.069446 -v -0.468750 -0.122598 -0.024387 -v -0.468750 -0.122598 0.024386 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.030483 0.153247 -v -0.468750 -0.030483 0.153248 -v -0.500000 0.030483 0.153247 -v -0.468750 0.030483 0.153248 -v -0.500000 0.086808 0.129917 -v -0.468750 0.086808 0.129917 -v -0.500000 0.129917 0.086808 -v -0.468750 0.129917 0.086808 -v -0.500000 0.153248 0.030483 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.030483 -0.153248 -v -0.468750 0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.153247 -0.030483 -v -0.468750 -0.153247 -0.030483 -v -0.500000 -0.153247 0.030483 -v -0.468750 -0.153247 0.030483 -v -0.468750 -0.024386 -0.122598 -v -0.468750 0.024387 -0.122598 -v -0.468750 0.069447 -0.103934 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.122598 0.024386 -v -0.468750 0.103934 0.069446 -v -0.468750 0.069447 0.103934 -v -0.468750 0.024387 0.122598 -v -0.468750 -0.024386 0.122598 -v -0.468750 -0.069446 0.103933 -v -0.468750 -0.103933 0.069446 -v -0.468750 0.000000 -0.000000 -v -0.500000 0.000000 -0.000000 -v 0.069446 -0.103934 0.468750 -v 0.103933 -0.069447 0.468750 -v 0.122598 -0.024387 0.468750 -v 0.122598 0.024386 0.468750 -v 0.129917 0.086807 0.500000 -v 0.129917 0.086807 0.468750 -v 0.086808 0.129917 0.500000 -v 0.086808 0.129917 0.468750 -v 0.030483 0.153247 0.500000 -v 0.030483 0.153247 0.468750 -v -0.030483 0.153247 0.500000 -v -0.030483 0.153247 0.468750 -v -0.086808 0.129917 0.500000 -v -0.086808 0.129917 0.468750 -v -0.129918 0.086808 0.500000 -v -0.129917 0.086808 0.468750 -v -0.153248 0.030483 0.500000 -v -0.153248 0.030483 0.468750 -v -0.153248 -0.030483 0.500000 -v -0.153248 -0.030483 0.468750 -v -0.129918 -0.086808 0.500000 -v -0.129917 -0.086808 0.468750 -v -0.086808 -0.129917 0.500000 -v -0.086808 -0.129917 0.468750 -v -0.030483 -0.153248 0.500000 -v -0.030483 -0.153248 0.468750 -v 0.030482 -0.153248 0.500000 -v 0.030482 -0.153248 0.468750 -v 0.086807 -0.129917 0.500000 -v 0.086807 -0.129917 0.468750 -v 0.129917 -0.086808 0.500000 -v 0.129917 -0.086808 0.468750 -v 0.153247 -0.030483 0.500000 -v 0.153247 -0.030483 0.468750 -v 0.153247 0.030483 0.500000 -v 0.153247 0.030483 0.468750 -v 0.024386 -0.122598 0.468750 -v -0.024387 -0.122598 0.468750 -v -0.069447 -0.103934 0.468750 -v -0.103934 -0.069447 0.468750 -v -0.122599 -0.024387 0.468750 -v -0.122599 0.024386 0.468750 -v -0.103934 0.069446 0.468750 -v -0.069447 0.103933 0.468750 -v -0.024387 0.122598 0.468750 -v 0.024386 0.122598 0.468750 -v 0.069446 0.103933 0.468750 -v 0.103933 0.069446 0.468750 -v -0.000000 -0.000000 0.468750 -v -0.000000 -0.000000 0.500000 -v -0.024386 -0.122598 0.024391 -v -0.069446 -0.103934 0.024391 -v -0.103934 -0.069446 0.024391 -v -0.122598 -0.024386 0.024391 -v -0.122598 0.024386 0.024391 -v -0.103934 0.069446 0.024391 -v -0.069446 0.103934 0.024391 -v -0.024386 0.122598 0.024391 -v 0.024386 0.122598 0.024391 -v 0.103934 0.069446 0.024391 -v 0.069446 0.103934 0.024391 -v 0.103934 -0.069446 0.024391 -v 0.122598 -0.024386 0.024391 -v 0.122598 0.024386 0.024391 -v 0.069446 -0.103934 0.024391 -v 0.024386 -0.122598 0.024391 -v 0.153248 0.030483 -0.468750 -v 0.153248 0.030483 -0.500000 -v 0.153248 -0.030483 -0.468750 -v 0.153248 -0.030483 -0.500000 -v 0.129917 -0.086808 -0.468750 -v 0.129917 -0.086808 -0.500000 -v 0.086808 -0.129917 -0.468750 -v 0.086808 -0.129917 -0.500000 -v 0.030483 -0.153248 -0.468750 -v 0.030483 -0.153248 -0.500000 -v -0.030483 -0.153248 -0.468750 -v -0.030483 -0.153248 -0.500000 -v -0.086808 -0.129917 -0.468750 -v -0.086808 -0.129917 -0.500000 -v -0.129917 -0.086808 -0.468750 -v -0.129917 -0.086808 -0.500000 -v -0.153247 -0.030483 -0.468750 -v -0.153247 -0.030483 -0.500000 -v -0.153247 0.030483 -0.468750 -v -0.153247 0.030483 -0.500000 -v -0.129917 0.086808 -0.468750 -v -0.129917 0.086808 -0.500000 -v -0.086808 0.129917 -0.468750 -v -0.086808 0.129917 -0.500000 -v -0.030483 0.153248 -0.468750 -v -0.030483 0.153248 -0.500000 -v 0.030483 0.153248 -0.468750 -v 0.030483 0.153248 -0.500000 -v 0.086808 0.129917 -0.468750 -v 0.086808 0.129917 -0.500000 -v 0.129917 0.086808 -0.468750 -v 0.129918 0.086808 -0.500000 -v 0.122598 0.024386 -0.468750 -v 0.122598 -0.024386 -0.468750 -v 0.103934 -0.069446 -0.468750 -v 0.069447 -0.103934 -0.468750 -v 0.024387 -0.122598 -0.468750 -v -0.024386 -0.122598 -0.468750 -v -0.069446 -0.103934 -0.468750 -v -0.103933 -0.069446 -0.468750 -v -0.122598 -0.024386 -0.468750 -v -0.122598 0.024386 -0.468750 -v -0.103933 0.069446 -0.468750 -v -0.069446 0.103934 -0.468750 -v -0.024386 0.122598 -0.468750 -v 0.024387 0.122598 -0.468750 -v 0.069447 0.103934 -0.468750 -v 0.103934 0.069446 -0.468750 -v 0.000000 -0.000000 -0.468750 -v 0.000000 0.000000 -0.500000 -v -0.024386 -0.122598 -0.024390 -v -0.069446 -0.103934 -0.024391 -v -0.103934 -0.069446 -0.024391 -v -0.122598 -0.024386 -0.024391 -v -0.122598 0.024386 -0.024391 -v -0.103934 0.069446 -0.024390 -v -0.069446 0.103934 -0.024390 -v -0.024386 0.122598 -0.024389 -v 0.024386 0.122598 -0.024389 -v 0.103934 0.069446 -0.024390 -v 0.069446 0.103934 -0.024390 -v 0.103934 -0.069446 -0.024390 -v 0.122598 -0.024386 -0.024390 -v 0.122598 0.024386 -0.024390 -v 0.069446 -0.103934 -0.024390 -v 0.024386 -0.122598 -0.024390 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.265625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.265625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.265625 -vt 0.687500 0.265625 -vt 0.687500 0.015625 -vt 0.500000 0.265625 -vt 0.500000 0.015625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.125000 0.265625 -vt 0.125000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.218363 0.657325 -vt 0.185866 0.820702 -vt 0.153368 0.657325 -vt 0.531836 0.657325 -vt 0.564334 0.820702 -vt 0.596832 0.657325 -vt 0.656879 0.682198 -vt 0.702838 0.728156 -vt 0.727710 0.788204 -vt 0.727710 0.853199 -vt 0.702838 0.913247 -vt 0.656879 0.959205 -vt 0.596831 0.984078 -vt 0.531836 0.984078 -vt 0.471788 0.959205 -vt 0.425830 0.913247 -vt 0.400957 0.853199 -vt 0.400957 0.788204 -vt 0.425830 0.728156 -vt 0.471789 0.682198 -vt 0.093321 0.682198 -vt 0.047362 0.728156 -vt 0.022489 0.788204 -vt 0.022489 0.853199 -vt 0.047362 0.913247 -vt 0.093320 0.959205 -vt 0.153368 0.984078 -vt 0.218363 0.984078 -vt 0.278411 0.959205 -vt 0.324369 0.913247 -vt 0.349242 0.853199 -vt 0.349242 0.788204 -vt 0.324369 0.728156 -vt 0.278411 0.682198 -vt 0.187500 0.515625 -vt 0.250000 0.515625 -vt 0.875000 0.515625 -vt 0.937500 0.515625 -vt 0.750000 0.515625 -vt 0.812500 0.515625 -vt 0.562500 0.515625 -vt 0.625000 0.515625 -vt 0.687500 0.515625 -vt 0.500000 0.515625 -vt 0.437500 0.515625 -vt 0.375000 0.515625 -vt 0.312500 0.515625 -vt 0.125000 0.515625 -vt 0.062500 0.515625 -vt 0.000000 0.515625 -vt 1.000000 0.515625 -usemtl None -s off -f 54/1 41/2 42/3 55/4 -f 31/5 33/6 50/7 -f 29/8 31/5 50/7 -f 27/9 29/8 50/7 -f 25/10 27/9 50/7 -f 23/11 25/10 50/7 -f 21/12 23/11 50/7 -f 19/13 21/12 50/7 -f 17/14 19/13 50/7 -f 15/15 17/14 50/7 -f 13/16 15/15 50/7 -f 11/17 13/16 50/7 -f 9/18 11/17 50/7 -f 7/19 9/18 50/7 -f 5/20 7/19 50/7 -f 35/21 5/20 50/7 -f 6/22 36/23 49/24 -f 8/25 6/22 49/24 -f 10/26 8/25 49/24 -f 12/27 10/26 49/24 -f 14/28 12/27 49/24 -f 16/29 14/28 49/24 -f 18/30 16/29 49/24 -f 20/31 18/30 49/24 -f 22/32 20/31 49/24 -f 24/33 22/32 49/24 -f 26/34 24/33 49/24 -f 28/35 26/34 49/24 -f 30/36 28/35 49/24 -f 32/37 30/36 49/24 -f 34/38 32/37 49/24 -f 36/23 34/38 49/24 -f 33/6 35/21 50/7 -f 8/39 7/40 5/41 6/42 -f 6/42 5/41 35/43 36/44 -f 10/45 9/46 7/40 8/39 -f 12/47 11/48 9/46 10/45 -f 14/49 13/50 11/51 12/52 -f 16/53 15/54 13/50 14/49 -f 18/55 17/56 15/54 16/53 -f 20/57 19/58 17/56 18/55 -f 22/59 21/60 19/58 20/57 -f 24/61 23/62 21/60 22/59 -f 26/63 25/64 23/62 24/61 -f 28/65 27/66 25/64 26/63 -f 30/67 29/68 27/66 28/65 -f 32/69 31/70 29/68 30/67 -f 34/71 33/72 31/70 32/69 -f 36/44 35/43 33/72 34/71 -f 65/73 1/74 37/75 66/76 -f 63/77 3/78 2/79 62/80 -f 61/81 47/82 48/83 60/84 -f 64/85 4/86 3/78 63/77 -f 62/80 2/79 1/74 65/73 -f 60/84 48/83 4/86 64/85 -f 59/87 46/88 47/82 61/81 -f 58/89 45/90 46/88 59/87 -f 57/91 44/92 45/90 58/89 -f 56/93 43/94 44/92 57/91 -f 55/4 42/3 43/94 56/93 -f 53/95 40/96 41/2 54/1 -f 52/97 39/98 40/96 53/95 -f 51/99 38/100 39/98 52/97 -f 66/76 37/75 38/101 51/102 -f 67/58 69/60 70/59 68/57 -f 69/60 71/62 72/61 70/59 -f 71/62 73/64 74/63 72/61 -f 73/64 75/66 76/65 74/63 -f 75/66 77/68 78/67 76/65 -f 77/68 79/70 80/69 78/67 -f 79/70 81/72 82/71 80/69 -f 81/72 83/43 84/44 82/71 -f 83/43 85/41 86/42 84/44 -f 85/41 87/40 88/39 86/42 -f 87/40 89/46 90/45 88/39 -f 89/46 91/48 92/47 90/45 -f 91/51 93/50 94/49 92/52 -f 93/50 95/54 96/53 94/49 -f 97/56 67/58 68/57 98/55 -f 95/54 97/56 98/55 96/53 -f 70/103 116/104 68/105 -f 67/106 115/107 69/108 -f 69/108 115/107 71/109 -f 71/109 115/107 73/110 -f 73/110 115/107 75/111 -f 75/111 115/107 77/112 -f 77/112 115/107 79/113 -f 79/113 115/107 81/114 -f 81/114 115/107 83/115 -f 83/115 115/107 85/116 -f 85/116 115/107 87/117 -f 87/117 115/107 89/118 -f 89/118 115/107 91/119 -f 91/119 115/107 93/120 -f 93/120 115/107 95/121 -f 95/121 115/107 97/122 -f 97/122 115/107 67/106 -f 68/105 116/104 98/123 -f 98/123 116/104 96/124 -f 96/124 116/104 94/125 -f 94/125 116/104 92/126 -f 92/126 116/104 90/127 -f 90/127 116/104 88/128 -f 88/128 116/104 86/129 -f 86/129 116/104 84/130 -f 84/130 116/104 82/131 -f 82/131 116/104 80/132 -f 80/132 116/104 78/133 -f 78/133 116/104 76/134 -f 76/134 116/104 74/135 -f 74/135 116/104 72/136 -f 72/136 116/104 70/103 -f 107/137 120/1 121/4 108/138 -f 102/139 131/73 132/76 103/140 -f 100/141 129/77 128/80 101/142 -f 113/143 127/81 126/84 114/144 -f 99/145 130/85 129/77 100/141 -f 101/142 128/80 131/73 102/139 -f 114/144 126/84 130/85 99/145 -f 112/146 125/87 127/81 113/143 -f 111/147 124/89 125/87 112/146 -f 110/148 123/91 124/89 111/147 -f 109/149 122/93 123/91 110/148 -f 108/138 121/4 122/93 109/149 -f 106/150 119/95 120/1 107/137 -f 105/151 118/97 119/95 106/150 -f 104/152 117/99 118/97 105/151 -f 103/140 132/76 117/102 104/153 -f 133/58 135/60 136/59 134/57 -f 135/60 137/62 138/61 136/59 -f 137/62 139/64 140/63 138/61 -f 139/64 141/66 142/65 140/63 -f 141/66 143/68 144/67 142/65 -f 143/68 145/70 146/69 144/67 -f 145/70 147/72 148/71 146/69 -f 147/72 149/43 150/44 148/71 -f 149/43 151/41 152/42 150/44 -f 151/41 153/40 154/39 152/42 -f 153/40 155/46 156/45 154/39 -f 155/46 157/48 158/47 156/45 -f 157/51 159/50 160/49 158/52 -f 159/50 161/54 162/53 160/49 -f 163/56 133/58 134/57 164/55 -f 161/54 163/56 164/55 162/53 -f 136/103 182/104 134/105 -f 133/106 181/107 135/108 -f 135/108 181/107 137/109 -f 137/109 181/107 139/110 -f 139/110 181/107 141/111 -f 141/111 181/107 143/112 -f 143/112 181/107 145/113 -f 145/113 181/107 147/114 -f 147/114 181/107 149/115 -f 149/115 181/107 151/116 -f 151/116 181/107 153/117 -f 153/117 181/107 155/118 -f 155/118 181/107 157/119 -f 157/119 181/107 159/120 -f 159/120 181/107 161/121 -f 161/121 181/107 163/122 -f 163/122 181/107 133/106 -f 134/105 182/104 164/123 -f 164/123 182/104 162/124 -f 162/124 182/104 160/125 -f 160/125 182/104 158/126 -f 158/126 182/104 156/127 -f 156/127 182/104 154/128 -f 154/128 182/104 152/129 -f 152/129 182/104 150/130 -f 150/130 182/104 148/131 -f 148/131 182/104 146/132 -f 146/132 182/104 144/133 -f 144/133 182/104 142/134 -f 142/134 182/104 140/135 -f 140/135 182/104 138/136 -f 138/136 182/104 136/103 -f 173/137 223/2 224/3 174/138 -f 213/5 215/6 232/7 -f 211/8 213/5 232/7 -f 209/9 211/8 232/7 -f 207/10 209/9 232/7 -f 205/11 207/10 232/7 -f 203/12 205/11 232/7 -f 201/13 203/12 232/7 -f 199/14 201/13 232/7 -f 197/15 199/14 232/7 -f 195/16 197/15 232/7 -f 193/17 195/16 232/7 -f 191/18 193/17 232/7 -f 189/19 191/18 232/7 -f 187/20 189/19 232/7 -f 217/21 187/20 232/7 -f 188/22 218/23 231/24 -f 190/25 188/22 231/24 -f 192/26 190/25 231/24 -f 194/27 192/26 231/24 -f 196/28 194/27 231/24 -f 198/29 196/28 231/24 -f 200/30 198/29 231/24 -f 202/31 200/30 231/24 -f 204/32 202/31 231/24 -f 206/33 204/32 231/24 -f 208/34 206/33 231/24 -f 210/35 208/34 231/24 -f 212/36 210/35 231/24 -f 214/37 212/36 231/24 -f 216/38 214/37 231/24 -f 218/23 216/38 231/24 -f 215/6 217/21 232/7 -f 190/39 189/40 187/41 188/42 -f 188/42 187/41 217/43 218/44 -f 192/45 191/46 189/40 190/39 -f 194/47 193/48 191/46 192/45 -f 196/49 195/50 193/51 194/52 -f 198/53 197/54 195/50 196/49 -f 200/55 199/56 197/54 198/53 -f 202/57 201/58 199/56 200/55 -f 204/59 203/60 201/58 202/57 -f 206/61 205/62 203/60 204/59 -f 208/63 207/64 205/62 206/61 -f 210/65 209/66 207/64 208/63 -f 212/67 211/68 209/66 210/65 -f 214/69 213/70 211/68 212/67 -f 216/71 215/72 213/70 214/69 -f 218/44 217/43 215/72 216/71 -f 168/139 183/74 219/75 169/140 -f 166/141 185/78 184/79 167/142 -f 179/143 229/82 230/83 180/144 -f 165/145 186/86 185/78 166/141 -f 167/142 184/79 183/74 168/139 -f 180/144 230/83 186/86 165/145 -f 178/146 228/88 229/82 179/143 -f 177/147 227/90 228/88 178/146 -f 176/148 226/92 227/90 177/147 -f 175/149 225/94 226/92 176/148 -f 174/138 224/3 225/94 175/149 -f 172/150 222/96 223/2 173/137 -f 171/151 221/98 222/96 172/150 -f 170/152 220/100 221/98 171/151 -f 169/140 219/75 220/101 170/153 -f 286/1 273/2 274/3 287/4 -f 263/5 265/6 282/7 -f 261/8 263/5 282/7 -f 259/9 261/8 282/7 -f 257/10 259/9 282/7 -f 255/11 257/10 282/7 -f 253/12 255/11 282/7 -f 251/13 253/12 282/7 -f 249/14 251/13 282/7 -f 247/15 249/14 282/7 -f 245/16 247/15 282/7 -f 243/17 245/16 282/7 -f 241/18 243/17 282/7 -f 239/19 241/18 282/7 -f 237/20 239/19 282/7 -f 267/21 237/20 282/7 -f 238/22 268/23 281/24 -f 240/25 238/22 281/24 -f 242/26 240/25 281/24 -f 244/27 242/26 281/24 -f 246/28 244/27 281/24 -f 248/29 246/28 281/24 -f 250/30 248/29 281/24 -f 252/31 250/30 281/24 -f 254/32 252/31 281/24 -f 256/33 254/32 281/24 -f 258/34 256/33 281/24 -f 260/35 258/34 281/24 -f 262/36 260/35 281/24 -f 264/37 262/36 281/24 -f 266/38 264/37 281/24 -f 268/23 266/38 281/24 -f 265/6 267/21 282/7 -f 240/39 239/40 237/41 238/42 -f 238/42 237/41 267/43 268/44 -f 242/45 241/46 239/40 240/39 -f 244/47 243/48 241/46 242/45 -f 246/49 245/50 243/51 244/52 -f 248/53 247/54 245/50 246/49 -f 250/55 249/56 247/54 248/53 -f 252/57 251/58 249/56 250/55 -f 254/59 253/60 251/58 252/57 -f 256/61 255/62 253/60 254/59 -f 258/63 257/64 255/62 256/61 -f 260/65 259/66 257/64 258/63 -f 262/67 261/68 259/66 260/65 -f 264/69 263/70 261/68 262/67 -f 266/71 265/72 263/70 264/69 -f 268/44 267/43 265/72 266/71 -f 297/73 233/74 269/75 298/76 -f 295/77 235/78 234/79 294/80 -f 293/81 279/82 280/83 292/84 -f 296/85 236/86 235/78 295/77 -f 294/80 234/79 233/74 297/73 -f 292/84 280/83 236/86 296/85 -f 291/87 278/88 279/82 293/81 -f 290/89 277/90 278/88 291/87 -f 289/91 276/92 277/90 290/89 -f 288/93 275/94 276/92 289/91 -f 287/4 274/3 275/94 288/93 -f 285/95 272/96 273/2 286/1 -f 284/97 271/98 272/96 285/95 -f 283/99 270/100 271/98 284/97 -f 298/76 269/75 270/101 283/102 -f 299/58 301/60 302/59 300/57 -f 301/60 303/62 304/61 302/59 -f 303/62 305/64 306/63 304/61 -f 305/64 307/66 308/65 306/63 -f 307/66 309/68 310/67 308/65 -f 309/68 311/70 312/69 310/67 -f 311/70 313/72 314/71 312/69 -f 313/72 315/43 316/44 314/71 -f 315/43 317/41 318/42 316/44 -f 317/41 319/40 320/39 318/42 -f 319/40 321/46 322/45 320/39 -f 321/46 323/48 324/47 322/45 -f 323/51 325/50 326/49 324/52 -f 325/50 327/54 328/53 326/49 -f 329/56 299/58 300/57 330/55 -f 327/54 329/56 330/55 328/53 -f 302/103 348/104 300/105 -f 299/106 347/107 301/108 -f 301/108 347/107 303/109 -f 303/109 347/107 305/110 -f 305/110 347/107 307/111 -f 307/111 347/107 309/112 -f 309/112 347/107 311/113 -f 311/113 347/107 313/114 -f 313/114 347/107 315/115 -f 315/115 347/107 317/116 -f 317/116 347/107 319/117 -f 319/117 347/107 321/118 -f 321/118 347/107 323/119 -f 323/119 347/107 325/120 -f 325/120 347/107 327/121 -f 327/121 347/107 329/122 -f 329/122 347/107 299/106 -f 300/105 348/104 330/123 -f 330/123 348/104 328/124 -f 328/124 348/104 326/125 -f 326/125 348/104 324/126 -f 324/126 348/104 322/127 -f 322/127 348/104 320/128 -f 320/128 348/104 318/129 -f 318/129 348/104 316/130 -f 316/130 348/104 314/131 -f 314/131 348/104 312/132 -f 312/132 348/104 310/133 -f 310/133 348/104 308/134 -f 308/134 348/104 306/135 -f 306/135 348/104 304/136 -f 304/136 348/104 302/103 -f 339/137 352/1 353/4 340/138 -f 334/139 363/73 364/76 335/140 -f 332/141 361/77 360/80 333/142 -f 345/143 359/81 358/84 346/144 -f 331/145 362/85 361/77 332/141 -f 333/142 360/80 363/73 334/139 -f 346/144 358/84 362/85 331/145 -f 344/146 357/87 359/81 345/143 -f 343/147 356/89 357/87 344/146 -f 342/148 355/91 356/89 343/147 -f 341/149 354/93 355/91 342/148 -f 340/138 353/4 354/93 341/149 -f 338/150 351/95 352/1 339/137 -f 337/151 350/97 351/95 338/150 -f 336/152 349/99 350/97 337/151 -f 335/140 364/76 349/102 336/153 diff --git a/mods/pipeworks/models/pipeworks_pipe_2.obj b/mods/pipeworks/models/pipeworks_pipe_2.obj deleted file mode 100755 index c75bca41..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_2.obj +++ /dev/null @@ -1,392 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-stub-end.blend' -# www.blender.org -o pipe.001_Cylinder.000 -v 0.024386 -0.024391 0.122598 -v 0.024386 -0.024391 -0.122598 -v 0.468750 -0.024387 0.122599 -v 0.468750 0.024386 0.122599 -v 0.024391 0.024386 0.122598 -v 0.500000 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.500000 -0.000000 0.000001 -v 0.500000 -0.129917 -0.086807 -v 0.500000 -0.153248 -0.030482 -v 0.500000 -0.153248 0.030483 -v 0.500000 -0.129917 0.086808 -v 0.500000 -0.086808 0.129918 -v 0.500000 -0.030483 0.153248 -v 0.500000 0.030483 0.153248 -v 0.500000 0.086808 0.129918 -v 0.500000 0.129917 0.086808 -v 0.500000 0.153247 0.030483 -v 0.500000 0.153247 -0.030482 -v 0.500000 0.129917 -0.086807 -v 0.500000 0.086808 -0.129917 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.086808 -0.129917 -v 0.468750 0.030483 -0.153247 -v 0.468750 -0.000000 -0.000000 -v 0.468750 0.129917 -0.086807 -v 0.468750 0.153247 -0.030482 -v 0.468750 0.153247 0.030483 -v 0.468750 0.129917 0.086808 -v 0.468750 0.086808 0.129918 -v 0.468750 0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.468750 -0.086808 0.129918 -v 0.468750 -0.129917 0.086808 -v 0.468750 -0.153248 0.030483 -v 0.468750 -0.153248 -0.030482 -v 0.468750 -0.129917 -0.086807 -v 0.468750 -0.086808 -0.129917 -v 0.468750 -0.030483 -0.153247 -v 0.024391 -0.103934 -0.069446 -v 0.468750 -0.103934 -0.069446 -v 0.468750 -0.122598 -0.024386 -v 0.024391 -0.122598 -0.024386 -v 0.468750 -0.024387 -0.122598 -v 0.468750 -0.069447 -0.103933 -v 0.024391 -0.069446 -0.103934 -v 0.468750 0.103933 -0.069446 -v 0.468750 0.069446 -0.103933 -v 0.024391 0.069446 -0.103934 -v 0.024391 0.024386 -0.122598 -v 0.468750 0.024386 -0.122598 -v 0.024391 0.122598 -0.024386 -v 0.468750 0.122598 -0.024386 -v 0.024391 0.122598 0.024386 -v 0.468750 0.122598 0.024387 -v 0.024391 0.103934 0.069446 -v 0.468750 0.103933 0.069447 -v 0.024391 0.069446 0.103934 -v 0.468750 0.069446 0.103934 -v 0.024391 -0.069446 0.103934 -v 0.468750 -0.069447 0.103934 -v 0.024391 -0.103934 0.069446 -v 0.468750 -0.103934 0.069447 -v 0.024391 -0.122598 0.024386 -v 0.468750 -0.122598 0.024387 -v 0.024390 0.103934 -0.069446 -v -0.042016 -0.000000 0.000000 -v -0.034206 -0.012195 0.061299 -v -0.034203 -0.034723 0.051967 -v -0.034203 -0.061299 0.012193 -v -0.034203 -0.061299 -0.012193 -v -0.034203 -0.051967 -0.034723 -v -0.034203 -0.051967 0.034723 -v -0.034203 -0.034723 -0.051967 -v -0.034206 -0.012196 -0.061299 -v -0.034203 0.012193 -0.061299 -v -0.034203 0.034723 -0.051967 -v -0.034203 0.051967 -0.034723 -v -0.034203 0.061299 -0.012193 -v -0.034203 0.061299 0.012193 -v -0.034203 0.051967 0.034723 -v -0.034203 0.034723 0.051967 -v -0.034203 0.012193 0.061299 -v -0.042017 -0.006098 0.030650 -v -0.042016 -0.017362 0.025984 -v -0.042016 -0.030650 0.006097 -v -0.042016 -0.030650 -0.006096 -v -0.042016 -0.025984 -0.017361 -v -0.014672 -0.077950 0.052085 -v -0.042016 -0.017362 -0.025983 -v -0.042017 -0.006098 -0.030649 -v -0.042016 0.006096 -0.030649 -v -0.042016 0.017361 -0.025983 -v -0.042016 0.025983 -0.017362 -v -0.042016 0.030649 -0.006096 -v -0.042016 0.030649 0.006097 -v -0.042016 0.025983 0.017362 -v -0.042016 0.017361 0.025984 -v -0.042016 0.006096 0.030650 -v -0.014675 -0.018293 0.091949 -v -0.014672 -0.052084 0.077951 -v -0.014672 -0.091948 0.018290 -v -0.014672 -0.091949 -0.018289 -v -0.014672 -0.077951 -0.052084 -v -0.042016 -0.025984 0.017362 -v -0.014672 -0.052085 -0.077950 -v -0.014675 -0.018293 -0.091948 -v -0.014672 0.018289 -0.091948 -v -0.014672 0.052084 -0.077950 -v -0.014672 0.077950 -0.052085 -v -0.014672 0.091948 -0.018289 -v -0.014672 0.091949 0.018290 -v -0.014672 0.077951 0.052085 -v -0.014672 0.052085 0.077951 -v -0.014672 0.018290 0.091949 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.812500 0.265625 -vt 0.812500 0.015625 -vt 0.625000 0.265625 -vt 0.625000 0.015625 -vt 0.687500 0.015625 -vt 0.687500 0.265625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.500000 0.015625 -vt 0.500000 0.265625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.250000 0.265625 -vt 0.250000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.125000 0.015625 -vt 0.125000 0.265625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.648437 0.265625 -vt 0.414062 0.265625 -vt 0.531250 0.265625 -vt 0.632812 0.265625 -vt 0.617187 0.265625 -vt 0.601562 0.265625 -vt 0.585937 0.265625 -vt 0.570312 0.265625 -vt 0.554687 0.265625 -vt 0.539062 0.265625 -vt 0.523437 0.265625 -vt 0.507812 0.265625 -vt 0.492187 0.265625 -vt 0.476562 0.265625 -vt 0.460937 0.265625 -vt 0.445312 0.265625 -vt 0.429687 0.265625 -vt 0.882812 0.265625 -vt 0.179687 0.265625 -vt 0.296875 0.265625 -vt 0.765625 0.265625 -vt 0.835937 0.265625 -vt 0.734375 0.265625 -vt 0.789062 0.265625 -vt 0.703125 0.265625 -vt 0.742187 0.265625 -vt 0.671875 0.265625 -vt 0.695312 0.265625 -vt 0.640625 0.265625 -vt 0.609375 0.265625 -vt 0.578125 0.265625 -vt 0.546875 0.265625 -vt 0.515625 0.265625 -vt 0.484375 0.265625 -vt 0.453125 0.265625 -vt 0.367187 0.265625 -vt 0.421875 0.265625 -vt 0.320312 0.265625 -vt 0.390625 0.265625 -vt 0.273437 0.265625 -vt 0.359375 0.265625 -vt 0.226562 0.265625 -vt 0.328125 0.265625 -s off -f 6/1 7/2 8/3 -f 9/4 6/1 8/3 -f 10/5 9/4 8/3 -f 11/6 10/5 8/3 -f 12/7 11/6 8/3 -f 13/8 12/7 8/3 -f 14/9 13/8 8/3 -f 15/10 14/9 8/3 -f 16/11 15/10 8/3 -f 17/12 16/11 8/3 -f 18/13 17/12 8/3 -f 19/14 18/13 8/3 -f 20/15 19/14 8/3 -f 21/16 20/15 8/3 -f 22/17 21/16 8/3 -f 23/18 24/19 25/20 -f 26/21 23/18 25/20 -f 27/22 26/21 25/20 -f 28/23 27/22 25/20 -f 29/24 28/23 25/20 -f 30/25 29/24 25/20 -f 31/26 30/25 25/20 -f 32/27 31/26 25/20 -f 33/28 32/27 25/20 -f 34/29 33/28 25/20 -f 35/30 34/29 25/20 -f 36/31 35/30 25/20 -f 37/32 36/31 25/20 -f 38/33 37/32 25/20 -f 39/34 38/33 25/20 -f 24/19 39/34 25/20 -f 7/2 22/17 8/3 -f 26/35 20/36 21/37 23/38 -f 23/38 21/37 22/39 24/40 -f 27/41 19/42 20/36 26/35 -f 28/43 18/44 19/42 27/41 -f 29/45 17/46 18/47 28/48 -f 30/49 16/50 17/46 29/45 -f 31/51 15/52 16/50 30/49 -f 32/53 14/54 15/52 31/51 -f 33/55 13/56 14/54 32/53 -f 34/57 12/58 13/56 33/55 -f 35/59 11/60 12/58 34/57 -f 36/61 10/62 11/60 35/59 -f 37/63 9/64 10/62 36/61 -f 38/65 6/66 9/64 37/63 -f 39/67 7/68 6/66 38/65 -f 24/40 22/39 7/68 39/67 -f 40/69 41/70 42/71 43/72 -f 46/73 45/74 41/70 40/69 -f 49/75 48/76 51/77 50/78 -f 54/79 55/80 53/81 52/82 -f 56/83 57/84 55/80 54/79 -f 58/85 59/86 57/84 56/83 -f 5/87 4/88 59/86 58/85 -f 62/89 63/90 61/91 60/92 -f 64/93 65/94 63/90 62/89 -f 43/72 42/71 65/95 64/96 -f 1/97 3/98 4/88 5/87 -f 2/99 44/100 45/74 46/73 -f 66/101 47/102 48/76 49/75 -f 50/78 51/77 44/100 2/99 -f 52/82 53/81 47/102 66/101 -f 60/92 61/91 3/98 1/97 -f 86/103 105/104 67/105 -f 87/106 86/103 67/105 -f 88/107 87/106 67/105 -f 90/108 88/107 67/105 -f 91/109 90/108 67/105 -f 92/110 91/109 67/105 -f 93/111 92/110 67/105 -f 94/112 93/111 67/105 -f 95/113 94/112 67/105 -f 96/114 95/113 67/105 -f 97/115 96/114 67/105 -f 98/116 97/115 67/105 -f 99/117 98/116 67/105 -f 84/118 99/117 67/105 -f 85/119 84/118 67/105 -f 105/104 85/119 67/105 -f 102/120 89/121 73/122 70/123 -f 103/124 102/120 70/123 71/125 -f 104/126 103/124 71/125 72/127 -f 106/128 104/126 72/127 74/129 -f 107/130 106/128 74/129 75/131 -f 108/103 107/130 75/131 76/132 -f 109/108 108/103 76/132 77/133 -f 110/111 109/108 77/133 78/134 -f 111/114 110/111 78/134 79/135 -f 112/117 111/114 79/135 80/136 -f 113/104 112/117 80/136 81/137 -f 114/138 113/104 81/137 82/139 -f 115/140 114/138 82/139 83/141 -f 100/142 115/140 83/141 68/143 -f 101/144 100/142 68/143 69/145 -f 89/121 101/144 69/145 73/122 -f 70/123 73/122 105/104 86/103 -f 71/125 70/123 86/103 87/106 -f 72/127 71/125 87/106 88/107 -f 74/129 72/127 88/107 90/108 -f 75/131 74/129 90/108 91/109 -f 76/132 75/131 91/109 92/110 -f 77/133 76/132 92/110 93/111 -f 78/134 77/133 93/111 94/112 -f 79/135 78/134 94/112 95/113 -f 80/136 79/135 95/113 96/114 -f 81/137 80/136 96/114 97/115 -f 82/139 81/137 97/115 98/116 -f 83/141 82/139 98/116 99/117 -f 68/143 83/141 99/117 84/118 -f 69/145 68/143 84/118 85/119 -f 73/122 69/145 85/119 105/104 -f 64/96 62/89 89/121 102/120 -f 43/72 64/96 102/120 103/124 -f 40/69 43/72 103/124 104/126 -f 46/73 40/69 104/126 106/128 -f 2/99 46/73 106/128 107/130 -f 50/78 2/99 107/130 108/103 -f 49/75 50/78 108/103 109/108 -f 66/101 49/75 109/108 110/111 -f 52/82 66/101 110/111 111/114 -f 54/79 52/82 111/114 112/117 -f 56/83 54/79 112/117 113/104 -f 58/85 56/83 113/104 114/138 -f 5/87 58/85 114/138 115/140 -f 1/97 5/87 115/140 100/142 -f 60/92 1/97 100/142 101/144 -f 62/89 60/92 101/144 89/121 diff --git a/mods/pipeworks/models/pipeworks_pipe_3.obj b/mods/pipeworks/models/pipeworks_pipe_3.obj deleted file mode 100755 index f126551d..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_3.obj +++ /dev/null @@ -1,354 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-2way-straight.blend' -# www.blender.org -mtllib pipeworks_pipe_3.mtl -o Cube.001 -v 0.468750 -0.153248 0.030483 -v 0.500000 -0.153248 0.030483 -v 0.468750 -0.153248 -0.030483 -v 0.500000 -0.153248 -0.030483 -v 0.468750 -0.129917 -0.086808 -v 0.500000 -0.129917 -0.086808 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.030483 -0.153248 -v 0.500000 -0.030483 -0.153248 -v 0.468750 0.030483 -0.153248 -v 0.500000 0.030483 -0.153248 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153247 -0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.129917 0.086808 -v 0.500000 0.129917 0.086808 -v 0.468750 0.086808 0.129917 -v 0.500000 0.086808 0.129917 -v 0.468750 0.030483 0.153248 -v 0.500000 0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.086808 0.129917 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.122598 0.024386 -v 0.468750 -0.122598 -0.024386 -v 0.468750 -0.103934 -0.069446 -v 0.468750 -0.069446 -0.103934 -v 0.468750 -0.024386 -0.122598 -v 0.468750 0.024386 -0.122598 -v 0.468750 0.069446 -0.103934 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.122598 0.024386 -v 0.468750 0.103934 0.069446 -v 0.468750 0.069446 0.103934 -v 0.468750 0.024386 0.122598 -v 0.468750 -0.024387 0.122598 -v 0.468750 -0.069447 0.103934 -v 0.468750 -0.103934 0.069446 -v 0.468750 -0.000000 -0.000000 -v 0.500000 -0.000000 0.000000 -v -0.468750 -0.069446 -0.103934 -v -0.468750 -0.103933 -0.069446 -v -0.468750 -0.122598 -0.024387 -v -0.468750 -0.122598 0.024386 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.030483 0.153247 -v -0.468750 -0.030483 0.153248 -v -0.500000 0.030483 0.153247 -v -0.468750 0.030483 0.153248 -v -0.500000 0.086808 0.129917 -v -0.468750 0.086808 0.129917 -v -0.500000 0.129917 0.086808 -v -0.468750 0.129917 0.086808 -v -0.500000 0.153248 0.030483 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.030483 -0.153248 -v -0.468750 0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.153247 -0.030483 -v -0.468750 -0.153247 -0.030483 -v -0.500000 -0.153247 0.030483 -v -0.468750 -0.153247 0.030483 -v -0.468750 -0.024386 -0.122598 -v -0.468750 0.024387 -0.122598 -v -0.468750 0.069447 -0.103934 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.122598 0.024386 -v -0.468750 0.103934 0.069446 -v -0.468750 0.069447 0.103934 -v -0.468750 0.024387 0.122598 -v -0.468750 -0.024386 0.122598 -v -0.468750 -0.069446 0.103933 -v -0.468750 -0.103933 0.069446 -v -0.468750 0.000000 -0.000000 -v -0.500000 0.000000 -0.000000 -vt 0.750000 0.546875 -vt 0.687500 0.546875 -vt 0.687500 0.609375 -vt 0.750000 0.609375 -vt 0.625000 0.546875 -vt 0.625000 0.609375 -vt 0.562500 0.546875 -vt 0.562500 0.609375 -vt 0.500000 0.546875 -vt 0.500000 0.609375 -vt 0.437500 0.546875 -vt 0.437500 0.609375 -vt 0.375000 0.546875 -vt 0.375000 0.609375 -vt 0.312500 0.546875 -vt 0.312500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.125000 0.546875 -vt 0.125000 0.609375 -vt 0.062500 0.546875 -vt 0.062500 0.609375 -vt 0.000000 0.546875 -vt 0.000000 0.609375 -vt 1.000000 0.546875 -vt 0.937500 0.546875 -vt 0.937500 0.609375 -vt 1.000000 0.609375 -vt 0.875000 0.546875 -vt 0.875000 0.609375 -vt 0.812500 0.546875 -vt 0.812500 0.609375 -vt 0.218363 0.657325 -vt 0.185866 0.820702 -vt 0.153368 0.657325 -vt 0.531836 0.657325 -vt 0.564334 0.820702 -vt 0.596832 0.657325 -vt 0.656879 0.682198 -vt 0.702838 0.728156 -vt 0.727710 0.788204 -vt 0.727710 0.853199 -vt 0.702838 0.913247 -vt 0.656879 0.959205 -vt 0.596831 0.984078 -vt 0.531836 0.984078 -vt 0.471788 0.959205 -vt 0.425830 0.913247 -vt 0.400957 0.853199 -vt 0.400957 0.788204 -vt 0.425830 0.728156 -vt 0.471789 0.682198 -vt 0.093321 0.682198 -vt 0.047362 0.728156 -vt 0.022489 0.788204 -vt 0.022489 0.853199 -vt 0.047362 0.913247 -vt 0.093320 0.959205 -vt 0.153368 0.984078 -vt 0.218363 0.984078 -vt 0.278411 0.959205 -vt 0.324369 0.913247 -vt 0.349242 0.853199 -vt 0.349242 0.788204 -vt 0.324369 0.728156 -vt 0.278411 0.682198 -vt 0.187500 0.515625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.515625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.875000 0.515625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.515625 -vt 0.750000 0.515625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.515625 -vt 0.562500 0.515625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.515625 -vt 0.687500 0.515625 -vt 0.687500 0.015625 -vt 0.500000 0.515625 -vt 0.500000 0.015625 -vt 0.437500 0.515625 -vt 0.437500 0.015625 -vt 0.375000 0.515625 -vt 0.375000 0.015625 -vt 0.312500 0.515625 -vt 0.312500 0.015625 -vt 0.125000 0.515625 -vt 0.125000 0.015625 -vt 0.062500 0.515625 -vt 0.062500 0.015625 -vt 0.000000 0.515625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.515625 -usemtl None -s off -f 1/1 3/2 4/3 2/4 -f 3/2 5/5 6/6 4/3 -f 5/5 7/7 8/8 6/6 -f 7/7 9/9 10/10 8/8 -f 9/9 11/11 12/12 10/10 -f 11/11 13/13 14/14 12/12 -f 13/13 15/15 16/16 14/14 -f 15/15 17/17 18/18 16/16 -f 17/17 19/19 20/20 18/18 -f 19/19 21/21 22/22 20/20 -f 21/21 23/23 24/24 22/22 -f 23/23 25/25 26/26 24/24 -f 25/27 27/28 28/29 26/30 -f 27/28 29/31 30/32 28/29 -f 31/33 1/1 2/4 32/34 -f 29/31 31/33 32/34 30/32 -f 4/35 50/36 2/37 -f 1/38 49/39 3/40 -f 3/40 49/39 5/41 -f 5/41 49/39 7/42 -f 7/42 49/39 9/43 -f 9/43 49/39 11/44 -f 11/44 49/39 13/45 -f 13/45 49/39 15/46 -f 15/46 49/39 17/47 -f 17/47 49/39 19/48 -f 19/48 49/39 21/49 -f 21/49 49/39 23/50 -f 23/50 49/39 25/51 -f 25/51 49/39 27/52 -f 27/52 49/39 29/53 -f 29/53 49/39 31/54 -f 31/54 49/39 1/38 -f 2/37 50/36 32/55 -f 32/55 50/36 30/56 -f 30/56 50/36 28/57 -f 28/57 50/36 26/58 -f 26/58 50/36 24/59 -f 24/59 50/36 22/60 -f 22/60 50/36 20/61 -f 20/61 50/36 18/62 -f 18/62 50/36 16/63 -f 16/63 50/36 14/64 -f 14/64 50/36 12/65 -f 12/65 50/36 10/66 -f 10/66 50/36 8/67 -f 8/67 50/36 6/68 -f 6/68 50/36 4/35 -f 41/69 91/70 92/71 42/72 -f 81/73 83/74 100/75 -f 79/76 81/73 100/75 -f 77/77 79/76 100/75 -f 75/78 77/77 100/75 -f 73/79 75/78 100/75 -f 71/80 73/79 100/75 -f 69/81 71/80 100/75 -f 67/82 69/81 100/75 -f 65/83 67/82 100/75 -f 63/84 65/83 100/75 -f 61/85 63/84 100/75 -f 59/86 61/85 100/75 -f 57/87 59/86 100/75 -f 55/88 57/87 100/75 -f 85/89 55/88 100/75 -f 56/90 86/91 99/92 -f 58/93 56/90 99/92 -f 60/94 58/93 99/92 -f 62/95 60/94 99/92 -f 64/96 62/95 99/92 -f 66/97 64/96 99/92 -f 68/98 66/97 99/92 -f 70/99 68/98 99/92 -f 72/100 70/99 99/92 -f 74/101 72/100 99/92 -f 76/102 74/101 99/92 -f 78/103 76/102 99/92 -f 80/104 78/103 99/92 -f 82/105 80/104 99/92 -f 84/106 82/105 99/92 -f 86/91 84/106 99/92 -f 83/74 85/89 100/75 -f 58/22 57/21 55/19 56/20 -f 56/20 55/19 85/17 86/18 -f 60/24 59/23 57/21 58/22 -f 62/26 61/25 59/23 60/24 -f 64/29 63/28 61/27 62/30 -f 66/32 65/31 63/28 64/29 -f 68/34 67/33 65/31 66/32 -f 70/4 69/1 67/33 68/34 -f 72/3 71/2 69/1 70/4 -f 74/6 73/5 71/2 72/3 -f 76/8 75/7 73/5 74/6 -f 78/10 77/9 75/7 76/8 -f 80/12 79/11 77/9 78/10 -f 82/14 81/13 79/11 80/12 -f 84/16 83/15 81/13 82/14 -f 86/18 85/17 83/15 84/16 -f 36/107 51/108 87/109 37/110 -f 34/111 53/112 52/113 35/114 -f 47/115 97/116 98/117 48/118 -f 33/119 54/120 53/112 34/111 -f 35/114 52/113 51/108 36/107 -f 48/118 98/117 54/120 33/119 -f 46/121 96/122 97/116 47/115 -f 45/123 95/124 96/122 46/121 -f 44/125 94/126 95/124 45/123 -f 43/127 93/128 94/126 44/125 -f 42/72 92/71 93/128 43/127 -f 40/129 90/130 91/70 41/69 -f 39/131 89/132 90/130 40/129 -f 38/133 88/134 89/132 39/131 -f 37/110 87/109 88/135 38/136 diff --git a/mods/pipeworks/models/pipeworks_pipe_4.obj b/mods/pipeworks/models/pipeworks_pipe_4.obj deleted file mode 100755 index 0ef583f8..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_4.obj +++ /dev/null @@ -1,478 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-2way-corner.blend' -# www.blender.org -mtllib pipeworks_pipe_4.mtl -o pipe.001_Cylinder.000 -v -0.024386 -0.024391 0.122598 -v -0.024387 -0.468750 0.122598 -v 0.024386 -0.468750 0.122598 -v 0.024386 -0.024391 0.122598 -v -0.086808 -0.500000 -0.129917 -v -0.030483 -0.500000 -0.153247 -v -0.000000 -0.500000 0.000000 -v -0.129917 -0.500000 -0.086808 -v -0.153248 -0.500000 -0.030483 -v -0.153248 -0.500000 0.030483 -v -0.129917 -0.500000 0.086808 -v -0.086808 -0.500000 0.129917 -v -0.030483 -0.500000 0.153248 -v 0.030483 -0.500000 0.153248 -v 0.086808 -0.500000 0.129917 -v 0.129917 -0.500000 0.086808 -v 0.153247 -0.500000 0.030483 -v 0.153248 -0.500000 -0.030483 -v 0.129917 -0.500000 -0.086808 -v 0.086808 -0.500000 -0.129917 -v 0.030483 -0.500000 -0.153247 -v 0.086808 -0.468750 -0.129917 -v 0.030483 -0.468750 -0.153248 -v -0.000000 -0.468750 0.000000 -v 0.129917 -0.468750 -0.086808 -v 0.153248 -0.468750 -0.030483 -v 0.153247 -0.468750 0.030483 -v 0.129917 -0.468750 0.086808 -v 0.086808 -0.468750 0.129917 -v 0.030483 -0.468750 0.153248 -v -0.030483 -0.468750 0.153248 -v -0.086808 -0.468750 0.129917 -v -0.129917 -0.468750 0.086808 -v -0.153248 -0.468750 0.030483 -v -0.153248 -0.468750 -0.030483 -v -0.129917 -0.468750 -0.086808 -v -0.086808 -0.468750 -0.129917 -v -0.030483 -0.468750 -0.153248 -v -0.103934 -0.024391 -0.069446 -v -0.103934 -0.468750 -0.069446 -v -0.122598 -0.468750 -0.024386 -v -0.122598 -0.024391 -0.024386 -v -0.024386 -0.024391 -0.122598 -v -0.024386 -0.468750 -0.122598 -v -0.069446 -0.468750 -0.103933 -v -0.069446 -0.024391 -0.103934 -v 0.103934 -0.024391 -0.069446 -v 0.103933 -0.468750 -0.069446 -v 0.069446 -0.468750 -0.103934 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v 0.024386 -0.468750 -0.122598 -v 0.122598 -0.024391 -0.024386 -v 0.122598 -0.468750 -0.024386 -v 0.122598 -0.024391 0.024386 -v 0.122598 -0.468750 0.024386 -v 0.103934 -0.024391 0.069446 -v 0.103933 -0.468750 0.069447 -v 0.069446 -0.024391 0.103934 -v 0.069446 -0.468750 0.103934 -v -0.069446 -0.024391 0.103934 -v -0.069447 -0.468750 0.103934 -v -0.103934 -0.024391 0.069446 -v -0.103934 -0.468750 0.069446 -v -0.122598 -0.024391 0.024386 -v -0.122598 -0.468750 0.024386 -v -0.041924 0.041589 0.103934 -v -0.041925 0.041589 -0.103934 -v -0.010062 0.009727 -0.122598 -v -0.079509 0.079173 -0.024386 -v -0.066311 0.065976 -0.069446 -v -0.024663 0.094826 -0.069446 -v -0.011464 0.062964 0.103934 -v -0.024662 0.094827 0.069446 -v -0.031805 0.112070 0.024386 -v -0.031805 0.112070 -0.024386 -v 0.005779 0.021334 -0.122598 -v -0.011464 0.062964 -0.103934 -v 0.005780 0.021334 0.122598 -v -0.079509 0.079173 0.024386 -v -0.066311 0.065976 0.069446 -v 0.468750 -0.024387 0.122599 -v 0.468750 0.024386 0.122599 -v 0.024391 0.024386 0.122598 -v 0.500000 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.500000 -0.000000 0.000001 -v 0.500000 -0.129917 -0.086807 -v 0.500000 -0.153248 -0.030482 -v 0.500000 -0.153248 0.030483 -v 0.500000 -0.129917 0.086808 -v 0.500000 -0.086808 0.129918 -v 0.500000 -0.030483 0.153248 -v 0.500000 0.030483 0.153248 -v 0.500000 0.086808 0.129918 -v 0.500000 0.129917 0.086808 -v 0.500000 0.153247 0.030483 -v 0.500000 0.153247 -0.030482 -v 0.500000 0.129917 -0.086807 -v 0.500000 0.086808 -0.129917 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.086808 -0.129917 -v 0.468750 0.030483 -0.153247 -v 0.468750 -0.000000 -0.000000 -v 0.468750 0.129917 -0.086807 -v 0.468750 0.153247 -0.030482 -v 0.468750 0.153247 0.030483 -v 0.468750 0.129917 0.086808 -v 0.468750 0.086808 0.129918 -v 0.468750 0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.468750 -0.086808 0.129918 -v 0.468750 -0.129917 0.086808 -v 0.468750 -0.153248 0.030483 -v 0.468750 -0.153248 -0.030482 -v 0.468750 -0.129917 -0.086807 -v 0.468750 -0.086808 -0.129917 -v 0.468750 -0.030483 -0.153247 -v 0.024391 -0.103934 -0.069446 -v 0.468750 -0.103934 -0.069446 -v 0.468750 -0.122598 -0.024386 -v 0.024391 -0.122598 -0.024386 -v 0.468750 -0.024387 -0.122598 -v 0.468750 -0.069447 -0.103933 -v 0.024391 -0.069446 -0.103934 -v 0.468750 0.103933 -0.069446 -v 0.468750 0.069446 -0.103933 -v 0.024391 0.069446 -0.103934 -v 0.024391 0.024386 -0.122598 -v 0.468750 0.024386 -0.122598 -v 0.024391 0.122598 -0.024386 -v 0.468750 0.122598 -0.024386 -v 0.024391 0.122598 0.024386 -v 0.468750 0.122598 0.024387 -v 0.024391 0.103934 0.069446 -v 0.468750 0.103933 0.069447 -v 0.024391 0.069446 0.103934 -v 0.468750 0.069446 0.103934 -v 0.024391 -0.069446 0.103934 -v 0.468750 -0.069447 0.103934 -v 0.024391 -0.103934 0.069446 -v 0.468750 -0.103934 0.069447 -v 0.024391 -0.122598 0.024386 -v 0.468750 -0.122598 0.024387 -v 0.024390 0.103934 -0.069446 -v -0.020763 -0.005780 0.122598 -v -0.111499 0.031804 0.024386 -v -0.094256 0.024662 0.069446 -v -0.062393 0.011464 0.103934 -v -0.062393 0.011464 -0.103934 -v -0.020763 -0.005780 -0.122598 -v -0.111499 0.031804 -0.024386 -v -0.094256 0.024662 -0.069446 -v -0.010062 0.009727 0.122598 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.265625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.265625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.265625 -vt 0.687500 0.265625 -vt 0.687500 0.015625 -vt 0.500000 0.265625 -vt 0.500000 0.015625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.125000 0.265625 -vt 0.125000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.201671 0.341280 -vt 0.315528 0.341280 -vt 0.307071 0.384726 -vt 0.531250 0.296875 -vt 0.531250 0.343750 -vt 0.484375 0.343750 -vt 0.484375 0.296875 -vt 0.437500 0.343750 -vt 0.437500 0.296875 -vt 0.390625 0.296875 -vt 0.390625 0.343750 -vt 0.343750 0.343750 -vt 0.343750 0.296875 -vt 0.578125 0.296875 -vt 0.578125 0.343750 -vt 0.625000 0.296875 -vt 0.625000 0.343750 -vt 0.671875 0.296875 -vt 0.671875 0.343750 -vt 0.801371 0.340121 -vt 0.695971 0.383568 -vt 0.687514 0.340121 -vt 0.720953 0.419768 -vt 0.757935 0.446864 -vt 0.801382 0.453989 -vt 0.625000 0.484375 -vt 0.625000 0.437500 -vt 0.671875 0.437500 -vt 0.671875 0.484375 -vt 0.625000 0.390625 -vt 0.671875 0.390625 -vt 0.578125 0.390625 -vt 0.531250 0.390625 -vt 0.484375 0.390625 -vt 0.437500 0.390625 -vt 0.282090 0.420927 -vt 0.245108 0.448023 -vt 0.201660 0.455148 -vt 0.390625 0.390625 -vt 0.343750 0.390625 -vt 0.390625 0.437500 -vt 0.343750 0.437500 -vt 0.343750 0.484375 -vt 0.390625 0.484375 -vt 0.437500 0.437500 -vt 0.437500 0.484375 -vt 0.484375 0.437500 -vt 0.484375 0.484375 -vt 0.531250 0.437500 -vt 0.531250 0.484375 -vt 0.578125 0.484375 -vt 0.578125 0.437500 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 5/5 6/6 7/7 -f 8/8 5/5 7/7 -f 9/9 8/8 7/7 -f 10/10 9/9 7/7 -f 11/11 10/10 7/7 -f 12/12 11/11 7/7 -f 13/13 12/12 7/7 -f 14/14 13/13 7/7 -f 15/15 14/14 7/7 -f 16/16 15/15 7/7 -f 17/17 16/16 7/7 -f 18/18 17/17 7/7 -f 19/19 18/18 7/7 -f 20/20 19/19 7/7 -f 21/21 20/20 7/7 -f 22/22 23/23 24/24 -f 25/25 22/22 24/24 -f 26/26 25/25 24/24 -f 27/27 26/26 24/24 -f 28/28 27/27 24/24 -f 29/29 28/28 24/24 -f 30/30 29/29 24/24 -f 31/31 30/30 24/24 -f 32/32 31/31 24/24 -f 33/33 32/32 24/24 -f 34/34 33/33 24/24 -f 35/35 34/34 24/24 -f 36/36 35/35 24/24 -f 37/37 36/36 24/24 -f 38/38 37/37 24/24 -f 23/23 38/38 24/24 -f 6/6 21/21 7/7 -f 25/39 19/40 20/41 22/42 -f 22/42 20/41 21/43 23/44 -f 26/45 18/46 19/40 25/39 -f 27/47 17/48 18/46 26/45 -f 28/49 16/50 17/51 27/52 -f 29/53 15/54 16/50 28/49 -f 30/55 14/56 15/54 29/53 -f 31/57 13/58 14/56 30/55 -f 32/59 12/60 13/58 31/57 -f 33/61 11/62 12/60 32/59 -f 34/63 10/64 11/62 33/61 -f 35/65 9/66 10/64 34/63 -f 36/67 8/68 9/66 35/65 -f 37/69 5/70 8/68 36/67 -f 38/71 6/72 5/70 37/69 -f 23/44 21/43 6/72 38/71 -f 39/73 40/74 41/75 42/76 -f 43/77 44/78 45/79 46/80 -f 47/81 48/82 49/83 50/84 -f 51/85 52/86 44/78 43/77 -f 46/80 45/79 40/74 39/73 -f 50/84 49/83 52/86 51/85 -f 53/87 54/88 48/82 47/81 -f 55/89 56/90 54/88 53/87 -f 57/91 58/92 56/90 55/89 -f 59/93 60/94 58/92 57/91 -f 4/4 3/3 60/94 59/93 -f 2/2 1/1 61/95 62/96 -f 63/97 64/98 62/96 61/95 -f 65/99 66/100 64/98 63/97 -f 42/76 41/75 66/101 65/102 -f 85/5 86/6 87/7 -f 88/8 85/5 87/7 -f 89/9 88/8 87/7 -f 90/10 89/9 87/7 -f 91/11 90/10 87/7 -f 92/12 91/11 87/7 -f 93/13 92/12 87/7 -f 94/14 93/13 87/7 -f 95/15 94/14 87/7 -f 96/16 95/15 87/7 -f 97/17 96/16 87/7 -f 98/18 97/17 87/7 -f 99/19 98/18 87/7 -f 100/20 99/19 87/7 -f 101/21 100/20 87/7 -f 102/22 103/23 104/24 -f 105/25 102/22 104/24 -f 106/26 105/25 104/24 -f 107/27 106/26 104/24 -f 108/28 107/27 104/24 -f 109/29 108/28 104/24 -f 110/30 109/29 104/24 -f 111/31 110/30 104/24 -f 112/32 111/31 104/24 -f 113/33 112/32 104/24 -f 114/34 113/33 104/24 -f 115/35 114/34 104/24 -f 116/36 115/35 104/24 -f 117/37 116/36 104/24 -f 118/38 117/37 104/24 -f 103/23 118/38 104/24 -f 86/6 101/21 87/7 -f 105/39 99/40 100/41 102/42 -f 102/42 100/41 101/43 103/44 -f 106/45 98/46 99/40 105/39 -f 107/47 97/48 98/46 106/45 -f 108/49 96/50 97/51 107/52 -f 109/53 95/54 96/50 108/49 -f 110/55 94/56 95/54 109/53 -f 111/57 93/58 94/56 110/55 -f 112/59 92/60 93/58 111/57 -f 113/61 91/62 92/60 112/59 -f 114/63 90/64 91/62 113/61 -f 115/65 89/66 90/64 114/63 -f 116/67 88/68 89/66 115/65 -f 117/69 85/70 88/68 116/67 -f 118/71 86/72 85/70 117/69 -f 103/44 101/43 86/72 118/71 -f 119/73 120/74 121/75 122/76 -f 125/80 124/79 120/74 119/73 -f 128/84 127/83 130/86 129/85 -f 133/89 134/90 132/88 131/87 -f 135/91 136/92 134/90 133/89 -f 137/93 138/94 136/92 135/91 -f 84/4 83/3 138/94 137/93 -f 141/97 142/98 140/96 139/95 -f 143/99 144/100 142/98 141/97 -f 122/76 121/75 144/101 143/102 -f 4/1 82/2 83/3 84/4 -f 51/77 123/78 124/79 125/80 -f 145/81 126/82 127/83 128/84 -f 129/85 130/86 123/78 51/77 -f 131/87 132/88 126/82 145/81 -f 139/95 140/96 82/2 4/1 -f 51/103 43/104 151/105 -f 65/106 147/107 152/108 42/109 -f 42/109 152/108 153/110 39/111 -f 46/112 39/111 153/110 150/113 -f 46/112 150/113 151/114 43/115 -f 65/106 63/116 148/117 147/107 -f 63/116 61/118 149/119 148/117 -f 61/118 1/120 146/121 149/119 -f 4/122 146/123 1/124 -f 4/122 154/125 146/123 -f 4/122 79/126 154/125 -f 79/126 4/122 84/127 -f 137/128 73/129 79/130 84/131 -f 73/129 67/132 154/133 79/130 -f 149/119 146/121 154/133 67/132 -f 81/134 148/117 149/119 67/132 -f 80/135 147/107 148/117 81/134 -f 80/135 70/136 152/108 147/107 -f 70/136 71/137 153/110 152/108 -f 51/103 151/105 69/138 -f 51/103 69/138 77/139 -f 77/139 129/140 51/103 -f 150/113 68/141 69/142 151/114 -f 78/143 77/144 69/142 68/141 -f 68/141 150/113 153/110 71/137 -f 129/145 77/144 78/143 128/146 -f 78/143 68/141 71/137 72/147 -f 78/143 72/147 145/148 128/146 -f 76/149 72/147 71/137 70/136 -f 76/149 131/150 145/148 72/147 -f 80/135 75/151 76/149 70/136 -f 133/152 131/150 76/149 75/151 -f 135/153 133/152 75/151 74/154 -f 75/151 80/135 81/134 74/154 -f 74/154 81/134 67/132 73/129 -f 137/128 135/153 74/154 73/129 diff --git a/mods/pipeworks/models/pipeworks_pipe_5.obj b/mods/pipeworks/models/pipeworks_pipe_5.obj deleted file mode 100755 index abf8b97b..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_5.obj +++ /dev/null @@ -1,542 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-3way-corner.blend' -# www.blender.org -o pipe.001_Cylinder.000 -v 0.122598 -0.024391 0.024386 -v 0.122598 -0.468750 0.024387 -v 0.122598 -0.468750 -0.024386 -v 0.122598 -0.024391 -0.024386 -v -0.129917 -0.500000 0.086808 -v -0.153247 -0.500000 0.030483 -v 0.000000 -0.500000 -0.000000 -v -0.086808 -0.500000 0.129917 -v -0.030483 -0.500000 0.153248 -v 0.030483 -0.500000 0.153248 -v 0.086808 -0.500000 0.129917 -v 0.129917 -0.500000 0.086808 -v 0.153248 -0.500000 0.030483 -v 0.153248 -0.500000 -0.030483 -v 0.129917 -0.500000 -0.086808 -v 0.086808 -0.500000 -0.129917 -v 0.030483 -0.500000 -0.153247 -v -0.030483 -0.500000 -0.153248 -v -0.086808 -0.500000 -0.129917 -v -0.129917 -0.500000 -0.086808 -v -0.153247 -0.500000 -0.030483 -v -0.129917 -0.468750 -0.086808 -v -0.153248 -0.468750 -0.030483 -v 0.000000 -0.468750 -0.000000 -v -0.086808 -0.468750 -0.129917 -v -0.030483 -0.468750 -0.153248 -v 0.030483 -0.468750 -0.153247 -v 0.086808 -0.468750 -0.129917 -v 0.129917 -0.468750 -0.086808 -v 0.153248 -0.468750 -0.030483 -v 0.153248 -0.468750 0.030483 -v 0.129917 -0.468750 0.086808 -v 0.086808 -0.468750 0.129917 -v 0.030483 -0.468750 0.153248 -v -0.030483 -0.468750 0.153248 -v -0.086808 -0.468750 0.129917 -v -0.129917 -0.468750 0.086808 -v -0.153248 -0.468750 0.030483 -v -0.069446 -0.024391 0.103934 -v -0.069446 -0.468750 0.103934 -v -0.024386 -0.468750 0.122598 -v -0.024386 -0.024391 0.122598 -v -0.122598 -0.024391 0.024386 -v -0.122598 -0.468750 0.024386 -v -0.103933 -0.468750 0.069446 -v -0.103934 -0.024391 0.069446 -v -0.069446 -0.024391 -0.103934 -v -0.069446 -0.468750 -0.103933 -v -0.103934 -0.468750 -0.069446 -v -0.103934 -0.024391 -0.069446 -v -0.122598 -0.024391 -0.024386 -v -0.122598 -0.468750 -0.024386 -v -0.024386 -0.024391 -0.122598 -v -0.024386 -0.468750 -0.122598 -v 0.024386 -0.024391 -0.122598 -v 0.024386 -0.468750 -0.122598 -v 0.069446 -0.024391 -0.103934 -v 0.069447 -0.468750 -0.103933 -v 0.103934 -0.024391 -0.069446 -v 0.103934 -0.468750 -0.069446 -v 0.103934 -0.024391 0.069446 -v 0.103934 -0.468750 0.069447 -v 0.069446 -0.024391 0.103934 -v 0.069446 -0.468750 0.103934 -v 0.024386 -0.024391 0.122598 -v 0.024386 -0.468750 0.122598 -v 0.468750 0.122598 0.024387 -v 0.468750 0.122598 -0.024386 -v 0.500000 -0.129917 0.086808 -v 0.500000 -0.153248 0.030483 -v 0.500000 0.000000 0.000000 -v 0.500000 -0.086808 0.129917 -v 0.500000 -0.030483 0.153248 -v 0.500000 0.030483 0.153248 -v 0.500000 0.086808 0.129917 -v 0.500000 0.129917 0.086808 -v 0.500000 0.153248 0.030483 -v 0.500000 0.153248 -0.030483 -v 0.500000 0.129917 -0.086808 -v 0.500000 0.086808 -0.129917 -v 0.500000 0.030483 -0.153247 -v 0.500000 -0.030483 -0.153247 -v 0.500000 -0.086808 -0.129917 -v 0.500000 -0.129917 -0.086807 -v 0.500000 -0.153248 -0.030482 -v 0.468750 -0.129917 -0.086807 -v 0.468750 -0.153248 -0.030483 -v 0.468750 -0.000000 0.000000 -v 0.468750 -0.086808 -0.129917 -v 0.468750 -0.030483 -0.153247 -v 0.468750 0.030483 -0.153247 -v 0.468750 0.086808 -0.129917 -v 0.468750 0.129917 -0.086808 -v 0.468750 0.153248 -0.030483 -v 0.468750 0.153248 0.030483 -v 0.468750 0.129917 0.086808 -v 0.468750 0.086808 0.129917 -v 0.468750 0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.468750 -0.086808 0.129917 -v 0.468750 -0.129917 0.086808 -v 0.468750 -0.153248 0.030483 -v 0.024386 -0.069446 0.103934 -v 0.468750 -0.069446 0.103934 -v 0.468750 -0.024386 0.122598 -v 0.024386 -0.122598 0.024386 -v 0.468750 -0.122598 0.024387 -v 0.468750 -0.103934 0.069447 -v 0.024386 -0.103934 0.069446 -v 0.024386 -0.069446 -0.103934 -v 0.468750 -0.069446 -0.103933 -v 0.468750 -0.103934 -0.069446 -v 0.024386 -0.103934 -0.069446 -v 0.468750 -0.122598 -0.024386 -v 0.468750 -0.024386 -0.122598 -v 0.024386 0.024386 -0.122598 -v 0.468750 0.024386 -0.122598 -v 0.024386 0.069446 -0.103934 -v 0.468750 0.069446 -0.103933 -v 0.024386 0.103934 -0.069446 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.103934 0.069447 -v 0.468750 0.069446 0.103934 -v 0.468750 0.024386 0.122598 -v 0.122599 -0.024387 -0.468750 -v 0.122599 0.024386 -0.468750 -v 0.122598 0.024386 -0.024391 -v -0.129917 -0.086808 -0.500000 -v -0.153247 -0.030483 -0.500000 -v 0.000001 0.000000 -0.500000 -v -0.086807 -0.129917 -0.500000 -v -0.030482 -0.153248 -0.500000 -v 0.030483 -0.153248 -0.500000 -v 0.086808 -0.129917 -0.500000 -v 0.129918 -0.086808 -0.500000 -v 0.153248 -0.030483 -0.500000 -v 0.153248 0.030483 -0.500000 -v 0.129918 0.086808 -0.500000 -v 0.086808 0.129917 -0.500000 -v 0.030483 0.153247 -0.500000 -v -0.030482 0.153247 -0.500000 -v -0.086807 0.129917 -0.500000 -v -0.129917 0.086808 -0.500000 -v -0.153247 0.030483 -0.500000 -v -0.129917 0.086808 -0.468750 -v -0.153247 0.030483 -0.468750 -v 0.000000 0.000000 -0.468750 -v -0.086807 0.129917 -0.468750 -v -0.030482 0.153247 -0.468750 -v 0.030483 0.153247 -0.468750 -v 0.086808 0.129917 -0.468750 -v 0.129918 0.086808 -0.468750 -v 0.153248 0.030483 -0.468750 -v 0.153248 -0.030483 -0.468750 -v 0.129918 -0.086808 -0.468750 -v 0.086808 -0.129917 -0.468750 -v 0.030483 -0.153248 -0.468750 -v -0.030482 -0.153248 -0.468750 -v -0.086807 -0.129917 -0.468750 -v -0.129917 -0.086808 -0.468750 -v -0.153247 -0.030483 -0.468750 -v -0.069446 -0.103934 -0.024391 -v -0.069446 -0.103934 -0.468750 -v -0.024386 -0.122598 -0.468750 -v -0.024386 -0.122598 -0.024391 -v -0.122598 -0.024387 -0.468750 -v -0.103933 -0.069447 -0.468750 -v -0.103934 -0.069446 -0.024391 -v -0.069446 0.103933 -0.468750 -v -0.103933 0.069446 -0.468750 -v -0.103934 0.069446 -0.024391 -v -0.122598 0.024386 -0.024391 -v -0.122598 0.024386 -0.468750 -v -0.024386 0.122598 -0.024391 -v -0.024386 0.122598 -0.468750 -v 0.024386 0.122598 -0.024391 -v 0.024387 0.122598 -0.468750 -v 0.069446 0.103934 -0.024391 -v 0.069447 0.103933 -0.468750 -v 0.103934 0.069446 -0.024391 -v 0.103934 0.069446 -0.468750 -v 0.103934 -0.069446 -0.024391 -v 0.103934 -0.069447 -0.468750 -v 0.069446 -0.103934 -0.024391 -v 0.069447 -0.103934 -0.468750 -v 0.024386 -0.122598 -0.024391 -v 0.024387 -0.122598 -0.468750 -v -0.069446 0.103934 -0.024390 -v 0.024386 0.024386 0.122594 -v 0.024386 0.069446 0.103930 -v 0.024386 0.103933 0.069442 -v 0.024386 0.122598 0.024382 -v -0.028389 0.109793 0.028385 -v -0.109793 0.028389 0.028387 -v -0.028389 0.028389 0.109791 -v -0.073974 0.029365 0.073972 -v -0.073974 0.070067 0.028386 -v -0.028389 0.070067 0.073971 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.265625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.265625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.265625 -vt 0.687500 0.265625 -vt 0.687500 0.015625 -vt 0.500000 0.265625 -vt 0.500000 0.015625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.125000 0.265625 -vt 0.125000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.934657 0.863213 -vt 0.901601 0.899049 -vt 0.865820 0.861492 -vt 0.925541 0.762929 -vt 0.899262 0.810455 -vt 0.865821 0.758725 -vt 0.832379 0.810455 -vt 0.806102 0.762929 -vt 0.959958 0.821457 -vt 0.796982 0.863213 -vt 0.973651 0.780138 -vt 0.830039 0.899049 -vt 0.865820 0.923510 -vt 0.757989 0.745545 -vt 0.793772 0.721082 -vt 0.757989 0.780138 -vt 0.937873 0.721082 -vt 0.973654 0.745543 -vt 0.771681 0.821457 -vt 0.840522 0.707845 -vt 0.891124 0.707845 -s off -f 1/1 2/2 3/3 4/4 -f 5/5 6/6 7/7 -f 8/8 5/5 7/7 -f 9/9 8/8 7/7 -f 10/10 9/9 7/7 -f 11/11 10/10 7/7 -f 12/12 11/11 7/7 -f 13/13 12/12 7/7 -f 14/14 13/13 7/7 -f 15/15 14/14 7/7 -f 16/16 15/15 7/7 -f 17/17 16/16 7/7 -f 18/18 17/17 7/7 -f 19/19 18/18 7/7 -f 20/20 19/19 7/7 -f 21/21 20/20 7/7 -f 22/22 23/23 24/24 -f 25/25 22/22 24/24 -f 26/26 25/25 24/24 -f 27/27 26/26 24/24 -f 28/28 27/27 24/24 -f 29/29 28/28 24/24 -f 30/30 29/29 24/24 -f 31/31 30/30 24/24 -f 32/32 31/31 24/24 -f 33/33 32/32 24/24 -f 34/34 33/33 24/24 -f 35/35 34/34 24/24 -f 36/36 35/35 24/24 -f 37/37 36/36 24/24 -f 38/38 37/37 24/24 -f 23/23 38/38 24/24 -f 6/6 21/21 7/7 -f 25/39 19/40 20/41 22/42 -f 22/42 20/41 21/43 23/44 -f 26/45 18/46 19/40 25/39 -f 27/47 17/48 18/46 26/45 -f 28/49 16/50 17/51 27/52 -f 29/53 15/54 16/50 28/49 -f 30/55 14/56 15/54 29/53 -f 31/57 13/58 14/56 30/55 -f 32/59 12/60 13/58 31/57 -f 33/61 11/62 12/60 32/59 -f 34/63 10/64 11/62 33/61 -f 35/65 9/66 10/64 34/63 -f 36/67 8/68 9/66 35/65 -f 37/69 5/70 8/68 36/67 -f 38/71 6/72 5/70 37/69 -f 23/44 21/43 6/72 38/71 -f 39/73 40/74 41/75 42/76 -f 43/77 44/78 45/79 46/80 -f 47/81 48/82 49/83 50/84 -f 51/85 52/86 44/78 43/77 -f 46/80 45/79 40/74 39/73 -f 50/84 49/83 52/86 51/85 -f 53/87 54/88 48/82 47/81 -f 55/89 56/90 54/88 53/87 -f 57/91 58/92 56/90 55/89 -f 59/93 60/94 58/92 57/91 -f 4/4 3/3 60/94 59/93 -f 2/2 1/1 61/95 62/96 -f 63/97 64/98 62/96 61/95 -f 65/99 66/100 64/98 63/97 -f 42/76 41/75 66/101 65/102 -f 69/5 70/6 71/7 -f 72/8 69/5 71/7 -f 73/9 72/8 71/7 -f 74/10 73/9 71/7 -f 75/11 74/10 71/7 -f 76/12 75/11 71/7 -f 77/13 76/12 71/7 -f 78/14 77/13 71/7 -f 79/15 78/14 71/7 -f 80/16 79/15 71/7 -f 81/17 80/16 71/7 -f 82/18 81/17 71/7 -f 83/19 82/18 71/7 -f 84/20 83/19 71/7 -f 85/21 84/20 71/7 -f 86/22 87/23 88/24 -f 89/25 86/22 88/24 -f 90/26 89/25 88/24 -f 91/27 90/26 88/24 -f 92/28 91/27 88/24 -f 93/29 92/28 88/24 -f 94/30 93/29 88/24 -f 95/31 94/30 88/24 -f 96/32 95/31 88/24 -f 97/33 96/32 88/24 -f 98/34 97/33 88/24 -f 99/35 98/34 88/24 -f 100/36 99/35 88/24 -f 101/37 100/36 88/24 -f 102/38 101/37 88/24 -f 87/23 102/38 88/24 -f 70/6 85/21 71/7 -f 89/39 83/40 84/41 86/42 -f 86/42 84/41 85/43 87/44 -f 90/45 82/46 83/40 89/39 -f 91/47 81/48 82/46 90/45 -f 92/49 80/50 81/51 91/52 -f 93/53 79/54 80/50 92/49 -f 94/55 78/56 79/54 93/53 -f 95/57 77/58 78/56 94/55 -f 96/59 76/60 77/58 95/57 -f 97/61 75/62 76/60 96/59 -f 98/63 74/64 75/62 97/61 -f 99/65 73/66 74/64 98/63 -f 100/67 72/68 73/66 99/65 -f 101/69 69/70 72/68 100/67 -f 102/71 70/72 69/70 101/69 -f 87/44 85/43 70/72 102/71 -f 106/77 107/78 108/79 109/80 -f 110/81 111/82 112/83 113/84 -f 109/80 108/79 104/74 103/73 -f 118/91 119/92 117/90 116/89 -f 120/93 121/94 119/92 118/91 -f 128/5 129/6 130/7 -f 131/8 128/5 130/7 -f 132/9 131/8 130/7 -f 133/10 132/9 130/7 -f 134/11 133/10 130/7 -f 135/12 134/11 130/7 -f 136/13 135/12 130/7 -f 137/14 136/13 130/7 -f 138/15 137/14 130/7 -f 139/16 138/15 130/7 -f 140/17 139/16 130/7 -f 141/18 140/17 130/7 -f 142/19 141/18 130/7 -f 143/20 142/19 130/7 -f 144/21 143/20 130/7 -f 145/22 146/23 147/24 -f 148/25 145/22 147/24 -f 149/26 148/25 147/24 -f 150/27 149/26 147/24 -f 151/28 150/27 147/24 -f 152/29 151/28 147/24 -f 153/30 152/29 147/24 -f 154/31 153/30 147/24 -f 155/32 154/31 147/24 -f 156/33 155/32 147/24 -f 157/34 156/33 147/24 -f 158/35 157/34 147/24 -f 159/36 158/35 147/24 -f 160/37 159/36 147/24 -f 161/38 160/37 147/24 -f 146/23 161/38 147/24 -f 129/6 144/21 130/7 -f 148/39 142/40 143/41 145/42 -f 145/42 143/41 144/43 146/44 -f 149/45 141/46 142/40 148/39 -f 150/47 140/48 141/46 149/45 -f 151/49 139/50 140/51 150/52 -f 152/53 138/54 139/50 151/49 -f 153/55 137/56 138/54 152/53 -f 154/57 136/58 137/56 153/55 -f 155/59 135/60 136/58 154/57 -f 156/61 134/62 135/60 155/59 -f 157/63 133/64 134/62 156/61 -f 158/65 132/66 133/64 157/63 -f 159/67 131/68 132/66 158/65 -f 160/69 128/70 131/68 159/67 -f 161/71 129/72 128/70 160/69 -f 146/44 144/43 129/72 161/71 -f 162/73 163/74 164/75 165/76 -f 168/80 167/79 163/74 162/73 -f 171/84 170/83 173/86 172/85 -f 176/89 177/90 175/88 174/87 -f 178/91 179/92 177/90 176/89 -f 180/93 181/94 179/92 178/91 -f 127/4 126/3 181/94 180/93 -f 184/97 185/98 183/96 182/95 -f 186/99 187/100 185/98 184/97 -f 165/76 164/75 187/101 186/102 -f 191/103 192/104 193/105 -f 195/106 198/107 196/108 -f 198/107 193/105 197/109 -f 198/107 197/109 196/108 -f 196/108 197/109 194/110 -f 190/111 191/103 198/107 -f 193/105 188/112 197/109 -f 193/105 198/107 191/103 -f 195/106 190/111 198/107 -f 190/111 195/106 189/113 -f 192/1 67/2 68/3 176/4 -f 103/73 104/74 105/75 65/76 -f 186/85 114/86 107/78 106/77 -f 113/84 112/83 114/86 186/85 -f 55/87 115/88 111/82 110/81 -f 116/89 117/90 115/88 55/87 -f 176/4 68/3 121/94 120/93 -f 191/95 122/96 67/2 192/1 -f 190/97 123/98 122/96 191/95 -f 189/99 124/100 123/98 190/97 -f 65/76 105/75 124/101 189/102 -f 4/1 125/2 126/3 127/4 -f 51/77 166/78 167/79 168/80 -f 188/81 169/82 170/83 171/84 -f 172/85 173/86 166/78 51/77 -f 174/87 175/88 169/82 188/81 -f 182/95 183/96 125/2 4/1 -f 174/114 192/104 176/115 -f 51/116 43/117 172/118 -f 42/119 65/120 189/113 -f 192/104 174/114 193/105 -f 188/112 193/105 174/114 -f 188/112 171/121 197/109 -f 46/122 39/123 196/108 -f 195/106 196/108 39/123 -f 194/110 46/122 196/108 -f 194/110 197/109 171/121 -f 171/121 172/118 194/110 -f 43/117 194/110 172/118 -f 46/122 194/110 43/117 -f 39/123 42/119 195/106 -f 189/113 195/106 42/119 diff --git a/mods/pipeworks/models/pipeworks_pipe_6.obj b/mods/pipeworks/models/pipeworks_pipe_6.obj deleted file mode 100755 index 0744c453..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_6.obj +++ /dev/null @@ -1,499 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-3way.blend' -# www.blender.org -o Cube.000 -v -0.069446 -0.468750 0.103934 -v -0.103933 -0.468750 0.069446 -v -0.122598 -0.468750 0.024386 -v -0.122598 -0.468750 -0.024386 -v -0.129917 -0.500000 -0.086808 -v -0.129917 -0.468750 -0.086808 -v -0.086808 -0.500000 -0.129917 -v -0.086808 -0.468750 -0.129917 -v -0.030483 -0.500000 -0.153248 -v -0.030483 -0.468750 -0.153248 -v 0.030483 -0.500000 -0.153247 -v 0.030483 -0.468750 -0.153247 -v 0.086808 -0.500000 -0.129917 -v 0.086808 -0.468750 -0.129917 -v 0.129917 -0.500000 -0.086808 -v 0.129917 -0.468750 -0.086808 -v 0.153248 -0.500000 -0.030483 -v 0.153248 -0.468750 -0.030483 -v 0.153248 -0.500000 0.030483 -v 0.153248 -0.468750 0.030483 -v 0.129917 -0.500000 0.086808 -v 0.129917 -0.468750 0.086808 -v 0.086808 -0.500000 0.129917 -v 0.086808 -0.468750 0.129917 -v 0.030483 -0.500000 0.153248 -v 0.030483 -0.468750 0.153248 -v -0.030483 -0.500000 0.153248 -v -0.030483 -0.468750 0.153248 -v -0.086808 -0.500000 0.129917 -v -0.086808 -0.468750 0.129917 -v -0.129917 -0.500000 0.086808 -v -0.129917 -0.468750 0.086808 -v -0.153247 -0.500000 0.030483 -v -0.153248 -0.468750 0.030483 -v -0.153247 -0.500000 -0.030483 -v -0.153248 -0.468750 -0.030483 -v -0.024386 -0.468750 0.122598 -v 0.024386 -0.468750 0.122598 -v 0.069446 -0.468750 0.103934 -v 0.103934 -0.468750 0.069447 -v 0.122598 -0.468750 0.024387 -v 0.122598 -0.468750 -0.024386 -v 0.103934 -0.468750 -0.069446 -v 0.069447 -0.468750 -0.103933 -v 0.024386 -0.468750 -0.122598 -v -0.024386 -0.468750 -0.122598 -v -0.069446 -0.468750 -0.103933 -v -0.103934 -0.468750 -0.069446 -v 0.000000 -0.468750 0.000000 -v 0.000000 -0.500000 0.000000 -v 0.024386 -0.024391 0.122598 -v 0.069446 -0.024391 0.103934 -v 0.103934 -0.024391 0.069446 -v 0.122598 -0.024391 0.024386 -v 0.122598 -0.024391 -0.024386 -v 0.103934 -0.024391 -0.069446 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v -0.024386 -0.024391 -0.122598 -v -0.103934 -0.024391 -0.069446 -v -0.069446 -0.024391 -0.103934 -v -0.103934 -0.024391 0.069446 -v -0.122598 -0.024391 0.024386 -v -0.122598 -0.024391 -0.024386 -v -0.069446 -0.024391 0.103934 -v -0.024386 -0.024391 0.122598 -v -0.468750 -0.153248 -0.030483 -v -0.500000 -0.153248 -0.030483 -v -0.468750 -0.153248 0.030483 -v -0.500000 -0.153248 0.030483 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.030483 0.153248 -v -0.500000 -0.030483 0.153248 -v -0.468750 0.030483 0.153248 -v -0.500000 0.030483 0.153248 -v -0.468750 0.086808 0.129917 -v -0.500000 0.086808 0.129917 -v -0.468750 0.129917 0.086808 -v -0.500000 0.129917 0.086808 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153248 0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.030483 -0.153248 -v -0.500000 0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.122598 -0.024386 -v -0.468750 -0.122598 0.024386 -v -0.468750 -0.103934 0.069446 -v -0.468750 -0.069446 0.103934 -v -0.468750 -0.024386 0.122598 -v -0.468750 0.024386 0.122598 -v -0.468750 0.069446 0.103934 -v -0.468750 0.103934 0.069446 -v -0.468750 0.122598 0.024386 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.069446 -0.103934 -v -0.468750 0.024386 -0.122598 -v -0.468750 -0.024386 -0.122598 -v -0.468750 -0.069446 -0.103934 -v -0.468750 -0.103934 -0.069446 -v -0.468750 0.000000 -0.000000 -v -0.500000 -0.000000 -0.000000 -v 0.468750 -0.069446 0.103934 -v 0.468750 -0.103934 0.069447 -v 0.468750 -0.122598 0.024387 -v 0.468750 -0.122598 -0.024386 -v 0.500000 -0.129917 -0.086807 -v 0.468750 -0.129917 -0.086807 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.468750 -0.030483 -0.153247 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.030483 -0.153247 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.153248 -0.030483 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.129917 0.086808 -v 0.468750 0.129917 0.086808 -v 0.500000 0.086808 0.129917 -v 0.468750 0.086808 0.129917 -v 0.500000 0.030483 0.153248 -v 0.468750 0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.086808 0.129917 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.153248 0.030483 -v 0.468750 -0.153248 0.030483 -v 0.500000 -0.153248 -0.030482 -v 0.468750 -0.153248 -0.030483 -v 0.468750 -0.024386 0.122598 -v 0.468750 0.024386 0.122598 -v 0.468750 0.069446 0.103934 -v 0.468750 0.103934 0.069447 -v 0.468750 0.122598 0.024387 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.069446 -0.103933 -v 0.468750 0.024386 -0.122598 -v 0.468750 -0.024386 -0.122598 -v 0.468750 -0.069446 -0.103933 -v 0.468750 -0.103934 -0.069446 -v 0.468750 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.265625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.265625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.265625 -vt 0.687500 0.265625 -vt 0.687500 0.015625 -vt 0.500000 0.265625 -vt 0.500000 0.015625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.125000 0.265625 -vt 0.125000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.218363 0.657325 -vt 0.185866 0.820702 -vt 0.153368 0.657325 -vt 0.531836 0.657325 -vt 0.564334 0.820702 -vt 0.596832 0.657325 -vt 0.656879 0.682198 -vt 0.702838 0.728156 -vt 0.727710 0.788204 -vt 0.727710 0.853199 -vt 0.702838 0.913247 -vt 0.656879 0.959205 -vt 0.596831 0.984078 -vt 0.531836 0.984078 -vt 0.471788 0.959205 -vt 0.425830 0.913247 -vt 0.400957 0.853199 -vt 0.400957 0.788204 -vt 0.425830 0.728156 -vt 0.471789 0.682198 -vt 0.093321 0.682198 -vt 0.047362 0.728156 -vt 0.022489 0.788204 -vt 0.022489 0.853199 -vt 0.047362 0.913247 -vt 0.093320 0.959205 -vt 0.153368 0.984078 -vt 0.218363 0.984078 -vt 0.278411 0.959205 -vt 0.324369 0.913247 -vt 0.349242 0.853199 -vt 0.349242 0.788204 -vt 0.324369 0.728156 -vt 0.278411 0.682198 -vt 0.187500 0.515625 -vt 0.250000 0.515625 -vt 0.875000 0.515625 -vt 0.937500 0.515625 -vt 0.750000 0.515625 -vt 0.812500 0.515625 -vt 0.562500 0.515625 -vt 0.625000 0.515625 -vt 0.687500 0.515625 -vt 0.500000 0.515625 -vt 0.437500 0.515625 -vt 0.375000 0.515625 -vt 0.312500 0.515625 -vt 0.125000 0.515625 -vt 0.062500 0.515625 -vt 0.000000 0.515625 -vt 1.000000 0.515625 -s off -f 54/1 41/2 42/3 55/4 -f 31/5 33/6 50/7 -f 29/8 31/5 50/7 -f 27/9 29/8 50/7 -f 25/10 27/9 50/7 -f 23/11 25/10 50/7 -f 21/12 23/11 50/7 -f 19/13 21/12 50/7 -f 17/14 19/13 50/7 -f 15/15 17/14 50/7 -f 13/16 15/15 50/7 -f 11/17 13/16 50/7 -f 9/18 11/17 50/7 -f 7/19 9/18 50/7 -f 5/20 7/19 50/7 -f 35/21 5/20 50/7 -f 6/22 36/23 49/24 -f 8/25 6/22 49/24 -f 10/26 8/25 49/24 -f 12/27 10/26 49/24 -f 14/28 12/27 49/24 -f 16/29 14/28 49/24 -f 18/30 16/29 49/24 -f 20/31 18/30 49/24 -f 22/32 20/31 49/24 -f 24/33 22/32 49/24 -f 26/34 24/33 49/24 -f 28/35 26/34 49/24 -f 30/36 28/35 49/24 -f 32/37 30/36 49/24 -f 34/38 32/37 49/24 -f 36/23 34/38 49/24 -f 33/6 35/21 50/7 -f 8/39 7/40 5/41 6/42 -f 6/42 5/41 35/43 36/44 -f 10/45 9/46 7/40 8/39 -f 12/47 11/48 9/46 10/45 -f 14/49 13/50 11/51 12/52 -f 16/53 15/54 13/50 14/49 -f 18/55 17/56 15/54 16/53 -f 20/57 19/58 17/56 18/55 -f 22/59 21/60 19/58 20/57 -f 24/61 23/62 21/60 22/59 -f 26/63 25/64 23/62 24/61 -f 28/65 27/66 25/64 26/63 -f 30/67 29/68 27/66 28/65 -f 32/69 31/70 29/68 30/67 -f 34/71 33/72 31/70 32/69 -f 36/44 35/43 33/72 34/71 -f 65/73 1/74 37/75 66/76 -f 63/77 3/78 2/79 62/80 -f 61/81 47/82 48/83 60/84 -f 64/85 4/86 3/78 63/77 -f 62/80 2/79 1/74 65/73 -f 60/84 48/83 4/86 64/85 -f 59/87 46/88 47/82 61/81 -f 58/89 45/90 46/88 59/87 -f 57/91 44/92 45/90 58/89 -f 56/93 43/94 44/92 57/91 -f 55/4 42/3 43/94 56/93 -f 53/95 40/96 41/2 54/1 -f 52/97 39/98 40/96 53/95 -f 51/99 38/100 39/98 52/97 -f 66/76 37/75 38/101 51/102 -f 67/58 69/60 70/59 68/57 -f 69/60 71/62 72/61 70/59 -f 71/62 73/64 74/63 72/61 -f 73/64 75/66 76/65 74/63 -f 75/66 77/68 78/67 76/65 -f 77/68 79/70 80/69 78/67 -f 79/70 81/72 82/71 80/69 -f 81/72 83/43 84/44 82/71 -f 83/43 85/41 86/42 84/44 -f 85/41 87/40 88/39 86/42 -f 87/40 89/46 90/45 88/39 -f 89/46 91/48 92/47 90/45 -f 91/51 93/50 94/49 92/52 -f 93/50 95/54 96/53 94/49 -f 97/56 67/58 68/57 98/55 -f 95/54 97/56 98/55 96/53 -f 70/103 116/104 68/105 -f 67/106 115/107 69/108 -f 69/108 115/107 71/109 -f 71/109 115/107 73/110 -f 73/110 115/107 75/111 -f 75/111 115/107 77/112 -f 77/112 115/107 79/113 -f 79/113 115/107 81/114 -f 81/114 115/107 83/115 -f 83/115 115/107 85/116 -f 85/116 115/107 87/117 -f 87/117 115/107 89/118 -f 89/118 115/107 91/119 -f 91/119 115/107 93/120 -f 93/120 115/107 95/121 -f 95/121 115/107 97/122 -f 97/122 115/107 67/106 -f 68/105 116/104 98/123 -f 98/123 116/104 96/124 -f 96/124 116/104 94/125 -f 94/125 116/104 92/126 -f 92/126 116/104 90/127 -f 90/127 116/104 88/128 -f 88/128 116/104 86/129 -f 86/129 116/104 84/130 -f 84/130 116/104 82/131 -f 82/131 116/104 80/132 -f 80/132 116/104 78/133 -f 78/133 116/104 76/134 -f 76/134 116/104 74/135 -f 74/135 116/104 72/136 -f 72/136 116/104 70/103 -f 107/137 157/2 158/3 108/138 -f 147/5 149/6 166/7 -f 145/8 147/5 166/7 -f 143/9 145/8 166/7 -f 141/10 143/9 166/7 -f 139/11 141/10 166/7 -f 137/12 139/11 166/7 -f 135/13 137/12 166/7 -f 133/14 135/13 166/7 -f 131/15 133/14 166/7 -f 129/16 131/15 166/7 -f 127/17 129/16 166/7 -f 125/18 127/17 166/7 -f 123/19 125/18 166/7 -f 121/20 123/19 166/7 -f 151/21 121/20 166/7 -f 122/22 152/23 165/24 -f 124/25 122/22 165/24 -f 126/26 124/25 165/24 -f 128/27 126/26 165/24 -f 130/28 128/27 165/24 -f 132/29 130/28 165/24 -f 134/30 132/29 165/24 -f 136/31 134/30 165/24 -f 138/32 136/31 165/24 -f 140/33 138/32 165/24 -f 142/34 140/33 165/24 -f 144/35 142/34 165/24 -f 146/36 144/35 165/24 -f 148/37 146/36 165/24 -f 150/38 148/37 165/24 -f 152/23 150/38 165/24 -f 149/6 151/21 166/7 -f 124/39 123/40 121/41 122/42 -f 122/42 121/41 151/43 152/44 -f 126/45 125/46 123/40 124/39 -f 128/47 127/48 125/46 126/45 -f 130/49 129/50 127/51 128/52 -f 132/53 131/54 129/50 130/49 -f 134/55 133/56 131/54 132/53 -f 136/57 135/58 133/56 134/55 -f 138/59 137/60 135/58 136/57 -f 140/61 139/62 137/60 138/59 -f 142/63 141/64 139/62 140/61 -f 144/65 143/66 141/64 142/63 -f 146/67 145/68 143/66 144/65 -f 148/69 147/70 145/68 146/67 -f 150/71 149/72 147/70 148/69 -f 152/44 151/43 149/72 150/71 -f 102/139 117/74 153/75 103/140 -f 100/141 119/78 118/79 101/142 -f 113/143 163/82 164/83 114/144 -f 99/145 120/86 119/78 100/141 -f 101/142 118/79 117/74 102/139 -f 114/144 164/83 120/86 99/145 -f 112/146 162/88 163/82 113/143 -f 111/147 161/90 162/88 112/146 -f 110/148 160/92 161/90 111/147 -f 109/149 159/94 160/92 110/148 -f 108/138 158/3 159/94 109/149 -f 106/150 156/96 157/2 107/137 -f 105/151 155/98 156/96 106/150 -f 104/152 154/100 155/98 105/151 -f 103/140 153/75 154/101 104/153 diff --git a/mods/pipeworks/models/pipeworks_pipe_7.obj b/mods/pipeworks/models/pipeworks_pipe_7.obj deleted file mode 100755 index d2993614..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_7.obj +++ /dev/null @@ -1,629 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-4way-corner.blend' -# www.blender.org -o Cube.000 -v -0.069446 -0.468750 0.103934 -v -0.103933 -0.468750 0.069446 -v -0.122598 -0.468750 0.024386 -v -0.122598 -0.468750 -0.024386 -v -0.129917 -0.500000 -0.086808 -v -0.129917 -0.468750 -0.086808 -v -0.086808 -0.500000 -0.129917 -v -0.086808 -0.468750 -0.129917 -v -0.030483 -0.500000 -0.153248 -v -0.030483 -0.468750 -0.153248 -v 0.030483 -0.500000 -0.153247 -v 0.030483 -0.468750 -0.153247 -v 0.086808 -0.500000 -0.129917 -v 0.086808 -0.468750 -0.129917 -v 0.129917 -0.500000 -0.086808 -v 0.129917 -0.468750 -0.086808 -v 0.153248 -0.500000 -0.030483 -v 0.153248 -0.468750 -0.030483 -v 0.153248 -0.500000 0.030483 -v 0.153248 -0.468750 0.030483 -v 0.129917 -0.500000 0.086808 -v 0.129917 -0.468750 0.086808 -v 0.086808 -0.500000 0.129917 -v 0.086808 -0.468750 0.129917 -v 0.030483 -0.500000 0.153248 -v 0.030483 -0.468750 0.153248 -v -0.030483 -0.500000 0.153248 -v -0.030483 -0.468750 0.153248 -v -0.086808 -0.500000 0.129917 -v -0.086808 -0.468750 0.129917 -v -0.129917 -0.500000 0.086808 -v -0.129917 -0.468750 0.086808 -v -0.153247 -0.500000 0.030483 -v -0.153248 -0.468750 0.030483 -v -0.153247 -0.500000 -0.030483 -v -0.153248 -0.468750 -0.030483 -v -0.024386 -0.468750 0.122598 -v 0.024386 -0.468750 0.122598 -v 0.069446 -0.468750 0.103934 -v 0.103934 -0.468750 0.069447 -v 0.122598 -0.468750 0.024387 -v 0.122598 -0.468750 -0.024386 -v 0.103934 -0.468750 -0.069446 -v 0.069447 -0.468750 -0.103933 -v 0.024386 -0.468750 -0.122598 -v -0.024386 -0.468750 -0.122598 -v -0.069446 -0.468750 -0.103933 -v -0.103934 -0.468750 -0.069446 -v 0.000000 -0.468750 0.000000 -v 0.000000 -0.500000 0.000000 -v 0.024386 -0.024391 0.122598 -v 0.069446 -0.024391 0.103934 -v 0.103934 -0.024391 0.069446 -v 0.122598 -0.024391 0.024386 -v 0.122598 -0.024391 -0.024386 -v 0.103934 -0.024391 -0.069446 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v -0.024386 -0.024391 -0.122598 -v -0.103934 -0.024391 -0.069446 -v -0.069446 -0.024391 -0.103934 -v -0.103934 -0.024391 0.069446 -v -0.122598 -0.024391 0.024386 -v -0.122598 -0.024391 -0.024386 -v -0.069446 -0.024391 0.103934 -v -0.024386 -0.024391 0.122598 -v -0.468750 -0.153248 -0.030483 -v -0.500000 -0.153248 -0.030483 -v -0.468750 -0.153248 0.030483 -v -0.500000 -0.153248 0.030483 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.030483 0.153248 -v -0.500000 -0.030483 0.153248 -v -0.468750 0.030483 0.153248 -v -0.500000 0.030483 0.153248 -v -0.468750 0.086808 0.129917 -v -0.500000 0.086808 0.129917 -v -0.468750 0.129917 0.086808 -v -0.500000 0.129917 0.086808 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153248 0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.030483 -0.153248 -v -0.500000 0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.122598 -0.024386 -v -0.468750 -0.122598 0.024386 -v -0.468750 -0.103934 0.069446 -v -0.468750 -0.069446 0.103934 -v -0.468750 -0.024386 0.122598 -v -0.468750 0.024386 0.122598 -v -0.468750 0.069446 0.103934 -v -0.468750 0.103934 0.069446 -v -0.468750 0.122598 0.024386 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.069446 -0.103934 -v -0.468750 0.024386 -0.122598 -v -0.468750 -0.024386 -0.122598 -v -0.468750 -0.069446 -0.103934 -v -0.468750 -0.103934 -0.069446 -v -0.468750 0.000000 -0.000000 -v -0.500000 -0.000000 -0.000000 -v 0.468750 -0.069446 0.103934 -v 0.468750 -0.103934 0.069447 -v 0.468750 -0.122598 0.024387 -v 0.468750 -0.122598 -0.024386 -v 0.500000 -0.129917 -0.086807 -v 0.468750 -0.129917 -0.086807 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.468750 -0.030483 -0.153247 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.030483 -0.153247 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.153248 -0.030483 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.129917 0.086808 -v 0.468750 0.129917 0.086808 -v 0.500000 0.086808 0.129917 -v 0.468750 0.086808 0.129917 -v 0.500000 0.030483 0.153248 -v 0.468750 0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.086808 0.129917 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.153248 0.030483 -v 0.468750 -0.153248 0.030483 -v 0.500000 -0.153248 -0.030482 -v 0.468750 -0.153248 -0.030483 -v 0.468750 -0.024386 0.122598 -v 0.468750 0.024386 0.122598 -v 0.468750 0.069446 0.103934 -v 0.468750 0.103934 0.069447 -v 0.468750 0.122598 0.024387 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.069446 -0.103933 -v 0.468750 0.024386 -0.122598 -v 0.468750 -0.024386 -0.122598 -v 0.468750 -0.069446 -0.103933 -v 0.468750 -0.103934 -0.069446 -v 0.468750 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -v -0.069446 -0.103934 -0.468750 -v -0.103933 -0.069447 -0.468750 -v -0.122598 -0.024387 -0.468750 -v -0.122598 0.024386 -0.468750 -v -0.129917 0.086808 -0.500000 -v -0.129917 0.086808 -0.468750 -v -0.086807 0.129917 -0.500000 -v -0.086807 0.129917 -0.468750 -v -0.030482 0.153247 -0.500000 -v -0.030482 0.153247 -0.468750 -v 0.030483 0.153247 -0.500000 -v 0.030483 0.153247 -0.468750 -v 0.086808 0.129917 -0.500000 -v 0.086808 0.129917 -0.468750 -v 0.129918 0.086808 -0.500000 -v 0.129918 0.086808 -0.468750 -v 0.153248 0.030483 -0.500000 -v 0.153248 0.030483 -0.468750 -v 0.153248 -0.030483 -0.500000 -v 0.153248 -0.030483 -0.468750 -v 0.129918 -0.086808 -0.500000 -v 0.129918 -0.086808 -0.468750 -v 0.086808 -0.129917 -0.500000 -v 0.086808 -0.129917 -0.468750 -v 0.030483 -0.153248 -0.500000 -v 0.030483 -0.153248 -0.468750 -v -0.030482 -0.153248 -0.500000 -v -0.030482 -0.153248 -0.468750 -v -0.086807 -0.129917 -0.500000 -v -0.086807 -0.129917 -0.468750 -v -0.129917 -0.086808 -0.500000 -v -0.129917 -0.086808 -0.468750 -v -0.153247 -0.030483 -0.500000 -v -0.153247 -0.030483 -0.468750 -v -0.153247 0.030483 -0.500000 -v -0.153247 0.030483 -0.468750 -v -0.024386 -0.122598 -0.468750 -v 0.024387 -0.122598 -0.468750 -v 0.069447 -0.103934 -0.468750 -v 0.103934 -0.069447 -0.468750 -v 0.122599 -0.024387 -0.468750 -v 0.122599 0.024386 -0.468750 -v 0.103934 0.069446 -0.468750 -v 0.069447 0.103933 -0.468750 -v 0.024387 0.122598 -0.468750 -v -0.024386 0.122598 -0.468750 -v -0.069446 0.103933 -0.468750 -v -0.103933 0.069446 -0.468750 -v 0.000000 -0.000000 -0.468750 -v 0.000001 -0.000000 -0.500000 -v 0.024386 -0.122598 -0.024391 -v 0.069446 -0.103934 -0.024391 -v 0.103934 -0.069446 -0.024391 -v 0.122598 -0.024386 -0.024391 -v 0.122598 0.024386 -0.024391 -v 0.103934 0.069446 -0.024391 -v 0.069446 0.103934 -0.024391 -v 0.024386 0.122598 -0.024391 -v -0.024386 0.122598 -0.024391 -v -0.103934 0.069446 -0.024391 -v -0.069446 0.103934 -0.024391 -v -0.103934 -0.069446 -0.024391 -v -0.122598 -0.024386 -0.024391 -v -0.122598 0.024386 -0.024391 -v -0.069446 -0.103934 -0.024391 -v -0.024386 -0.122598 -0.024391 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.265625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.265625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.265625 -vt 0.687500 0.265625 -vt 0.687500 0.015625 -vt 0.500000 0.265625 -vt 0.500000 0.015625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.125000 0.265625 -vt 0.125000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.218363 0.657325 -vt 0.185866 0.820702 -vt 0.153368 0.657325 -vt 0.531836 0.657325 -vt 0.564334 0.820702 -vt 0.596832 0.657325 -vt 0.656879 0.682198 -vt 0.702838 0.728156 -vt 0.727710 0.788204 -vt 0.727710 0.853199 -vt 0.702838 0.913247 -vt 0.656879 0.959205 -vt 0.596831 0.984078 -vt 0.531836 0.984078 -vt 0.471788 0.959205 -vt 0.425830 0.913247 -vt 0.400957 0.853199 -vt 0.400957 0.788204 -vt 0.425830 0.728156 -vt 0.471789 0.682198 -vt 0.093321 0.682198 -vt 0.047362 0.728156 -vt 0.022489 0.788204 -vt 0.022489 0.853199 -vt 0.047362 0.913247 -vt 0.093320 0.959205 -vt 0.153368 0.984078 -vt 0.218363 0.984078 -vt 0.278411 0.959205 -vt 0.324369 0.913247 -vt 0.349242 0.853199 -vt 0.349242 0.788204 -vt 0.324369 0.728156 -vt 0.278411 0.682198 -vt 0.187500 0.515625 -vt 0.250000 0.515625 -vt 0.875000 0.515625 -vt 0.937500 0.515625 -vt 0.750000 0.515625 -vt 0.812500 0.515625 -vt 0.562500 0.515625 -vt 0.625000 0.515625 -vt 0.687500 0.515625 -vt 0.500000 0.515625 -vt 0.437500 0.515625 -vt 0.375000 0.515625 -vt 0.312500 0.515625 -vt 0.125000 0.515625 -vt 0.062500 0.515625 -vt 0.000000 0.515625 -vt 1.000000 0.515625 -s off -f 54/1 41/2 42/3 55/4 -f 31/5 33/6 50/7 -f 29/8 31/5 50/7 -f 27/9 29/8 50/7 -f 25/10 27/9 50/7 -f 23/11 25/10 50/7 -f 21/12 23/11 50/7 -f 19/13 21/12 50/7 -f 17/14 19/13 50/7 -f 15/15 17/14 50/7 -f 13/16 15/15 50/7 -f 11/17 13/16 50/7 -f 9/18 11/17 50/7 -f 7/19 9/18 50/7 -f 5/20 7/19 50/7 -f 35/21 5/20 50/7 -f 6/22 36/23 49/24 -f 8/25 6/22 49/24 -f 10/26 8/25 49/24 -f 12/27 10/26 49/24 -f 14/28 12/27 49/24 -f 16/29 14/28 49/24 -f 18/30 16/29 49/24 -f 20/31 18/30 49/24 -f 22/32 20/31 49/24 -f 24/33 22/32 49/24 -f 26/34 24/33 49/24 -f 28/35 26/34 49/24 -f 30/36 28/35 49/24 -f 32/37 30/36 49/24 -f 34/38 32/37 49/24 -f 36/23 34/38 49/24 -f 33/6 35/21 50/7 -f 8/39 7/40 5/41 6/42 -f 6/42 5/41 35/43 36/44 -f 10/45 9/46 7/40 8/39 -f 12/47 11/48 9/46 10/45 -f 14/49 13/50 11/51 12/52 -f 16/53 15/54 13/50 14/49 -f 18/55 17/56 15/54 16/53 -f 20/57 19/58 17/56 18/55 -f 22/59 21/60 19/58 20/57 -f 24/61 23/62 21/60 22/59 -f 26/63 25/64 23/62 24/61 -f 28/65 27/66 25/64 26/63 -f 30/67 29/68 27/66 28/65 -f 32/69 31/70 29/68 30/67 -f 34/71 33/72 31/70 32/69 -f 36/44 35/43 33/72 34/71 -f 65/73 1/74 37/75 66/76 -f 63/77 3/78 2/79 62/80 -f 61/81 47/82 48/83 60/84 -f 64/85 4/86 3/78 63/77 -f 62/80 2/79 1/74 65/73 -f 60/84 48/83 4/86 64/85 -f 59/87 46/88 47/82 61/81 -f 58/89 45/90 46/88 59/87 -f 57/91 44/92 45/90 58/89 -f 56/93 43/94 44/92 57/91 -f 55/4 42/3 43/94 56/93 -f 53/95 40/96 41/2 54/1 -f 52/97 39/98 40/96 53/95 -f 51/99 38/100 39/98 52/97 -f 66/76 37/75 38/101 51/102 -f 67/58 69/60 70/59 68/57 -f 69/60 71/62 72/61 70/59 -f 71/62 73/64 74/63 72/61 -f 73/64 75/66 76/65 74/63 -f 75/66 77/68 78/67 76/65 -f 77/68 79/70 80/69 78/67 -f 79/70 81/72 82/71 80/69 -f 81/72 83/43 84/44 82/71 -f 83/43 85/41 86/42 84/44 -f 85/41 87/40 88/39 86/42 -f 87/40 89/46 90/45 88/39 -f 89/46 91/48 92/47 90/45 -f 91/51 93/50 94/49 92/52 -f 93/50 95/54 96/53 94/49 -f 97/56 67/58 68/57 98/55 -f 95/54 97/56 98/55 96/53 -f 70/103 116/104 68/105 -f 67/106 115/107 69/108 -f 69/108 115/107 71/109 -f 71/109 115/107 73/110 -f 73/110 115/107 75/111 -f 75/111 115/107 77/112 -f 77/112 115/107 79/113 -f 79/113 115/107 81/114 -f 81/114 115/107 83/115 -f 83/115 115/107 85/116 -f 85/116 115/107 87/117 -f 87/117 115/107 89/118 -f 89/118 115/107 91/119 -f 91/119 115/107 93/120 -f 93/120 115/107 95/121 -f 95/121 115/107 97/122 -f 97/122 115/107 67/106 -f 68/105 116/104 98/123 -f 98/123 116/104 96/124 -f 96/124 116/104 94/125 -f 94/125 116/104 92/126 -f 92/126 116/104 90/127 -f 90/127 116/104 88/128 -f 88/128 116/104 86/129 -f 86/129 116/104 84/130 -f 84/130 116/104 82/131 -f 82/131 116/104 80/132 -f 80/132 116/104 78/133 -f 78/133 116/104 76/134 -f 76/134 116/104 74/135 -f 74/135 116/104 72/136 -f 72/136 116/104 70/103 -f 107/137 157/2 158/3 108/138 -f 147/5 149/6 166/7 -f 145/8 147/5 166/7 -f 143/9 145/8 166/7 -f 141/10 143/9 166/7 -f 139/11 141/10 166/7 -f 137/12 139/11 166/7 -f 135/13 137/12 166/7 -f 133/14 135/13 166/7 -f 131/15 133/14 166/7 -f 129/16 131/15 166/7 -f 127/17 129/16 166/7 -f 125/18 127/17 166/7 -f 123/19 125/18 166/7 -f 121/20 123/19 166/7 -f 151/21 121/20 166/7 -f 122/22 152/23 165/24 -f 124/25 122/22 165/24 -f 126/26 124/25 165/24 -f 128/27 126/26 165/24 -f 130/28 128/27 165/24 -f 132/29 130/28 165/24 -f 134/30 132/29 165/24 -f 136/31 134/30 165/24 -f 138/32 136/31 165/24 -f 140/33 138/32 165/24 -f 142/34 140/33 165/24 -f 144/35 142/34 165/24 -f 146/36 144/35 165/24 -f 148/37 146/36 165/24 -f 150/38 148/37 165/24 -f 152/23 150/38 165/24 -f 149/6 151/21 166/7 -f 124/39 123/40 121/41 122/42 -f 122/42 121/41 151/43 152/44 -f 126/45 125/46 123/40 124/39 -f 128/47 127/48 125/46 126/45 -f 130/49 129/50 127/51 128/52 -f 132/53 131/54 129/50 130/49 -f 134/55 133/56 131/54 132/53 -f 136/57 135/58 133/56 134/55 -f 138/59 137/60 135/58 136/57 -f 140/61 139/62 137/60 138/59 -f 142/63 141/64 139/62 140/61 -f 144/65 143/66 141/64 142/63 -f 146/67 145/68 143/66 144/65 -f 148/69 147/70 145/68 146/67 -f 150/71 149/72 147/70 148/69 -f 152/44 151/43 149/72 150/71 -f 102/139 117/74 153/75 103/140 -f 100/141 119/78 118/79 101/142 -f 113/143 163/82 164/83 114/144 -f 99/145 120/86 119/78 100/141 -f 101/142 118/79 117/74 102/139 -f 114/144 164/83 120/86 99/145 -f 112/146 162/88 163/82 113/143 -f 111/147 161/90 162/88 112/146 -f 110/148 160/92 161/90 111/147 -f 109/149 159/94 160/92 110/148 -f 108/138 158/3 159/94 109/149 -f 106/150 156/96 157/2 107/137 -f 105/151 155/98 156/96 106/150 -f 104/152 154/100 155/98 105/151 -f 103/140 153/75 154/101 104/153 -f 220/1 207/2 208/3 221/4 -f 197/5 199/6 216/7 -f 195/8 197/5 216/7 -f 193/9 195/8 216/7 -f 191/10 193/9 216/7 -f 189/11 191/10 216/7 -f 187/12 189/11 216/7 -f 185/13 187/12 216/7 -f 183/14 185/13 216/7 -f 181/15 183/14 216/7 -f 179/16 181/15 216/7 -f 177/17 179/16 216/7 -f 175/18 177/17 216/7 -f 173/19 175/18 216/7 -f 171/20 173/19 216/7 -f 201/21 171/20 216/7 -f 172/22 202/23 215/24 -f 174/25 172/22 215/24 -f 176/26 174/25 215/24 -f 178/27 176/26 215/24 -f 180/28 178/27 215/24 -f 182/29 180/28 215/24 -f 184/30 182/29 215/24 -f 186/31 184/30 215/24 -f 188/32 186/31 215/24 -f 190/33 188/32 215/24 -f 192/34 190/33 215/24 -f 194/35 192/34 215/24 -f 196/36 194/35 215/24 -f 198/37 196/36 215/24 -f 200/38 198/37 215/24 -f 202/23 200/38 215/24 -f 199/6 201/21 216/7 -f 174/39 173/40 171/41 172/42 -f 172/42 171/41 201/43 202/44 -f 176/45 175/46 173/40 174/39 -f 178/47 177/48 175/46 176/45 -f 180/49 179/50 177/51 178/52 -f 182/53 181/54 179/50 180/49 -f 184/55 183/56 181/54 182/53 -f 186/57 185/58 183/56 184/55 -f 188/59 187/60 185/58 186/57 -f 190/61 189/62 187/60 188/59 -f 192/63 191/64 189/62 190/61 -f 194/65 193/66 191/64 192/63 -f 196/67 195/68 193/66 194/65 -f 198/69 197/70 195/68 196/67 -f 200/71 199/72 197/70 198/69 -f 202/44 201/43 199/72 200/71 -f 231/73 167/74 203/75 232/76 -f 229/77 169/78 168/79 228/80 -f 227/81 213/82 214/83 226/84 -f 230/85 170/86 169/78 229/77 -f 228/80 168/79 167/74 231/73 -f 226/84 214/83 170/86 230/85 -f 225/87 212/88 213/82 227/81 -f 224/89 211/90 212/88 225/87 -f 223/91 210/92 211/90 224/89 -f 222/93 209/94 210/92 223/91 -f 221/4 208/3 209/94 222/93 -f 219/95 206/96 207/2 220/1 -f 218/97 205/98 206/96 219/95 -f 217/99 204/100 205/98 218/97 -f 232/76 203/75 204/101 217/102 diff --git a/mods/pipeworks/models/pipeworks_pipe_8.obj b/mods/pipeworks/models/pipeworks_pipe_8.obj deleted file mode 100755 index 5dc58f9f..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_8.obj +++ /dev/null @@ -1,631 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-4way.blend' -# www.blender.org -mtllib pipeworks_pipe_8.mtl -o Cube.000 -v 0.069446 -0.468750 -0.103934 -v 0.103933 -0.468750 -0.069446 -v 0.122598 -0.468750 -0.024386 -v 0.122598 -0.468750 0.024386 -v 0.129917 -0.500000 0.086808 -v 0.129917 -0.468750 0.086808 -v 0.086808 -0.500000 0.129917 -v 0.086808 -0.468750 0.129917 -v 0.030483 -0.500000 0.153247 -v 0.030483 -0.468750 0.153248 -v -0.030483 -0.500000 0.153247 -v -0.030483 -0.468750 0.153248 -v -0.086808 -0.500000 0.129917 -v -0.086808 -0.468750 0.129917 -v -0.129918 -0.500000 0.086808 -v -0.129917 -0.468750 0.086808 -v -0.153248 -0.500000 0.030483 -v -0.153248 -0.468750 0.030483 -v -0.153248 -0.500000 -0.030483 -v -0.153248 -0.468750 -0.030483 -v -0.129918 -0.500000 -0.086808 -v -0.129917 -0.468750 -0.086808 -v -0.086808 -0.500000 -0.129917 -v -0.086808 -0.468750 -0.129917 -v -0.030483 -0.500000 -0.153248 -v -0.030483 -0.468750 -0.153248 -v 0.030482 -0.500000 -0.153248 -v 0.030482 -0.468750 -0.153248 -v 0.086807 -0.500000 -0.129917 -v 0.086807 -0.468750 -0.129917 -v 0.129917 -0.500000 -0.086808 -v 0.129917 -0.468750 -0.086808 -v 0.153247 -0.500000 -0.030483 -v 0.153247 -0.468750 -0.030483 -v 0.153247 -0.500000 0.030483 -v 0.153247 -0.468750 0.030483 -v 0.024386 -0.468750 -0.122598 -v -0.024387 -0.468750 -0.122598 -v -0.069447 -0.468750 -0.103934 -v -0.103934 -0.468750 -0.069446 -v -0.122599 -0.468750 -0.024386 -v -0.122599 -0.468750 0.024386 -v -0.103934 -0.468750 0.069446 -v -0.069447 -0.468750 0.103934 -v -0.024387 -0.468750 0.122598 -v 0.024386 -0.468750 0.122598 -v 0.069446 -0.468750 0.103933 -v 0.103933 -0.468750 0.069446 -v -0.000000 -0.468750 -0.000000 -v -0.000000 -0.500000 -0.000000 -v -0.024386 -0.024391 -0.122598 -v -0.069446 -0.024391 -0.103934 -v -0.103934 -0.024391 -0.069446 -v -0.122598 -0.024391 -0.024386 -v -0.122598 -0.024391 0.024386 -v -0.103934 -0.024391 0.069446 -v -0.069446 -0.024391 0.103934 -v -0.024386 -0.024391 0.122598 -v 0.024386 -0.024391 0.122598 -v 0.103934 -0.024391 0.069446 -v 0.069446 -0.024391 0.103934 -v 0.103934 -0.024391 -0.069446 -v 0.122598 -0.024391 -0.024386 -v 0.122598 -0.024391 0.024386 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v 0.153248 0.468750 0.030483 -v 0.153248 0.500000 0.030483 -v 0.153248 0.468750 -0.030483 -v 0.153248 0.500000 -0.030483 -v 0.129917 0.468750 -0.086808 -v 0.129917 0.500000 -0.086808 -v 0.086808 0.468750 -0.129917 -v 0.086808 0.500000 -0.129917 -v 0.030483 0.468750 -0.153248 -v 0.030483 0.500000 -0.153248 -v -0.030483 0.468750 -0.153248 -v -0.030483 0.500000 -0.153248 -v -0.086808 0.468750 -0.129917 -v -0.086808 0.500000 -0.129917 -v -0.129917 0.468750 -0.086808 -v -0.129917 0.500000 -0.086808 -v -0.153247 0.468750 -0.030483 -v -0.153247 0.500000 -0.030483 -v -0.153247 0.468750 0.030483 -v -0.153247 0.500000 0.030483 -v -0.129917 0.468750 0.086808 -v -0.129917 0.500000 0.086808 -v -0.086808 0.468750 0.129917 -v -0.086808 0.500000 0.129917 -v -0.030483 0.468750 0.153248 -v -0.030483 0.500000 0.153248 -v 0.030483 0.468750 0.153248 -v 0.030483 0.500000 0.153248 -v 0.086808 0.468750 0.129917 -v 0.086808 0.500000 0.129917 -v 0.129917 0.468750 0.086808 -v 0.129918 0.500000 0.086808 -v 0.122598 0.468750 0.024386 -v 0.122598 0.468750 -0.024386 -v 0.103934 0.468750 -0.069446 -v 0.069447 0.468750 -0.103934 -v 0.024387 0.468750 -0.122598 -v -0.024386 0.468750 -0.122598 -v -0.069446 0.468750 -0.103934 -v -0.103933 0.468750 -0.069446 -v -0.122598 0.468750 -0.024386 -v -0.122598 0.468750 0.024386 -v -0.103933 0.468750 0.069446 -v -0.069446 0.468750 0.103934 -v -0.024386 0.468750 0.122598 -v 0.024387 0.468750 0.122598 -v 0.069447 0.468750 0.103934 -v 0.103934 0.468750 0.069446 -v 0.000000 0.468750 -0.000000 -v 0.000000 0.500000 0.000000 -v -0.024386 0.024390 -0.122598 -v -0.069446 0.024390 -0.103934 -v -0.103934 0.024390 -0.069446 -v -0.122598 0.024390 -0.024386 -v -0.122598 0.024390 0.024386 -v -0.103934 0.024390 0.069446 -v -0.069446 0.024390 0.103934 -v -0.024386 0.024389 0.122598 -v 0.024386 0.024389 0.122598 -v 0.103934 0.024390 0.069446 -v 0.069446 0.024390 0.103934 -v 0.103934 0.024390 -0.069446 -v 0.122598 0.024390 -0.024386 -v 0.122598 0.024390 0.024386 -v 0.069446 0.024390 -0.103934 -v 0.024386 0.024390 -0.122598 -v 0.468750 -0.153248 0.030483 -v 0.500000 -0.153248 0.030483 -v 0.468750 -0.153248 -0.030483 -v 0.500000 -0.153248 -0.030483 -v 0.468750 -0.129917 -0.086808 -v 0.500000 -0.129917 -0.086808 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.030483 -0.153248 -v 0.500000 -0.030483 -0.153248 -v 0.468750 0.030483 -0.153248 -v 0.500000 0.030483 -0.153248 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153247 -0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.129917 0.086808 -v 0.500000 0.129917 0.086808 -v 0.468750 0.086808 0.129917 -v 0.500000 0.086808 0.129917 -v 0.468750 0.030483 0.153248 -v 0.500000 0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.086808 0.129917 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.122598 0.024386 -v 0.468750 -0.122598 -0.024386 -v 0.468750 -0.103934 -0.069446 -v 0.468750 -0.069446 -0.103934 -v 0.468750 -0.024386 -0.122598 -v 0.468750 0.024386 -0.122598 -v 0.468750 0.069446 -0.103934 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.122598 0.024386 -v 0.468750 0.103934 0.069446 -v 0.468750 0.069446 0.103934 -v 0.468750 0.024386 0.122598 -v 0.468750 -0.024387 0.122598 -v 0.468750 -0.069447 0.103934 -v 0.468750 -0.103934 0.069446 -v 0.468750 -0.000000 -0.000000 -v 0.500000 -0.000000 0.000000 -v -0.468750 -0.069446 -0.103934 -v -0.468750 -0.103933 -0.069446 -v -0.468750 -0.122598 -0.024387 -v -0.468750 -0.122598 0.024386 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.030483 0.153247 -v -0.468750 -0.030483 0.153248 -v -0.500000 0.030483 0.153247 -v -0.468750 0.030483 0.153248 -v -0.500000 0.086808 0.129917 -v -0.468750 0.086808 0.129917 -v -0.500000 0.129917 0.086808 -v -0.468750 0.129917 0.086808 -v -0.500000 0.153248 0.030483 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.030483 -0.153248 -v -0.468750 0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.153247 -0.030483 -v -0.468750 -0.153247 -0.030483 -v -0.500000 -0.153247 0.030483 -v -0.468750 -0.153247 0.030483 -v -0.468750 -0.024386 -0.122598 -v -0.468750 0.024387 -0.122598 -v -0.468750 0.069447 -0.103934 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.122598 0.024386 -v -0.468750 0.103934 0.069446 -v -0.468750 0.069447 0.103934 -v -0.468750 0.024387 0.122598 -v -0.468750 -0.024386 0.122598 -v -0.468750 -0.069446 0.103933 -v -0.468750 -0.103933 0.069446 -v -0.468750 0.000000 -0.000000 -v -0.500000 0.000000 -0.000000 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.265625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.265625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.265625 -vt 0.687500 0.265625 -vt 0.687500 0.015625 -vt 0.500000 0.265625 -vt 0.500000 0.015625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.125000 0.265625 -vt 0.125000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.218363 0.657325 -vt 0.185866 0.820702 -vt 0.153368 0.657325 -vt 0.531836 0.657325 -vt 0.564334 0.820702 -vt 0.596832 0.657325 -vt 0.656879 0.682198 -vt 0.702838 0.728156 -vt 0.727710 0.788204 -vt 0.727710 0.853199 -vt 0.702838 0.913247 -vt 0.656879 0.959205 -vt 0.596831 0.984078 -vt 0.531836 0.984078 -vt 0.471788 0.959205 -vt 0.425830 0.913247 -vt 0.400957 0.853199 -vt 0.400957 0.788204 -vt 0.425830 0.728156 -vt 0.471789 0.682198 -vt 0.093321 0.682198 -vt 0.047362 0.728156 -vt 0.022489 0.788204 -vt 0.022489 0.853199 -vt 0.047362 0.913247 -vt 0.093320 0.959205 -vt 0.153368 0.984078 -vt 0.218363 0.984078 -vt 0.278411 0.959205 -vt 0.324369 0.913247 -vt 0.349242 0.853199 -vt 0.349242 0.788204 -vt 0.324369 0.728156 -vt 0.278411 0.682198 -vt 0.187500 0.515625 -vt 0.250000 0.515625 -vt 0.875000 0.515625 -vt 0.937500 0.515625 -vt 0.750000 0.515625 -vt 0.812500 0.515625 -vt 0.562500 0.515625 -vt 0.625000 0.515625 -vt 0.687500 0.515625 -vt 0.500000 0.515625 -vt 0.437500 0.515625 -vt 0.375000 0.515625 -vt 0.312500 0.515625 -vt 0.125000 0.515625 -vt 0.062500 0.515625 -vt 0.000000 0.515625 -vt 1.000000 0.515625 -usemtl None -s off -f 54/1 41/2 42/3 55/4 -f 31/5 33/6 50/7 -f 29/8 31/5 50/7 -f 27/9 29/8 50/7 -f 25/10 27/9 50/7 -f 23/11 25/10 50/7 -f 21/12 23/11 50/7 -f 19/13 21/12 50/7 -f 17/14 19/13 50/7 -f 15/15 17/14 50/7 -f 13/16 15/15 50/7 -f 11/17 13/16 50/7 -f 9/18 11/17 50/7 -f 7/19 9/18 50/7 -f 5/20 7/19 50/7 -f 35/21 5/20 50/7 -f 6/22 36/23 49/24 -f 8/25 6/22 49/24 -f 10/26 8/25 49/24 -f 12/27 10/26 49/24 -f 14/28 12/27 49/24 -f 16/29 14/28 49/24 -f 18/30 16/29 49/24 -f 20/31 18/30 49/24 -f 22/32 20/31 49/24 -f 24/33 22/32 49/24 -f 26/34 24/33 49/24 -f 28/35 26/34 49/24 -f 30/36 28/35 49/24 -f 32/37 30/36 49/24 -f 34/38 32/37 49/24 -f 36/23 34/38 49/24 -f 33/6 35/21 50/7 -f 8/39 7/40 5/41 6/42 -f 6/42 5/41 35/43 36/44 -f 10/45 9/46 7/40 8/39 -f 12/47 11/48 9/46 10/45 -f 14/49 13/50 11/51 12/52 -f 16/53 15/54 13/50 14/49 -f 18/55 17/56 15/54 16/53 -f 20/57 19/58 17/56 18/55 -f 22/59 21/60 19/58 20/57 -f 24/61 23/62 21/60 22/59 -f 26/63 25/64 23/62 24/61 -f 28/65 27/66 25/64 26/63 -f 30/67 29/68 27/66 28/65 -f 32/69 31/70 29/68 30/67 -f 34/71 33/72 31/70 32/69 -f 36/44 35/43 33/72 34/71 -f 65/73 1/74 37/75 66/76 -f 63/77 3/78 2/79 62/80 -f 61/81 47/82 48/83 60/84 -f 64/85 4/86 3/78 63/77 -f 62/80 2/79 1/74 65/73 -f 60/84 48/83 4/86 64/85 -f 59/87 46/88 47/82 61/81 -f 58/89 45/90 46/88 59/87 -f 57/91 44/92 45/90 58/89 -f 56/93 43/94 44/92 57/91 -f 55/4 42/3 43/94 56/93 -f 53/95 40/96 41/2 54/1 -f 52/97 39/98 40/96 53/95 -f 51/99 38/100 39/98 52/97 -f 66/76 37/75 38/101 51/102 -f 67/58 69/60 70/59 68/57 -f 69/60 71/62 72/61 70/59 -f 71/62 73/64 74/63 72/61 -f 73/64 75/66 76/65 74/63 -f 75/66 77/68 78/67 76/65 -f 77/68 79/70 80/69 78/67 -f 79/70 81/72 82/71 80/69 -f 81/72 83/43 84/44 82/71 -f 83/43 85/41 86/42 84/44 -f 85/41 87/40 88/39 86/42 -f 87/40 89/46 90/45 88/39 -f 89/46 91/48 92/47 90/45 -f 91/51 93/50 94/49 92/52 -f 93/50 95/54 96/53 94/49 -f 97/56 67/58 68/57 98/55 -f 95/54 97/56 98/55 96/53 -f 70/103 116/104 68/105 -f 67/106 115/107 69/108 -f 69/108 115/107 71/109 -f 71/109 115/107 73/110 -f 73/110 115/107 75/111 -f 75/111 115/107 77/112 -f 77/112 115/107 79/113 -f 79/113 115/107 81/114 -f 81/114 115/107 83/115 -f 83/115 115/107 85/116 -f 85/116 115/107 87/117 -f 87/117 115/107 89/118 -f 89/118 115/107 91/119 -f 91/119 115/107 93/120 -f 93/120 115/107 95/121 -f 95/121 115/107 97/122 -f 97/122 115/107 67/106 -f 68/105 116/104 98/123 -f 98/123 116/104 96/124 -f 96/124 116/104 94/125 -f 94/125 116/104 92/126 -f 92/126 116/104 90/127 -f 90/127 116/104 88/128 -f 88/128 116/104 86/129 -f 86/129 116/104 84/130 -f 84/130 116/104 82/131 -f 82/131 116/104 80/132 -f 80/132 116/104 78/133 -f 78/133 116/104 76/134 -f 76/134 116/104 74/135 -f 74/135 116/104 72/136 -f 72/136 116/104 70/103 -f 107/137 120/1 121/4 108/138 -f 102/139 131/73 132/76 103/140 -f 100/141 129/77 128/80 101/142 -f 113/143 127/81 126/84 114/144 -f 99/145 130/85 129/77 100/141 -f 101/142 128/80 131/73 102/139 -f 114/144 126/84 130/85 99/145 -f 112/146 125/87 127/81 113/143 -f 111/147 124/89 125/87 112/146 -f 110/148 123/91 124/89 111/147 -f 109/149 122/93 123/91 110/148 -f 108/138 121/4 122/93 109/149 -f 106/150 119/95 120/1 107/137 -f 105/151 118/97 119/95 106/150 -f 104/152 117/99 118/97 105/151 -f 103/140 132/76 117/102 104/153 -f 133/58 135/60 136/59 134/57 -f 135/60 137/62 138/61 136/59 -f 137/62 139/64 140/63 138/61 -f 139/64 141/66 142/65 140/63 -f 141/66 143/68 144/67 142/65 -f 143/68 145/70 146/69 144/67 -f 145/70 147/72 148/71 146/69 -f 147/72 149/43 150/44 148/71 -f 149/43 151/41 152/42 150/44 -f 151/41 153/40 154/39 152/42 -f 153/40 155/46 156/45 154/39 -f 155/46 157/48 158/47 156/45 -f 157/51 159/50 160/49 158/52 -f 159/50 161/54 162/53 160/49 -f 163/56 133/58 134/57 164/55 -f 161/54 163/56 164/55 162/53 -f 136/103 182/104 134/105 -f 133/106 181/107 135/108 -f 135/108 181/107 137/109 -f 137/109 181/107 139/110 -f 139/110 181/107 141/111 -f 141/111 181/107 143/112 -f 143/112 181/107 145/113 -f 145/113 181/107 147/114 -f 147/114 181/107 149/115 -f 149/115 181/107 151/116 -f 151/116 181/107 153/117 -f 153/117 181/107 155/118 -f 155/118 181/107 157/119 -f 157/119 181/107 159/120 -f 159/120 181/107 161/121 -f 161/121 181/107 163/122 -f 163/122 181/107 133/106 -f 134/105 182/104 164/123 -f 164/123 182/104 162/124 -f 162/124 182/104 160/125 -f 160/125 182/104 158/126 -f 158/126 182/104 156/127 -f 156/127 182/104 154/128 -f 154/128 182/104 152/129 -f 152/129 182/104 150/130 -f 150/130 182/104 148/131 -f 148/131 182/104 146/132 -f 146/132 182/104 144/133 -f 144/133 182/104 142/134 -f 142/134 182/104 140/135 -f 140/135 182/104 138/136 -f 138/136 182/104 136/103 -f 173/137 223/2 224/3 174/138 -f 213/5 215/6 232/7 -f 211/8 213/5 232/7 -f 209/9 211/8 232/7 -f 207/10 209/9 232/7 -f 205/11 207/10 232/7 -f 203/12 205/11 232/7 -f 201/13 203/12 232/7 -f 199/14 201/13 232/7 -f 197/15 199/14 232/7 -f 195/16 197/15 232/7 -f 193/17 195/16 232/7 -f 191/18 193/17 232/7 -f 189/19 191/18 232/7 -f 187/20 189/19 232/7 -f 217/21 187/20 232/7 -f 188/22 218/23 231/24 -f 190/25 188/22 231/24 -f 192/26 190/25 231/24 -f 194/27 192/26 231/24 -f 196/28 194/27 231/24 -f 198/29 196/28 231/24 -f 200/30 198/29 231/24 -f 202/31 200/30 231/24 -f 204/32 202/31 231/24 -f 206/33 204/32 231/24 -f 208/34 206/33 231/24 -f 210/35 208/34 231/24 -f 212/36 210/35 231/24 -f 214/37 212/36 231/24 -f 216/38 214/37 231/24 -f 218/23 216/38 231/24 -f 215/6 217/21 232/7 -f 190/39 189/40 187/41 188/42 -f 188/42 187/41 217/43 218/44 -f 192/45 191/46 189/40 190/39 -f 194/47 193/48 191/46 192/45 -f 196/49 195/50 193/51 194/52 -f 198/53 197/54 195/50 196/49 -f 200/55 199/56 197/54 198/53 -f 202/57 201/58 199/56 200/55 -f 204/59 203/60 201/58 202/57 -f 206/61 205/62 203/60 204/59 -f 208/63 207/64 205/62 206/61 -f 210/65 209/66 207/64 208/63 -f 212/67 211/68 209/66 210/65 -f 214/69 213/70 211/68 212/67 -f 216/71 215/72 213/70 214/69 -f 218/44 217/43 215/72 216/71 -f 168/139 183/74 219/75 169/140 -f 166/141 185/78 184/79 167/142 -f 179/143 229/82 230/83 180/144 -f 165/145 186/86 185/78 166/141 -f 167/142 184/79 183/74 168/139 -f 180/144 230/83 186/86 165/145 -f 178/146 228/88 229/82 179/143 -f 177/147 227/90 228/88 178/146 -f 176/148 226/92 227/90 177/147 -f 175/149 225/94 226/92 176/148 -f 174/138 224/3 225/94 175/149 -f 172/150 222/96 223/2 173/137 -f 171/151 221/98 222/96 172/150 -f 170/152 220/100 221/98 171/151 -f 169/140 219/75 220/101 170/153 diff --git a/mods/pipeworks/models/pipeworks_pipe_9.obj b/mods/pipeworks/models/pipeworks_pipe_9.obj deleted file mode 100755 index 8c6e03b1..00000000 --- a/mods/pipeworks/models/pipeworks_pipe_9.obj +++ /dev/null @@ -1,759 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-5way.blend' -# www.blender.org -o Cube.000 -v -0.069446 -0.468750 0.103934 -v -0.103933 -0.468750 0.069446 -v -0.122598 -0.468750 0.024386 -v -0.122598 -0.468750 -0.024386 -v -0.129917 -0.500000 -0.086808 -v -0.129917 -0.468750 -0.086808 -v -0.086808 -0.500000 -0.129917 -v -0.086808 -0.468750 -0.129917 -v -0.030483 -0.500000 -0.153248 -v -0.030483 -0.468750 -0.153248 -v 0.030483 -0.500000 -0.153247 -v 0.030483 -0.468750 -0.153247 -v 0.086808 -0.500000 -0.129917 -v 0.086808 -0.468750 -0.129917 -v 0.129917 -0.500000 -0.086808 -v 0.129917 -0.468750 -0.086808 -v 0.153248 -0.500000 -0.030483 -v 0.153248 -0.468750 -0.030483 -v 0.153248 -0.500000 0.030483 -v 0.153248 -0.468750 0.030483 -v 0.129917 -0.500000 0.086808 -v 0.129917 -0.468750 0.086808 -v 0.086808 -0.500000 0.129917 -v 0.086808 -0.468750 0.129917 -v 0.030483 -0.500000 0.153248 -v 0.030483 -0.468750 0.153248 -v -0.030483 -0.500000 0.153248 -v -0.030483 -0.468750 0.153248 -v -0.086808 -0.500000 0.129917 -v -0.086808 -0.468750 0.129917 -v -0.129917 -0.500000 0.086808 -v -0.129917 -0.468750 0.086808 -v -0.153247 -0.500000 0.030483 -v -0.153248 -0.468750 0.030483 -v -0.153247 -0.500000 -0.030483 -v -0.153248 -0.468750 -0.030483 -v -0.024386 -0.468750 0.122598 -v 0.024386 -0.468750 0.122598 -v 0.069446 -0.468750 0.103934 -v 0.103934 -0.468750 0.069447 -v 0.122598 -0.468750 0.024387 -v 0.122598 -0.468750 -0.024386 -v 0.103934 -0.468750 -0.069446 -v 0.069447 -0.468750 -0.103933 -v 0.024386 -0.468750 -0.122598 -v -0.024386 -0.468750 -0.122598 -v -0.069446 -0.468750 -0.103933 -v -0.103934 -0.468750 -0.069446 -v 0.000000 -0.468750 0.000000 -v 0.000000 -0.500000 0.000000 -v 0.024386 -0.024391 0.122598 -v 0.069446 -0.024391 0.103934 -v 0.103934 -0.024391 0.069446 -v 0.122598 -0.024391 0.024386 -v 0.122598 -0.024391 -0.024386 -v 0.103934 -0.024391 -0.069446 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v -0.024386 -0.024391 -0.122598 -v -0.103934 -0.024391 -0.069446 -v -0.069446 -0.024391 -0.103934 -v -0.103934 -0.024391 0.069446 -v -0.122598 -0.024391 0.024386 -v -0.122598 -0.024391 -0.024386 -v -0.069446 -0.024391 0.103934 -v -0.024386 -0.024391 0.122598 -v -0.153248 0.468750 -0.030483 -v -0.153248 0.500000 -0.030483 -v -0.153248 0.468750 0.030483 -v -0.153248 0.500000 0.030483 -v -0.129917 0.468750 0.086808 -v -0.129917 0.500000 0.086808 -v -0.086808 0.468750 0.129917 -v -0.086808 0.500000 0.129917 -v -0.030483 0.468750 0.153248 -v -0.030483 0.500000 0.153248 -v 0.030483 0.468750 0.153248 -v 0.030483 0.500000 0.153248 -v 0.086808 0.468750 0.129917 -v 0.086808 0.500000 0.129917 -v 0.129917 0.468750 0.086808 -v 0.129917 0.500000 0.086808 -v 0.153248 0.468750 0.030483 -v 0.153248 0.500000 0.030483 -v 0.153248 0.468750 -0.030483 -v 0.153248 0.500000 -0.030483 -v 0.129917 0.468750 -0.086808 -v 0.129917 0.500000 -0.086808 -v 0.086808 0.468750 -0.129917 -v 0.086808 0.500000 -0.129917 -v 0.030483 0.468750 -0.153248 -v 0.030483 0.500000 -0.153248 -v -0.030483 0.468750 -0.153248 -v -0.030483 0.500000 -0.153248 -v -0.086808 0.468750 -0.129917 -v -0.086808 0.500000 -0.129917 -v -0.129917 0.468750 -0.086808 -v -0.129917 0.500000 -0.086808 -v -0.122598 0.468750 -0.024386 -v -0.122598 0.468750 0.024386 -v -0.103934 0.468750 0.069446 -v -0.069446 0.468750 0.103934 -v -0.024386 0.468750 0.122598 -v 0.024386 0.468750 0.122598 -v 0.069446 0.468750 0.103934 -v 0.103934 0.468750 0.069446 -v 0.122598 0.468750 0.024386 -v 0.122598 0.468750 -0.024386 -v 0.103934 0.468750 -0.069446 -v 0.069446 0.468750 -0.103934 -v 0.024386 0.468750 -0.122598 -v -0.024386 0.468750 -0.122598 -v -0.069446 0.468750 -0.103934 -v -0.103934 0.468750 -0.069446 -v -0.000000 0.468750 0.000000 -v -0.000000 0.500000 -0.000000 -v 0.024386 0.024390 0.122598 -v 0.069446 0.024390 0.103934 -v 0.103934 0.024390 0.069446 -v 0.122598 0.024390 0.024386 -v 0.122598 0.024390 -0.024386 -v 0.103934 0.024390 -0.069446 -v 0.069446 0.024390 -0.103934 -v 0.024386 0.024389 -0.122598 -v -0.024386 0.024389 -0.122598 -v -0.103934 0.024390 -0.069446 -v -0.069446 0.024390 -0.103934 -v -0.103934 0.024390 0.069446 -v -0.122598 0.024390 0.024386 -v -0.122598 0.024390 -0.024386 -v -0.069446 0.024390 0.103934 -v -0.024386 0.024390 0.122598 -v -0.468750 -0.153248 -0.030483 -v -0.500000 -0.153248 -0.030483 -v -0.468750 -0.153248 0.030483 -v -0.500000 -0.153248 0.030483 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.030483 0.153248 -v -0.500000 -0.030483 0.153248 -v -0.468750 0.030483 0.153248 -v -0.500000 0.030483 0.153248 -v -0.468750 0.086808 0.129917 -v -0.500000 0.086808 0.129917 -v -0.468750 0.129917 0.086808 -v -0.500000 0.129917 0.086808 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153248 0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.030483 -0.153248 -v -0.500000 0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.122598 -0.024386 -v -0.468750 -0.122598 0.024386 -v -0.468750 -0.103934 0.069446 -v -0.468750 -0.069446 0.103934 -v -0.468750 -0.024386 0.122598 -v -0.468750 0.024386 0.122598 -v -0.468750 0.069446 0.103934 -v -0.468750 0.103934 0.069446 -v -0.468750 0.122598 0.024386 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.069446 -0.103934 -v -0.468750 0.024386 -0.122598 -v -0.468750 -0.024386 -0.122598 -v -0.468750 -0.069446 -0.103934 -v -0.468750 -0.103934 -0.069446 -v -0.468750 0.000000 -0.000000 -v -0.500000 -0.000000 -0.000000 -v 0.468750 -0.069446 0.103934 -v 0.468750 -0.103934 0.069447 -v 0.468750 -0.122598 0.024387 -v 0.468750 -0.122598 -0.024386 -v 0.500000 -0.129917 -0.086807 -v 0.468750 -0.129917 -0.086807 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.468750 -0.030483 -0.153247 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.030483 -0.153247 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.153248 -0.030483 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.129917 0.086808 -v 0.468750 0.129917 0.086808 -v 0.500000 0.086808 0.129917 -v 0.468750 0.086808 0.129917 -v 0.500000 0.030483 0.153248 -v 0.468750 0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.086808 0.129917 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.153248 0.030483 -v 0.468750 -0.153248 0.030483 -v 0.500000 -0.153248 -0.030482 -v 0.468750 -0.153248 -0.030483 -v 0.468750 -0.024386 0.122598 -v 0.468750 0.024386 0.122598 -v 0.468750 0.069446 0.103934 -v 0.468750 0.103934 0.069447 -v 0.468750 0.122598 0.024387 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.069446 -0.103933 -v 0.468750 0.024386 -0.122598 -v 0.468750 -0.024386 -0.122598 -v 0.468750 -0.069446 -0.103933 -v 0.468750 -0.103934 -0.069446 -v 0.468750 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -v -0.069446 -0.103934 -0.468750 -v -0.103933 -0.069447 -0.468750 -v -0.122598 -0.024387 -0.468750 -v -0.122598 0.024386 -0.468750 -v -0.129917 0.086808 -0.500000 -v -0.129917 0.086808 -0.468750 -v -0.086807 0.129917 -0.500000 -v -0.086807 0.129917 -0.468750 -v -0.030482 0.153247 -0.500000 -v -0.030482 0.153247 -0.468750 -v 0.030483 0.153247 -0.500000 -v 0.030483 0.153247 -0.468750 -v 0.086808 0.129917 -0.500000 -v 0.086808 0.129917 -0.468750 -v 0.129918 0.086808 -0.500000 -v 0.129918 0.086808 -0.468750 -v 0.153248 0.030483 -0.500000 -v 0.153248 0.030483 -0.468750 -v 0.153248 -0.030483 -0.500000 -v 0.153248 -0.030483 -0.468750 -v 0.129918 -0.086808 -0.500000 -v 0.129918 -0.086808 -0.468750 -v 0.086808 -0.129917 -0.500000 -v 0.086808 -0.129917 -0.468750 -v 0.030483 -0.153248 -0.500000 -v 0.030483 -0.153248 -0.468750 -v -0.030482 -0.153248 -0.500000 -v -0.030482 -0.153248 -0.468750 -v -0.086807 -0.129917 -0.500000 -v -0.086807 -0.129917 -0.468750 -v -0.129917 -0.086808 -0.500000 -v -0.129917 -0.086808 -0.468750 -v -0.153247 -0.030483 -0.500000 -v -0.153247 -0.030483 -0.468750 -v -0.153247 0.030483 -0.500000 -v -0.153247 0.030483 -0.468750 -v -0.024386 -0.122598 -0.468750 -v 0.024387 -0.122598 -0.468750 -v 0.069447 -0.103934 -0.468750 -v 0.103934 -0.069447 -0.468750 -v 0.122599 -0.024387 -0.468750 -v 0.122599 0.024386 -0.468750 -v 0.103934 0.069446 -0.468750 -v 0.069447 0.103933 -0.468750 -v 0.024387 0.122598 -0.468750 -v -0.024386 0.122598 -0.468750 -v -0.069446 0.103933 -0.468750 -v -0.103933 0.069446 -0.468750 -v 0.000000 -0.000000 -0.468750 -v 0.000001 -0.000000 -0.500000 -v 0.024386 -0.122598 -0.024391 -v 0.069446 -0.103934 -0.024391 -v 0.103934 -0.069446 -0.024391 -v 0.122598 -0.024386 -0.024391 -v 0.122598 0.024386 -0.024391 -v 0.103934 0.069446 -0.024391 -v 0.069446 0.103934 -0.024391 -v 0.024386 0.122598 -0.024391 -v -0.024386 0.122598 -0.024391 -v -0.103934 0.069446 -0.024391 -v -0.069446 0.103934 -0.024391 -v -0.103934 -0.069446 -0.024391 -v -0.122598 -0.024386 -0.024391 -v -0.122598 0.024386 -0.024391 -v -0.069446 -0.103934 -0.024391 -v -0.024386 -0.122598 -0.024391 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.250000 0.015625 -vt 0.250000 0.265625 -vt 0.093322 0.682190 -vt 0.153370 0.657318 -vt 0.185867 0.820694 -vt 0.047364 0.728149 -vt 0.022491 0.788196 -vt 0.022491 0.853192 -vt 0.047364 0.913239 -vt 0.093322 0.959198 -vt 0.153370 0.984070 -vt 0.218365 0.984070 -vt 0.278413 0.959198 -vt 0.324371 0.913239 -vt 0.349244 0.853192 -vt 0.349244 0.788196 -vt 0.324371 0.728149 -vt 0.278413 0.682190 -vt 0.218365 0.657318 -vt 0.471785 0.682190 -vt 0.531832 0.657318 -vt 0.564330 0.820694 -vt 0.425826 0.728149 -vt 0.400953 0.788196 -vt 0.400953 0.853192 -vt 0.425826 0.913239 -vt 0.471785 0.959198 -vt 0.531832 0.984070 -vt 0.596827 0.984070 -vt 0.656875 0.959198 -vt 0.702834 0.913239 -vt 0.727706 0.853192 -vt 0.727706 0.788196 -vt 0.702834 0.728149 -vt 0.656875 0.682190 -vt 0.596827 0.657318 -vt 0.125000 0.609375 -vt 0.125000 0.546875 -vt 0.187500 0.546875 -vt 0.187500 0.609375 -vt 0.250000 0.546875 -vt 0.250000 0.609375 -vt 0.062500 0.609375 -vt 0.062500 0.546875 -vt 0.000000 0.609375 -vt 0.000000 0.546875 -vt 0.937500 0.609375 -vt 0.937500 0.546875 -vt 1.000000 0.546875 -vt 1.000000 0.609375 -vt 0.875000 0.609375 -vt 0.875000 0.546875 -vt 0.812500 0.609375 -vt 0.812500 0.546875 -vt 0.750000 0.609375 -vt 0.750000 0.546875 -vt 0.687500 0.609375 -vt 0.687500 0.546875 -vt 0.625000 0.609375 -vt 0.625000 0.546875 -vt 0.562500 0.609375 -vt 0.562500 0.546875 -vt 0.500000 0.609375 -vt 0.500000 0.546875 -vt 0.437500 0.609375 -vt 0.437500 0.546875 -vt 0.375000 0.609375 -vt 0.375000 0.546875 -vt 0.312500 0.609375 -vt 0.312500 0.546875 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.812500 0.015625 -vt 0.812500 0.265625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.625000 0.015625 -vt 0.625000 0.265625 -vt 0.687500 0.265625 -vt 0.687500 0.015625 -vt 0.500000 0.265625 -vt 0.500000 0.015625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.125000 0.265625 -vt 0.125000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.218363 0.657325 -vt 0.185866 0.820702 -vt 0.153368 0.657325 -vt 0.531836 0.657325 -vt 0.564334 0.820702 -vt 0.596832 0.657325 -vt 0.656879 0.682198 -vt 0.702838 0.728156 -vt 0.727710 0.788204 -vt 0.727710 0.853199 -vt 0.702838 0.913247 -vt 0.656879 0.959205 -vt 0.596831 0.984078 -vt 0.531836 0.984078 -vt 0.471788 0.959205 -vt 0.425830 0.913247 -vt 0.400957 0.853199 -vt 0.400957 0.788204 -vt 0.425830 0.728156 -vt 0.471789 0.682198 -vt 0.093321 0.682198 -vt 0.047362 0.728156 -vt 0.022489 0.788204 -vt 0.022489 0.853199 -vt 0.047362 0.913247 -vt 0.093320 0.959205 -vt 0.153368 0.984078 -vt 0.218363 0.984078 -vt 0.278411 0.959205 -vt 0.324369 0.913247 -vt 0.349242 0.853199 -vt 0.349242 0.788204 -vt 0.324369 0.728156 -vt 0.278411 0.682198 -vt 0.187500 0.515625 -vt 0.250000 0.515625 -vt 0.875000 0.515625 -vt 0.937500 0.515625 -vt 0.750000 0.515625 -vt 0.812500 0.515625 -vt 0.562500 0.515625 -vt 0.625000 0.515625 -vt 0.687500 0.515625 -vt 0.500000 0.515625 -vt 0.437500 0.515625 -vt 0.375000 0.515625 -vt 0.312500 0.515625 -vt 0.125000 0.515625 -vt 0.062500 0.515625 -vt 0.000000 0.515625 -vt 1.000000 0.515625 -s off -f 54/1 41/2 42/3 55/4 -f 31/5 33/6 50/7 -f 29/8 31/5 50/7 -f 27/9 29/8 50/7 -f 25/10 27/9 50/7 -f 23/11 25/10 50/7 -f 21/12 23/11 50/7 -f 19/13 21/12 50/7 -f 17/14 19/13 50/7 -f 15/15 17/14 50/7 -f 13/16 15/15 50/7 -f 11/17 13/16 50/7 -f 9/18 11/17 50/7 -f 7/19 9/18 50/7 -f 5/20 7/19 50/7 -f 35/21 5/20 50/7 -f 6/22 36/23 49/24 -f 8/25 6/22 49/24 -f 10/26 8/25 49/24 -f 12/27 10/26 49/24 -f 14/28 12/27 49/24 -f 16/29 14/28 49/24 -f 18/30 16/29 49/24 -f 20/31 18/30 49/24 -f 22/32 20/31 49/24 -f 24/33 22/32 49/24 -f 26/34 24/33 49/24 -f 28/35 26/34 49/24 -f 30/36 28/35 49/24 -f 32/37 30/36 49/24 -f 34/38 32/37 49/24 -f 36/23 34/38 49/24 -f 33/6 35/21 50/7 -f 8/39 7/40 5/41 6/42 -f 6/42 5/41 35/43 36/44 -f 10/45 9/46 7/40 8/39 -f 12/47 11/48 9/46 10/45 -f 14/49 13/50 11/51 12/52 -f 16/53 15/54 13/50 14/49 -f 18/55 17/56 15/54 16/53 -f 20/57 19/58 17/56 18/55 -f 22/59 21/60 19/58 20/57 -f 24/61 23/62 21/60 22/59 -f 26/63 25/64 23/62 24/61 -f 28/65 27/66 25/64 26/63 -f 30/67 29/68 27/66 28/65 -f 32/69 31/70 29/68 30/67 -f 34/71 33/72 31/70 32/69 -f 36/44 35/43 33/72 34/71 -f 65/73 1/74 37/75 66/76 -f 63/77 3/78 2/79 62/80 -f 61/81 47/82 48/83 60/84 -f 64/85 4/86 3/78 63/77 -f 62/80 2/79 1/74 65/73 -f 60/84 48/83 4/86 64/85 -f 59/87 46/88 47/82 61/81 -f 58/89 45/90 46/88 59/87 -f 57/91 44/92 45/90 58/89 -f 56/93 43/94 44/92 57/91 -f 55/4 42/3 43/94 56/93 -f 53/95 40/96 41/2 54/1 -f 52/97 39/98 40/96 53/95 -f 51/99 38/100 39/98 52/97 -f 66/76 37/75 38/101 51/102 -f 67/58 69/60 70/59 68/57 -f 69/60 71/62 72/61 70/59 -f 71/62 73/64 74/63 72/61 -f 73/64 75/66 76/65 74/63 -f 75/66 77/68 78/67 76/65 -f 77/68 79/70 80/69 78/67 -f 79/70 81/72 82/71 80/69 -f 81/72 83/43 84/44 82/71 -f 83/43 85/41 86/42 84/44 -f 85/41 87/40 88/39 86/42 -f 87/40 89/46 90/45 88/39 -f 89/46 91/48 92/47 90/45 -f 91/51 93/50 94/49 92/52 -f 93/50 95/54 96/53 94/49 -f 97/56 67/58 68/57 98/55 -f 95/54 97/56 98/55 96/53 -f 70/103 116/104 68/105 -f 67/106 115/107 69/108 -f 69/108 115/107 71/109 -f 71/109 115/107 73/110 -f 73/110 115/107 75/111 -f 75/111 115/107 77/112 -f 77/112 115/107 79/113 -f 79/113 115/107 81/114 -f 81/114 115/107 83/115 -f 83/115 115/107 85/116 -f 85/116 115/107 87/117 -f 87/117 115/107 89/118 -f 89/118 115/107 91/119 -f 91/119 115/107 93/120 -f 93/120 115/107 95/121 -f 95/121 115/107 97/122 -f 97/122 115/107 67/106 -f 68/105 116/104 98/123 -f 98/123 116/104 96/124 -f 96/124 116/104 94/125 -f 94/125 116/104 92/126 -f 92/126 116/104 90/127 -f 90/127 116/104 88/128 -f 88/128 116/104 86/129 -f 86/129 116/104 84/130 -f 84/130 116/104 82/131 -f 82/131 116/104 80/132 -f 80/132 116/104 78/133 -f 78/133 116/104 76/134 -f 76/134 116/104 74/135 -f 74/135 116/104 72/136 -f 72/136 116/104 70/103 -f 107/137 120/1 121/4 108/138 -f 102/139 131/73 132/76 103/140 -f 100/141 129/77 128/80 101/142 -f 113/143 127/81 126/84 114/144 -f 99/145 130/85 129/77 100/141 -f 101/142 128/80 131/73 102/139 -f 114/144 126/84 130/85 99/145 -f 112/146 125/87 127/81 113/143 -f 111/147 124/89 125/87 112/146 -f 110/148 123/91 124/89 111/147 -f 109/149 122/93 123/91 110/148 -f 108/138 121/4 122/93 109/149 -f 106/150 119/95 120/1 107/137 -f 105/151 118/97 119/95 106/150 -f 104/152 117/99 118/97 105/151 -f 103/140 132/76 117/102 104/153 -f 133/58 135/60 136/59 134/57 -f 135/60 137/62 138/61 136/59 -f 137/62 139/64 140/63 138/61 -f 139/64 141/66 142/65 140/63 -f 141/66 143/68 144/67 142/65 -f 143/68 145/70 146/69 144/67 -f 145/70 147/72 148/71 146/69 -f 147/72 149/43 150/44 148/71 -f 149/43 151/41 152/42 150/44 -f 151/41 153/40 154/39 152/42 -f 153/40 155/46 156/45 154/39 -f 155/46 157/48 158/47 156/45 -f 157/51 159/50 160/49 158/52 -f 159/50 161/54 162/53 160/49 -f 163/56 133/58 134/57 164/55 -f 161/54 163/56 164/55 162/53 -f 136/103 182/104 134/105 -f 133/106 181/107 135/108 -f 135/108 181/107 137/109 -f 137/109 181/107 139/110 -f 139/110 181/107 141/111 -f 141/111 181/107 143/112 -f 143/112 181/107 145/113 -f 145/113 181/107 147/114 -f 147/114 181/107 149/115 -f 149/115 181/107 151/116 -f 151/116 181/107 153/117 -f 153/117 181/107 155/118 -f 155/118 181/107 157/119 -f 157/119 181/107 159/120 -f 159/120 181/107 161/121 -f 161/121 181/107 163/122 -f 163/122 181/107 133/106 -f 134/105 182/104 164/123 -f 164/123 182/104 162/124 -f 162/124 182/104 160/125 -f 160/125 182/104 158/126 -f 158/126 182/104 156/127 -f 156/127 182/104 154/128 -f 154/128 182/104 152/129 -f 152/129 182/104 150/130 -f 150/130 182/104 148/131 -f 148/131 182/104 146/132 -f 146/132 182/104 144/133 -f 144/133 182/104 142/134 -f 142/134 182/104 140/135 -f 140/135 182/104 138/136 -f 138/136 182/104 136/103 -f 173/137 223/2 224/3 174/138 -f 213/5 215/6 232/7 -f 211/8 213/5 232/7 -f 209/9 211/8 232/7 -f 207/10 209/9 232/7 -f 205/11 207/10 232/7 -f 203/12 205/11 232/7 -f 201/13 203/12 232/7 -f 199/14 201/13 232/7 -f 197/15 199/14 232/7 -f 195/16 197/15 232/7 -f 193/17 195/16 232/7 -f 191/18 193/17 232/7 -f 189/19 191/18 232/7 -f 187/20 189/19 232/7 -f 217/21 187/20 232/7 -f 188/22 218/23 231/24 -f 190/25 188/22 231/24 -f 192/26 190/25 231/24 -f 194/27 192/26 231/24 -f 196/28 194/27 231/24 -f 198/29 196/28 231/24 -f 200/30 198/29 231/24 -f 202/31 200/30 231/24 -f 204/32 202/31 231/24 -f 206/33 204/32 231/24 -f 208/34 206/33 231/24 -f 210/35 208/34 231/24 -f 212/36 210/35 231/24 -f 214/37 212/36 231/24 -f 216/38 214/37 231/24 -f 218/23 216/38 231/24 -f 215/6 217/21 232/7 -f 190/39 189/40 187/41 188/42 -f 188/42 187/41 217/43 218/44 -f 192/45 191/46 189/40 190/39 -f 194/47 193/48 191/46 192/45 -f 196/49 195/50 193/51 194/52 -f 198/53 197/54 195/50 196/49 -f 200/55 199/56 197/54 198/53 -f 202/57 201/58 199/56 200/55 -f 204/59 203/60 201/58 202/57 -f 206/61 205/62 203/60 204/59 -f 208/63 207/64 205/62 206/61 -f 210/65 209/66 207/64 208/63 -f 212/67 211/68 209/66 210/65 -f 214/69 213/70 211/68 212/67 -f 216/71 215/72 213/70 214/69 -f 218/44 217/43 215/72 216/71 -f 168/139 183/74 219/75 169/140 -f 166/141 185/78 184/79 167/142 -f 179/143 229/82 230/83 180/144 -f 165/145 186/86 185/78 166/141 -f 167/142 184/79 183/74 168/139 -f 180/144 230/83 186/86 165/145 -f 178/146 228/88 229/82 179/143 -f 177/147 227/90 228/88 178/146 -f 176/148 226/92 227/90 177/147 -f 175/149 225/94 226/92 176/148 -f 174/138 224/3 225/94 175/149 -f 172/150 222/96 223/2 173/137 -f 171/151 221/98 222/96 172/150 -f 170/152 220/100 221/98 171/151 -f 169/140 219/75 220/101 170/153 -f 286/1 273/2 274/3 287/4 -f 263/5 265/6 282/7 -f 261/8 263/5 282/7 -f 259/9 261/8 282/7 -f 257/10 259/9 282/7 -f 255/11 257/10 282/7 -f 253/12 255/11 282/7 -f 251/13 253/12 282/7 -f 249/14 251/13 282/7 -f 247/15 249/14 282/7 -f 245/16 247/15 282/7 -f 243/17 245/16 282/7 -f 241/18 243/17 282/7 -f 239/19 241/18 282/7 -f 237/20 239/19 282/7 -f 267/21 237/20 282/7 -f 238/22 268/23 281/24 -f 240/25 238/22 281/24 -f 242/26 240/25 281/24 -f 244/27 242/26 281/24 -f 246/28 244/27 281/24 -f 248/29 246/28 281/24 -f 250/30 248/29 281/24 -f 252/31 250/30 281/24 -f 254/32 252/31 281/24 -f 256/33 254/32 281/24 -f 258/34 256/33 281/24 -f 260/35 258/34 281/24 -f 262/36 260/35 281/24 -f 264/37 262/36 281/24 -f 266/38 264/37 281/24 -f 268/23 266/38 281/24 -f 265/6 267/21 282/7 -f 240/39 239/40 237/41 238/42 -f 238/42 237/41 267/43 268/44 -f 242/45 241/46 239/40 240/39 -f 244/47 243/48 241/46 242/45 -f 246/49 245/50 243/51 244/52 -f 248/53 247/54 245/50 246/49 -f 250/55 249/56 247/54 248/53 -f 252/57 251/58 249/56 250/55 -f 254/59 253/60 251/58 252/57 -f 256/61 255/62 253/60 254/59 -f 258/63 257/64 255/62 256/61 -f 260/65 259/66 257/64 258/63 -f 262/67 261/68 259/66 260/65 -f 264/69 263/70 261/68 262/67 -f 266/71 265/72 263/70 264/69 -f 268/44 267/43 265/72 266/71 -f 297/73 233/74 269/75 298/76 -f 295/77 235/78 234/79 294/80 -f 293/81 279/82 280/83 292/84 -f 296/85 236/86 235/78 295/77 -f 294/80 234/79 233/74 297/73 -f 292/84 280/83 236/86 296/85 -f 291/87 278/88 279/82 293/81 -f 290/89 277/90 278/88 291/87 -f 289/91 276/92 277/90 290/89 -f 288/93 275/94 276/92 289/91 -f 287/4 274/3 275/94 288/93 -f 285/95 272/96 273/2 286/1 -f 284/97 271/98 272/96 285/95 -f 283/99 270/100 271/98 284/97 -f 298/76 269/75 270/101 283/102 diff --git a/mods/pipeworks/models/pipeworks_pump.obj b/mods/pipeworks/models/pipeworks_pump.obj deleted file mode 100755 index f05dd02e..00000000 --- a/mods/pipeworks/models/pipeworks_pump.obj +++ /dev/null @@ -1,282 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-pump.blend' -# www.blender.org -mtllib pipeworks_pump.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.375000 0.500000 -v -0.500000 -0.375000 -0.500000 -v 0.500000 -0.375000 -0.500000 -v 0.500000 -0.375000 0.500000 -v -0.437500 -0.375000 0.437500 -v -0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 0.437500 -v -0.437500 0.375000 0.437500 -v -0.437500 0.375000 -0.437500 -v 0.437500 0.375000 -0.437500 -v 0.437500 0.375000 0.437500 -v 0.153248 0.468750 0.030483 -v 0.153248 0.500000 0.030483 -v 0.153248 0.468750 -0.030483 -v 0.153248 0.500000 -0.030483 -v 0.129917 0.468750 -0.086808 -v 0.129917 0.500000 -0.086808 -v 0.086808 0.468750 -0.129917 -v 0.086808 0.500000 -0.129917 -v 0.030483 0.468750 -0.153248 -v 0.030483 0.500000 -0.153248 -v -0.030483 0.468750 -0.153248 -v -0.030483 0.500000 -0.153248 -v -0.086808 0.468750 -0.129917 -v -0.086808 0.500000 -0.129917 -v -0.129917 0.468750 -0.086808 -v -0.129917 0.500000 -0.086808 -v -0.153247 0.468750 -0.030483 -v -0.153247 0.500000 -0.030483 -v -0.153247 0.468750 0.030483 -v -0.153247 0.500000 0.030483 -v -0.129917 0.468750 0.086808 -v -0.129917 0.500000 0.086808 -v -0.086808 0.468750 0.129917 -v -0.086808 0.500000 0.129917 -v -0.030483 0.468750 0.153248 -v -0.030483 0.500000 0.153248 -v 0.030483 0.468750 0.153248 -v 0.030483 0.500000 0.153248 -v 0.086808 0.468750 0.129917 -v 0.086808 0.500000 0.129917 -v 0.129917 0.468750 0.086808 -v 0.129918 0.500000 0.086808 -v 0.122598 0.468750 0.024386 -v 0.122598 0.468750 -0.024386 -v 0.103934 0.468750 -0.069446 -v 0.069447 0.468750 -0.103934 -v 0.024387 0.468750 -0.122598 -v -0.024386 0.468750 -0.122598 -v -0.069446 0.468750 -0.103934 -v -0.103933 0.468750 -0.069446 -v -0.122598 0.468750 -0.024386 -v -0.122598 0.468750 0.024386 -v -0.103933 0.468750 0.069446 -v -0.069446 0.468750 0.103934 -v -0.024386 0.468750 0.122598 -v 0.024387 0.468750 0.122598 -v 0.069447 0.468750 0.103934 -v 0.103934 0.468750 0.069446 -v 0.000000 0.468750 -0.000000 -v 0.000000 0.500000 0.000000 -v 0.122598 0.375003 0.024386 -v 0.122598 0.375003 -0.024386 -v 0.103934 0.375003 -0.069446 -v 0.069446 0.375003 0.103934 -v 0.103934 0.375003 0.069446 -v 0.024386 0.375003 0.122598 -v -0.024386 0.375003 0.122598 -v -0.069446 0.375003 0.103934 -v -0.103934 0.375003 0.069446 -v -0.122598 0.375003 0.024386 -v -0.122598 0.375003 -0.024386 -v -0.103934 0.375003 -0.069446 -v -0.069446 0.375003 -0.103934 -v -0.024386 0.375003 -0.122598 -v 0.069446 0.375003 -0.103934 -v 0.024386 0.375003 -0.122598 -vt 0.714844 0.761719 -vt 0.714844 0.511719 -vt 0.746094 0.511719 -vt 0.746094 0.761719 -vt 0.621094 0.761719 -vt 0.621094 0.511719 -vt 0.652344 0.511719 -vt 0.652344 0.761719 -vt 0.683594 0.761719 -vt 0.683594 0.511719 -vt 0.996094 0.511719 -vt 0.996094 0.761719 -vt 0.996094 0.261719 -vt 0.746094 0.261719 -vt 0.230469 0.261719 -vt 0.449219 0.261719 -vt 0.449219 0.433594 -vt 0.230469 0.433594 -vt 0.222656 0.613281 -vt 0.003906 0.613281 -vt 0.003906 0.441406 -vt 0.222656 0.441406 -vt 0.222656 0.433594 -vt 0.003906 0.433594 -vt 0.003906 0.261719 -vt 0.222656 0.261719 -vt 0.675781 0.433594 -vt 0.457031 0.433594 -vt 0.457031 0.261719 -vt 0.675781 0.261719 -vt 0.230469 0.660156 -vt 0.230469 0.441406 -vt 0.449219 0.441406 -vt 0.449219 0.660156 -vt 0.750000 0.996094 -vt 0.812500 0.996094 -vt 0.812500 0.945313 -vt 0.750000 0.945313 -vt 0.875000 0.996094 -vt 0.875000 0.945313 -vt 0.937500 0.996094 -vt 0.937500 0.945313 -vt 1.000000 0.996094 -vt 1.000000 0.945313 -vt 0.000000 0.996094 -vt 0.062500 0.996094 -vt 0.062500 0.945313 -vt 0.000000 0.945313 -vt 0.125000 0.996094 -vt 0.125000 0.945313 -vt 0.187500 0.996094 -vt 0.187500 0.945313 -vt 0.250000 0.996094 -vt 0.250000 0.945313 -vt 0.312500 0.996094 -vt 0.312500 0.945313 -vt 0.375000 0.996094 -vt 0.375000 0.945313 -vt 0.437500 0.996094 -vt 0.437500 0.945313 -vt 0.500000 0.996094 -vt 0.500000 0.945313 -vt 0.562500 0.996094 -vt 0.562500 0.945313 -vt 0.625000 0.996094 -vt 0.625000 0.945313 -vt 0.687500 0.996094 -vt 0.687500 0.945313 -vt 0.007550 0.738767 -vt 0.046892 0.730976 -vt 0.007550 0.723186 -vt 0.101275 0.738767 -vt 0.140617 0.730976 -vt 0.101275 0.723186 -vt 0.107265 0.708790 -vt 0.118332 0.697773 -vt 0.132792 0.691810 -vt 0.148443 0.691810 -vt 0.162903 0.697773 -vt 0.173970 0.708790 -vt 0.179959 0.723186 -vt 0.179959 0.738767 -vt 0.173970 0.753163 -vt 0.162903 0.764180 -vt 0.148443 0.770143 -vt 0.132792 0.770143 -vt 0.118332 0.764180 -vt 0.107265 0.753163 -vt 0.013540 0.708790 -vt 0.024607 0.697773 -vt 0.039067 0.691810 -vt 0.054718 0.691810 -vt 0.069178 0.697773 -vt 0.080245 0.708790 -vt 0.086234 0.723186 -vt 0.086234 0.738767 -vt 0.080245 0.753162 -vt 0.069178 0.764180 -vt 0.054718 0.770143 -vt 0.039067 0.770143 -vt 0.024607 0.764180 -vt 0.013540 0.753162 -vt 0.250000 0.777344 -vt 0.312500 0.777344 -vt 0.937500 0.777344 -vt 1.000000 0.777344 -vt 0.812500 0.777344 -vt 0.875000 0.777344 -vt 0.625000 0.777344 -vt 0.687500 0.777344 -vt 0.750000 0.777344 -vt 0.562500 0.777344 -vt 0.500000 0.777344 -vt 0.437500 0.777344 -vt 0.375000 0.777344 -vt 0.187500 0.777344 -vt 0.125000 0.777344 -vt 0.062500 0.777344 -vt 0.000000 0.777344 -usemtl None -s off -f 5/1 6/2 2/3 1/4 -f 6/5 7/6 3/7 2/8 -f 7/9 8/10 4/2 3/1 -f 8/10 5/9 1/8 4/7 -f 1/4 2/3 3/11 4/12 -f 8/13 7/11 6/3 5/14 -f 13/15 14/16 10/17 9/18 -f 14/19 15/20 11/21 10/22 -f 15/23 16/24 12/25 11/26 -f 16/27 13/28 9/29 12/30 -f 16/31 15/32 14/33 13/34 -f 17/35 19/36 20/37 18/38 -f 19/36 21/39 22/40 20/37 -f 21/39 23/41 24/42 22/40 -f 23/41 25/43 26/44 24/42 -f 25/45 27/46 28/47 26/48 -f 27/46 29/49 30/50 28/47 -f 29/49 31/51 32/52 30/50 -f 31/51 33/53 34/54 32/52 -f 33/53 35/55 36/56 34/54 -f 35/55 37/57 38/58 36/56 -f 37/57 39/59 40/60 38/58 -f 39/59 41/61 42/62 40/60 -f 41/61 43/63 44/64 42/62 -f 43/63 45/65 46/66 44/64 -f 47/67 17/35 18/38 48/68 -f 45/65 47/67 48/68 46/66 -f 20/69 66/70 18/71 -f 17/72 65/73 19/74 -f 19/74 65/73 21/75 -f 21/75 65/73 23/76 -f 23/76 65/73 25/77 -f 25/77 65/73 27/78 -f 27/78 65/73 29/79 -f 29/79 65/73 31/80 -f 31/80 65/73 33/81 -f 33/81 65/73 35/82 -f 35/82 65/73 37/83 -f 37/83 65/73 39/84 -f 39/84 65/73 41/85 -f 41/85 65/73 43/86 -f 43/86 65/73 45/87 -f 45/87 65/73 47/88 -f 47/88 65/73 17/72 -f 18/71 66/70 48/89 -f 48/89 66/70 46/90 -f 46/90 66/70 44/91 -f 44/91 66/70 42/92 -f 42/92 66/70 40/93 -f 40/93 66/70 38/94 -f 38/94 66/70 36/95 -f 36/95 66/70 34/96 -f 34/96 66/70 32/97 -f 32/97 66/70 30/98 -f 30/98 66/70 28/99 -f 28/99 66/70 26/100 -f 26/100 66/70 24/101 -f 24/101 66/70 22/102 -f 22/102 66/70 20/69 -f 57/54 77/103 76/104 58/56 -f 52/42 81/105 82/106 53/44 -f 50/37 68/107 69/108 51/40 -f 63/66 70/109 71/110 64/68 -f 49/38 67/111 68/107 50/37 -f 51/40 69/108 81/105 52/42 -f 64/68 71/110 67/111 49/38 -f 62/64 72/112 70/109 63/66 -f 61/62 73/113 72/112 62/64 -f 60/60 74/114 73/113 61/62 -f 59/58 75/115 74/114 60/60 -f 58/56 76/104 75/115 59/58 -f 56/52 78/116 77/103 57/54 -f 55/50 79/117 78/116 56/52 -f 54/47 80/118 79/117 55/50 -f 53/48 82/119 80/118 54/47 diff --git a/mods/pipeworks/models/pipeworks_spigot.obj b/mods/pipeworks/models/pipeworks_spigot.obj deleted file mode 100755 index f6e80c9e..00000000 --- a/mods/pipeworks/models/pipeworks_spigot.obj +++ /dev/null @@ -1,512 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-spigot.blend' -# www.blender.org -mtllib pipeworks_spigot.mtl -o pipe.000_Cylinder.001 -v -0.122598 -0.024391 -0.024386 -v -0.122598 -0.024391 0.024386 -v 0.129917 -0.250000 -0.086808 -v 0.153247 -0.250000 -0.030483 -v -0.000000 -0.250000 -0.000000 -v 0.086808 -0.250000 -0.129917 -v 0.030483 -0.250000 -0.153248 -v -0.030483 -0.250000 -0.153248 -v -0.086808 -0.250000 -0.129917 -v -0.129917 -0.250000 -0.086808 -v -0.153248 -0.250000 -0.030483 -v -0.153248 -0.250000 0.030483 -v -0.129917 -0.250000 0.086808 -v -0.086808 -0.250000 0.129917 -v -0.030483 -0.250000 0.153247 -v 0.030483 -0.250000 0.153248 -v 0.086808 -0.250000 0.129917 -v 0.129917 -0.250000 0.086808 -v 0.153247 -0.250000 0.030483 -v 0.129917 -0.187500 0.086808 -v 0.153248 -0.187500 0.030483 -v -0.000000 -0.187500 -0.000000 -v 0.086808 -0.187500 0.129917 -v 0.030483 -0.187500 0.153248 -v -0.030483 -0.187500 0.153247 -v -0.086808 -0.187500 0.129917 -v -0.129917 -0.187500 0.086808 -v -0.153248 -0.187500 0.030483 -v -0.153248 -0.187500 -0.030483 -v -0.129917 -0.187500 -0.086808 -v -0.086808 -0.187500 -0.129917 -v -0.030483 -0.187500 -0.153248 -v 0.030483 -0.187500 -0.153248 -v 0.086808 -0.187500 -0.129917 -v 0.129917 -0.187500 -0.086808 -v 0.153248 -0.187500 -0.030483 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v 0.122598 -0.024391 -0.024386 -v 0.103934 -0.024391 -0.069446 -v 0.069446 -0.024391 0.103934 -v 0.103934 -0.024391 0.069446 -v 0.122598 -0.024391 0.024386 -v 0.024386 -0.024391 0.122598 -v -0.024386 -0.024391 0.122598 -v -0.069446 -0.024391 0.103934 -v -0.103934 -0.024391 0.069446 -v -0.103934 -0.024391 -0.069446 -v -0.069446 -0.024391 -0.103934 -v -0.024386 -0.024391 -0.122598 -v -0.103934 0.041589 -0.041924 -v 0.103934 0.041589 -0.041925 -v 0.122598 0.009727 -0.010062 -v 0.024386 0.079173 -0.079509 -v 0.069446 0.065976 -0.066311 -v 0.069446 0.094826 -0.024663 -v -0.103934 0.062964 -0.011464 -v -0.069446 0.094827 -0.024662 -v -0.024386 0.112070 -0.031805 -v 0.024386 0.112070 -0.031805 -v 0.122598 0.021334 0.005779 -v 0.103934 0.062964 -0.011464 -v -0.122598 0.021334 0.005780 -v -0.024386 0.079173 -0.079509 -v -0.069446 0.065976 -0.066311 -v -0.122599 -0.024387 0.468750 -v -0.122599 0.024386 0.468750 -v -0.122598 0.024386 0.024391 -v 0.129917 -0.086808 0.500000 -v 0.153247 -0.030483 0.500000 -v -0.000001 0.000000 0.500000 -v 0.086807 -0.129917 0.500000 -v 0.030482 -0.153248 0.500000 -v -0.030483 -0.153248 0.500000 -v -0.086808 -0.129917 0.500000 -v -0.129918 -0.086808 0.500000 -v -0.153248 -0.030483 0.500000 -v -0.153248 0.030483 0.500000 -v -0.129918 0.086808 0.500000 -v -0.086808 0.129917 0.500000 -v -0.030483 0.153247 0.500000 -v 0.030482 0.153247 0.500000 -v 0.086807 0.129917 0.500000 -v 0.129917 0.086808 0.500000 -v 0.153247 0.030483 0.500000 -v 0.129917 0.086808 0.468750 -v 0.153247 0.030483 0.468750 -v 0.000000 0.000000 0.468750 -v 0.086807 0.129917 0.468750 -v 0.030482 0.153247 0.468750 -v -0.030483 0.153247 0.468750 -v -0.086808 0.129917 0.468750 -v -0.129918 0.086808 0.468750 -v -0.153248 0.030483 0.468750 -v -0.153248 -0.030483 0.468750 -v -0.129918 -0.086808 0.468750 -v -0.086808 -0.129917 0.468750 -v -0.030483 -0.153248 0.468750 -v 0.030482 -0.153248 0.468750 -v 0.086807 -0.129917 0.468750 -v 0.129917 -0.086808 0.468750 -v 0.153247 -0.030483 0.468750 -v 0.069446 -0.103934 0.024391 -v 0.069446 -0.103934 0.468750 -v 0.024386 -0.122598 0.468750 -v 0.024386 -0.122598 0.024391 -v 0.122598 -0.024387 0.468750 -v 0.103933 -0.069447 0.468750 -v 0.103934 -0.069446 0.024391 -v 0.069446 0.103933 0.468750 -v 0.103933 0.069446 0.468750 -v 0.103934 0.069446 0.024391 -v 0.122598 0.024386 0.024391 -v 0.122598 0.024386 0.468750 -v 0.024386 0.122598 0.024391 -v 0.024386 0.122598 0.468750 -v -0.024386 0.122598 0.024391 -v -0.024387 0.122598 0.468750 -v -0.069446 0.103934 0.024391 -v -0.069447 0.103933 0.468750 -v -0.103934 0.069446 0.024391 -v -0.103934 0.069446 0.468750 -v -0.103934 -0.069446 0.024391 -v -0.103934 -0.069447 0.468750 -v -0.069446 -0.103934 0.024391 -v -0.069447 -0.103934 0.468750 -v -0.024386 -0.122598 0.024391 -v -0.024387 -0.122598 0.468750 -v 0.069446 0.103934 0.024390 -v -0.122598 -0.005780 -0.020763 -v -0.024386 0.031804 -0.111499 -v -0.069446 0.024662 -0.094256 -v -0.103934 0.011464 -0.062393 -v 0.103934 0.011464 -0.062393 -v 0.122598 -0.005780 -0.020763 -v 0.024386 0.031804 -0.111499 -v 0.069446 0.024662 -0.094256 -v -0.122598 0.009727 -0.010062 -v -0.122598 -0.246570 0.024386 -v -0.103934 -0.246570 0.069446 -v -0.069447 -0.246570 0.103934 -v -0.122598 -0.246570 -0.024386 -v 0.069446 -0.246571 0.103933 -v 0.122598 -0.246571 0.024386 -v 0.103934 -0.246571 0.069446 -v 0.103933 -0.246571 -0.069446 -v -0.024386 -0.246570 0.122598 -v 0.122598 -0.246571 -0.024386 -v -0.024386 -0.246571 -0.122598 -v 0.024386 -0.246571 -0.122598 -v 0.069446 -0.246571 -0.103934 -v -0.103934 -0.246570 -0.069446 -v -0.069446 -0.246570 -0.103934 -v 0.024386 -0.246570 0.122598 -vt 0.139725 0.682190 -vt 0.199773 0.657318 -vt 0.232270 0.820694 -vt 0.093767 0.728149 -vt 0.068894 0.788196 -vt 0.068894 0.853192 -vt 0.093767 0.913239 -vt 0.139725 0.959198 -vt 0.199773 0.984070 -vt 0.264768 0.984070 -vt 0.324816 0.959198 -vt 0.370774 0.913239 -vt 0.395647 0.853192 -vt 0.395647 0.788196 -vt 0.370774 0.728149 -vt 0.324816 0.682190 -vt 0.264768 0.657318 -vt 0.487410 0.682190 -vt 0.547457 0.657318 -vt 0.579955 0.820694 -vt 0.441451 0.728149 -vt 0.416578 0.788196 -vt 0.416578 0.853192 -vt 0.441451 0.913239 -vt 0.487410 0.959198 -vt 0.547457 0.984070 -vt 0.612452 0.984070 -vt 0.672500 0.959198 -vt 0.718459 0.913239 -vt 0.743331 0.853192 -vt 0.743331 0.788196 -vt 0.718459 0.728149 -vt 0.672500 0.682190 -vt 0.612452 0.657318 -vt 0.125000 0.640625 -vt 0.125000 0.578125 -vt 0.187500 0.578125 -vt 0.187500 0.640625 -vt 0.250000 0.578125 -vt 0.250000 0.640625 -vt 0.062500 0.640625 -vt 0.062500 0.578125 -vt 0.000000 0.640625 -vt 0.000000 0.578125 -vt 0.937500 0.640625 -vt 0.937500 0.578125 -vt 1.000000 0.578125 -vt 1.000000 0.640625 -vt 0.875000 0.640625 -vt 0.875000 0.578125 -vt 0.812500 0.640625 -vt 0.812500 0.578125 -vt 0.750000 0.640625 -vt 0.750000 0.578125 -vt 0.687500 0.640625 -vt 0.687500 0.578125 -vt 0.625000 0.640625 -vt 0.625000 0.578125 -vt 0.562500 0.640625 -vt 0.562500 0.578125 -vt 0.500000 0.640625 -vt 0.500000 0.578125 -vt 0.437500 0.640625 -vt 0.437500 0.578125 -vt 0.375000 0.640625 -vt 0.375000 0.578125 -vt 0.312500 0.640625 -vt 0.312500 0.578125 -vt 0.187500 0.453125 -vt 0.125000 0.453125 -vt 0.139892 0.682190 -vt 0.199940 0.657318 -vt 0.232437 0.820694 -vt 0.093934 0.728149 -vt 0.069061 0.788196 -vt 0.069061 0.853192 -vt 0.093934 0.913239 -vt 0.139892 0.959198 -vt 0.199940 0.984070 -vt 0.264935 0.984070 -vt 0.324983 0.959198 -vt 0.370941 0.913239 -vt 0.395814 0.853192 -vt 0.395814 0.788196 -vt 0.370941 0.728149 -vt 0.324983 0.682190 -vt 0.264935 0.657318 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.812500 0.265625 -vt 0.812500 0.015625 -vt 0.625000 0.265625 -vt 0.625000 0.015625 -vt 0.687500 0.015625 -vt 0.687500 0.265625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.500000 0.015625 -vt 0.500000 0.265625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.250000 0.265625 -vt 0.250000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.125000 0.015625 -vt 0.125000 0.265625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.000000 0.999989 -vt 0.000000 0.890943 -vt 0.041611 0.899043 -vt 0.941956 0.794823 -vt 0.941956 0.841698 -vt 0.895081 0.841698 -vt 0.895081 0.794823 -vt 0.848206 0.841698 -vt 0.848206 0.794823 -vt 0.801331 0.794823 -vt 0.801331 0.841698 -vt 0.754456 0.841698 -vt 0.754456 0.794823 -vt 0.988831 0.794823 -vt 0.988831 0.841698 -vt 0.941956 0.701073 -vt 0.941956 0.747948 -vt 0.895081 0.747948 -vt 0.895081 0.701073 -vt 0.041611 0.741571 -vt 0.000000 0.749671 -vt 0.076282 0.717645 -vt 0.102233 0.682226 -vt 0.109057 0.640614 -vt 0.754456 0.747948 -vt 0.801331 0.747948 -vt 0.848206 0.747948 -vt 0.848206 0.701073 -vt 0.941956 0.888573 -vt 0.988831 0.888573 -vt 0.895081 0.888573 -vt 0.848206 0.888573 -vt 0.076282 0.922969 -vt 0.102233 0.958388 -vt 0.109057 1.000000 -vt 0.801331 0.888573 -vt 0.754456 0.888573 -vt 0.801331 0.935448 -vt 0.754456 0.935448 -vt 0.754456 0.982323 -vt 0.801331 0.982323 -vt 0.848206 0.935448 -vt 0.848206 0.982323 -vt 0.895081 0.935448 -vt 0.895081 0.982323 -vt 0.941956 0.935448 -vt 0.941956 0.982323 -vt 0.988831 0.982323 -vt 0.988831 0.935448 -vt 0.801331 0.701073 -vt 0.754456 0.701073 -vt 0.250000 0.453125 -vt 0.875000 0.453125 -vt 0.937500 0.453125 -vt 0.750000 0.453125 -vt 0.812500 0.453125 -vt 0.562500 0.453125 -vt 0.625000 0.453125 -vt 0.687500 0.453125 -vt 0.500000 0.453125 -vt 0.437500 0.453125 -vt 0.375000 0.453125 -vt 0.312500 0.453125 -vt 0.062500 0.453125 -vt 0.000000 0.453125 -vt 1.000000 0.453125 -g pipe.000_Cylinder.001_metal -usemtl metal -s off -f 3/1 4/2 5/3 -f 6/4 3/1 5/3 -f 7/5 6/4 5/3 -f 8/6 7/5 5/3 -f 9/7 8/6 5/3 -f 10/8 9/7 5/3 -f 11/9 10/8 5/3 -f 12/10 11/9 5/3 -f 13/11 12/10 5/3 -f 14/12 13/11 5/3 -f 15/13 14/12 5/3 -f 16/14 15/13 5/3 -f 17/15 16/14 5/3 -f 18/16 17/15 5/3 -f 19/17 18/16 5/3 -f 20/18 21/19 22/20 -f 23/21 20/18 22/20 -f 24/22 23/21 22/20 -f 25/23 24/22 22/20 -f 26/24 25/23 22/20 -f 27/25 26/24 22/20 -f 28/26 27/25 22/20 -f 29/27 28/26 22/20 -f 30/28 29/27 22/20 -f 31/29 30/28 22/20 -f 32/30 31/29 22/20 -f 33/31 32/30 22/20 -f 34/32 33/31 22/20 -f 35/33 34/32 22/20 -f 36/34 35/33 22/20 -f 21/19 36/34 22/20 -f 4/2 19/17 5/3 -f 23/35 17/36 18/37 20/38 -f 20/38 18/37 19/39 21/40 -f 24/41 16/42 17/36 23/35 -f 25/43 15/44 16/42 24/41 -f 26/45 14/46 15/47 25/48 -f 27/49 13/50 14/46 26/45 -f 28/51 12/52 13/50 27/49 -f 29/53 11/54 12/52 28/51 -f 30/55 10/56 11/54 29/53 -f 31/57 9/58 10/56 30/55 -f 32/59 8/60 9/58 31/57 -f 33/61 7/62 8/60 32/59 -f 34/63 6/64 7/62 33/61 -f 35/65 3/66 6/64 34/63 -f 36/67 4/68 3/66 35/65 -f 21/40 19/39 4/68 36/67 -f 142/69 1/37 48/36 152/70 -f 69/71 70/72 71/73 -f 72/74 69/71 71/73 -f 73/75 72/74 71/73 -f 74/76 73/75 71/73 -f 75/77 74/76 71/73 -f 76/78 75/77 71/73 -f 77/79 76/78 71/73 -f 78/80 77/79 71/73 -f 79/81 78/80 71/73 -f 80/82 79/81 71/73 -f 81/83 80/82 71/73 -f 82/84 81/83 71/73 -f 83/85 82/84 71/73 -f 84/86 83/85 71/73 -f 85/87 84/86 71/73 -f 86/18 87/19 88/20 -f 89/21 86/18 88/20 -f 90/22 89/21 88/20 -f 91/23 90/22 88/20 -f 92/24 91/23 88/20 -f 93/25 92/24 88/20 -f 94/26 93/25 88/20 -f 95/27 94/26 88/20 -f 96/28 95/27 88/20 -f 97/29 96/28 88/20 -f 98/30 97/29 88/20 -f 99/31 98/30 88/20 -f 100/32 99/31 88/20 -f 101/33 100/32 88/20 -f 102/34 101/33 88/20 -f 87/19 102/34 88/20 -f 70/72 85/87 71/73 -f 89/35 83/36 84/37 86/38 -f 86/38 84/37 85/39 87/40 -f 90/41 82/42 83/36 89/35 -f 91/43 81/44 82/42 90/41 -f 92/45 80/46 81/47 91/48 -f 93/49 79/50 80/46 92/45 -f 94/51 78/52 79/50 93/49 -f 95/53 77/54 78/52 94/51 -f 96/55 76/56 77/54 95/53 -f 97/57 75/58 76/56 96/55 -f 98/59 74/60 75/58 97/57 -f 99/61 73/62 74/60 98/59 -f 100/63 72/64 73/62 99/61 -f 101/65 69/66 72/64 100/63 -f 102/67 70/68 69/66 101/65 -f 87/40 85/39 70/68 102/67 -f 103/88 104/89 105/90 106/91 -f 109/92 108/93 104/89 103/88 -f 112/94 111/95 114/96 113/97 -f 117/98 118/99 116/100 115/101 -f 119/102 120/103 118/99 117/98 -f 121/104 122/105 120/103 119/102 -f 68/106 67/107 122/105 121/104 -f 125/108 126/109 124/110 123/111 -f 127/112 128/113 126/109 125/108 -f 106/91 105/90 128/114 127/115 -f 2/116 66/117 67/107 68/106 -f 43/118 107/119 108/93 109/92 -f 129/120 110/121 111/95 112/94 -f 113/97 114/96 107/119 43/118 -f 115/101 116/100 110/121 129/120 -f 123/111 124/110 66/117 2/116 -f 43/122 39/123 135/124 -f 50/125 131/126 136/127 38/128 -f 38/128 136/127 137/129 37/130 -f 40/131 37/130 137/129 134/132 -f 40/131 134/132 135/133 39/134 -f 50/125 49/135 132/136 131/126 -f 49/137 48/138 133/139 132/140 -f 48/138 1/125 130/128 133/139 -f 2/43 130/141 1/142 -f 2/43 138/143 130/141 -f 2/43 63/144 138/143 -f 63/144 2/43 68/145 -f 121/146 57/147 63/131 68/134 -f 57/147 51/148 138/130 63/131 -f 133/139 130/128 138/130 51/148 -f 65/149 132/140 133/139 51/148 -f 64/150 131/126 132/136 65/151 -f 64/150 54/152 136/127 131/126 -f 54/152 55/153 137/129 136/127 -f 43/122 135/124 53/154 -f 43/122 53/154 61/155 -f 61/155 113/156 43/122 -f 134/132 52/157 53/158 135/133 -f 62/159 61/160 53/158 52/157 -f 52/157 134/132 137/129 55/153 -f 113/161 61/160 62/159 112/162 -f 62/159 52/157 55/153 56/163 -f 62/159 56/163 129/164 112/162 -f 60/165 56/163 55/153 54/152 -f 60/165 115/166 129/164 56/163 -f 64/150 59/167 60/165 54/152 -f 117/168 115/166 60/165 59/167 -f 119/169 117/168 59/167 58/170 -f 59/167 64/150 65/151 58/170 -f 58/171 65/149 51/148 57/147 -f 121/146 119/172 58/171 57/147 -f 1/37 142/69 139/173 2/39 -f 37/50 151/174 150/175 38/46 -f 39/54 148/176 146/177 40/52 -f 41/60 143/178 145/179 42/58 -f 43/56 144/180 148/176 39/54 -f 40/52 146/177 151/174 37/50 -f 42/58 145/179 144/180 43/56 -f 44/62 154/181 143/178 41/60 -f 45/64 147/182 154/181 44/62 -f 46/66 141/183 147/182 45/64 -f 47/68 140/184 141/183 46/66 -f 2/39 139/173 140/184 47/68 -f 49/42 153/185 152/70 48/36 -f 50/44 149/186 153/185 49/42 -f 38/46 150/175 149/187 50/47 diff --git a/mods/pipeworks/models/pipeworks_spigot_pouring.obj b/mods/pipeworks/models/pipeworks_spigot_pouring.obj deleted file mode 100755 index 50f653cf..00000000 --- a/mods/pipeworks/models/pipeworks_spigot_pouring.obj +++ /dev/null @@ -1,634 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-spigot-pouring.blend' -# www.blender.org -mtllib pipeworks_spigot_pouring.mtl -o pipe.001_Cylinder.000 -v -0.094401 -0.559070 0.018777 -v -0.080029 -0.559070 0.053473 -v -0.053474 -0.559070 0.080029 -v -0.094401 -0.559070 -0.018778 -v 0.053473 -0.559070 0.080029 -v 0.094400 -0.559070 0.018777 -v 0.080029 -0.559070 0.053473 -v 0.080029 -0.559071 -0.053474 -v -0.018777 -0.559070 0.094400 -v 0.094400 -0.559071 -0.018777 -v -0.018777 -0.559071 -0.094401 -v 0.018777 -0.559071 -0.094401 -v 0.053473 -0.559071 -0.080029 -v -0.080029 -0.559070 -0.053474 -v -0.053474 -0.559070 -0.080029 -v 0.018777 -0.559070 0.094400 -v -0.000000 -0.559070 -0.000000 -v -0.094401 -0.243141 0.018777 -v -0.080029 -0.243141 0.053473 -v -0.053474 -0.243141 0.080029 -v -0.094401 -0.243141 -0.018778 -v 0.053473 -0.243141 0.080029 -v 0.094400 -0.243141 0.018777 -v 0.080029 -0.243141 0.053473 -v 0.080029 -0.243141 -0.053474 -v -0.018777 -0.243141 0.094400 -v 0.094400 -0.243141 -0.018777 -v -0.018777 -0.243141 -0.094401 -v 0.018777 -0.243141 -0.094401 -v 0.053473 -0.243141 -0.080029 -v -0.080029 -0.243141 -0.053474 -v -0.053474 -0.243141 -0.080029 -v 0.018777 -0.243141 0.094400 -vt 0.499995 0.000000 -vt 0.374998 0.000000 -vt 0.375003 1.000000 -vt 0.500001 1.000000 -vt 0.249999 0.000000 -vt 0.250003 1.000000 -vt 0.124999 0.000000 -vt 0.125002 1.000000 -vt 0.874999 0.000000 -vt 0.750001 0.000000 -vt 0.750000 1.000000 -vt 0.874999 1.000000 -vt 0.625002 0.000000 -vt 0.624999 1.000000 -vt 0.500003 0.000000 -vt 0.499998 1.000000 -vt 0.375006 0.000000 -vt 0.375000 1.000000 -vt 0.250008 0.000000 -vt 0.250001 1.000000 -vt 0.125008 0.000000 -vt 0.000010 0.000000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.749993 0.000000 -vt 0.624993 0.000000 -vt 0.625001 1.000000 -vt 0.750002 1.000000 -vt 0.999987 0.000000 -vt 0.874991 0.000000 -vt 0.875002 1.000000 -vt 1.000000 1.000000 -vt 0.999997 0.000000 -vt 0.999998 1.000000 -vt 0.000003 1.000000 -vt 0.000002 0.000000 -vt 0.000000 0.400543 -vt 0.076119 0.216772 -vt 0.500000 0.500000 -vt 0.216773 0.076119 -vt 0.400545 0.000000 -vt 0.599455 0.000000 -vt 0.783226 0.076119 -vt 0.923879 0.216773 -vt 1.000000 0.400544 -vt 1.000000 0.599455 -vt 0.923881 0.783226 -vt 0.783227 0.923879 -vt 0.599455 1.000000 -vt 0.400545 1.000000 -vt 0.216772 0.923879 -vt 0.076119 0.783227 -vt 0.000000 0.599455 -g pipe.001_Cylinder.000_water -usemtl water -s off -f 12/1 11/2 28/3 29/4 -f 11/2 15/5 32/6 28/3 -f 15/5 14/7 31/8 32/6 -f 1/9 2/10 19/11 18/12 -f 2/10 3/13 20/14 19/11 -f 3/13 9/15 26/16 20/14 -f 9/15 16/17 33/18 26/16 -f 16/17 5/19 22/20 33/18 -f 7/21 6/22 23/23 24/24 -f 8/25 13/26 30/27 25/28 -f 6/29 10/30 27/31 23/32 -f 5/19 7/21 24/24 22/20 -f 10/30 8/25 25/28 27/31 -f 13/26 12/1 29/4 30/27 -f 4/33 1/9 18/12 21/34 -f 21/35 31/8 14/7 4/36 -f 4/37 14/38 17/39 -f 14/38 15/40 17/39 -f 15/40 11/41 17/39 -f 11/41 12/42 17/39 -f 12/42 13/43 17/39 -f 13/43 8/44 17/39 -f 8/44 10/45 17/39 -f 10/45 6/46 17/39 -f 6/46 7/47 17/39 -f 7/47 5/48 17/39 -f 5/48 16/49 17/39 -f 16/49 9/50 17/39 -f 9/50 3/51 17/39 -f 3/51 2/52 17/39 -f 2/52 1/53 17/39 -f 1/53 4/37 17/39 -o pipe.000_Cylinder.001 -v -0.122598 -0.024391 -0.024386 -v -0.122598 -0.024391 0.024386 -v 0.129917 -0.250000 -0.086808 -v 0.153247 -0.250000 -0.030483 -v -0.000000 -0.250000 -0.000000 -v 0.086808 -0.250000 -0.129917 -v 0.030483 -0.250000 -0.153248 -v -0.030483 -0.250000 -0.153248 -v -0.086808 -0.250000 -0.129917 -v -0.129917 -0.250000 -0.086808 -v -0.153248 -0.250000 -0.030483 -v -0.153248 -0.250000 0.030483 -v -0.129917 -0.250000 0.086808 -v -0.086808 -0.250000 0.129917 -v -0.030483 -0.250000 0.153247 -v 0.030483 -0.250000 0.153248 -v 0.086808 -0.250000 0.129917 -v 0.129917 -0.250000 0.086808 -v 0.153247 -0.250000 0.030483 -v 0.129917 -0.187500 0.086808 -v 0.153248 -0.187500 0.030483 -v -0.000000 -0.187500 -0.000000 -v 0.086808 -0.187500 0.129917 -v 0.030483 -0.187500 0.153248 -v -0.030483 -0.187500 0.153247 -v -0.086808 -0.187500 0.129917 -v -0.129917 -0.187500 0.086808 -v -0.153248 -0.187500 0.030483 -v -0.153248 -0.187500 -0.030483 -v -0.129917 -0.187500 -0.086808 -v -0.086808 -0.187500 -0.129917 -v -0.030483 -0.187500 -0.153248 -v 0.030483 -0.187500 -0.153248 -v 0.086808 -0.187500 -0.129917 -v 0.129917 -0.187500 -0.086808 -v 0.153248 -0.187500 -0.030483 -v 0.069446 -0.024391 -0.103934 -v 0.024386 -0.024391 -0.122598 -v 0.122598 -0.024391 -0.024386 -v 0.103934 -0.024391 -0.069446 -v 0.069446 -0.024391 0.103934 -v 0.103934 -0.024391 0.069446 -v 0.122598 -0.024391 0.024386 -v 0.024386 -0.024391 0.122598 -v -0.024386 -0.024391 0.122598 -v -0.069446 -0.024391 0.103934 -v -0.103934 -0.024391 0.069446 -v -0.103934 -0.024391 -0.069446 -v -0.069446 -0.024391 -0.103934 -v -0.024386 -0.024391 -0.122598 -v -0.103934 0.041589 -0.041924 -v 0.103934 0.041589 -0.041925 -v 0.122598 0.009727 -0.010062 -v 0.024386 0.079173 -0.079509 -v 0.069446 0.065976 -0.066311 -v 0.069446 0.094826 -0.024663 -v -0.103934 0.062964 -0.011464 -v -0.069446 0.094827 -0.024662 -v -0.024386 0.112070 -0.031805 -v 0.024386 0.112070 -0.031805 -v 0.122598 0.021334 0.005779 -v 0.103934 0.062964 -0.011464 -v -0.122598 0.021334 0.005780 -v -0.024386 0.079173 -0.079509 -v -0.069446 0.065976 -0.066311 -v -0.122599 -0.024387 0.468750 -v -0.122599 0.024386 0.468750 -v -0.122598 0.024386 0.024391 -v 0.129917 -0.086808 0.500000 -v 0.153247 -0.030483 0.500000 -v -0.000001 0.000000 0.500000 -v 0.086807 -0.129917 0.500000 -v 0.030482 -0.153248 0.500000 -v -0.030483 -0.153248 0.500000 -v -0.086808 -0.129917 0.500000 -v -0.129918 -0.086808 0.500000 -v -0.153248 -0.030483 0.500000 -v -0.153248 0.030483 0.500000 -v -0.129918 0.086808 0.500000 -v -0.086808 0.129917 0.500000 -v -0.030483 0.153247 0.500000 -v 0.030482 0.153247 0.500000 -v 0.086807 0.129917 0.500000 -v 0.129917 0.086808 0.500000 -v 0.153247 0.030483 0.500000 -v 0.129917 0.086808 0.468750 -v 0.153247 0.030483 0.468750 -v 0.000000 0.000000 0.468750 -v 0.086807 0.129917 0.468750 -v 0.030482 0.153247 0.468750 -v -0.030483 0.153247 0.468750 -v -0.086808 0.129917 0.468750 -v -0.129918 0.086808 0.468750 -v -0.153248 0.030483 0.468750 -v -0.153248 -0.030483 0.468750 -v -0.129918 -0.086808 0.468750 -v -0.086808 -0.129917 0.468750 -v -0.030483 -0.153248 0.468750 -v 0.030482 -0.153248 0.468750 -v 0.086807 -0.129917 0.468750 -v 0.129917 -0.086808 0.468750 -v 0.153247 -0.030483 0.468750 -v 0.069446 -0.103934 0.024391 -v 0.069446 -0.103934 0.468750 -v 0.024386 -0.122598 0.468750 -v 0.024386 -0.122598 0.024391 -v 0.122598 -0.024387 0.468750 -v 0.103933 -0.069447 0.468750 -v 0.103934 -0.069446 0.024391 -v 0.069446 0.103933 0.468750 -v 0.103933 0.069446 0.468750 -v 0.103934 0.069446 0.024391 -v 0.122598 0.024386 0.024391 -v 0.122598 0.024386 0.468750 -v 0.024386 0.122598 0.024391 -v 0.024386 0.122598 0.468750 -v -0.024386 0.122598 0.024391 -v -0.024387 0.122598 0.468750 -v -0.069446 0.103934 0.024391 -v -0.069447 0.103933 0.468750 -v -0.103934 0.069446 0.024391 -v -0.103934 0.069446 0.468750 -v -0.103934 -0.069446 0.024391 -v -0.103934 -0.069447 0.468750 -v -0.069446 -0.103934 0.024391 -v -0.069447 -0.103934 0.468750 -v -0.024386 -0.122598 0.024391 -v -0.024387 -0.122598 0.468750 -v 0.069446 0.103934 0.024390 -v -0.122598 -0.005780 -0.020763 -v -0.024386 0.031804 -0.111499 -v -0.069446 0.024662 -0.094256 -v -0.103934 0.011464 -0.062393 -v 0.103934 0.011464 -0.062393 -v 0.122598 -0.005780 -0.020763 -v 0.024386 0.031804 -0.111499 -v 0.069446 0.024662 -0.094256 -v -0.122598 0.009727 -0.010062 -v -0.122598 -0.246570 0.024386 -v -0.103934 -0.246570 0.069446 -v -0.069447 -0.246570 0.103934 -v -0.122598 -0.246570 -0.024386 -v 0.069446 -0.246571 0.103933 -v 0.122598 -0.246571 0.024386 -v 0.103934 -0.246571 0.069446 -v 0.103933 -0.246571 -0.069446 -v -0.024386 -0.246570 0.122598 -v 0.122598 -0.246571 -0.024386 -v -0.024386 -0.246571 -0.122598 -v 0.024386 -0.246571 -0.122598 -v 0.069446 -0.246571 -0.103934 -v -0.103934 -0.246570 -0.069446 -v -0.069446 -0.246570 -0.103934 -v 0.024386 -0.246570 0.122598 -vt 0.139725 0.682190 -vt 0.199773 0.657318 -vt 0.232270 0.820694 -vt 0.093767 0.728149 -vt 0.068894 0.788196 -vt 0.068894 0.853192 -vt 0.093767 0.913239 -vt 0.139725 0.959198 -vt 0.199773 0.984070 -vt 0.264768 0.984070 -vt 0.324816 0.959198 -vt 0.370774 0.913239 -vt 0.395647 0.853192 -vt 0.395647 0.788196 -vt 0.370774 0.728149 -vt 0.324816 0.682190 -vt 0.264768 0.657318 -vt 0.487410 0.682190 -vt 0.547457 0.657318 -vt 0.579955 0.820694 -vt 0.441451 0.728149 -vt 0.416578 0.788196 -vt 0.416578 0.853192 -vt 0.441451 0.913239 -vt 0.487410 0.959198 -vt 0.547457 0.984070 -vt 0.612452 0.984070 -vt 0.672500 0.959198 -vt 0.718459 0.913239 -vt 0.743331 0.853192 -vt 0.743331 0.788196 -vt 0.718459 0.728149 -vt 0.672500 0.682190 -vt 0.612452 0.657318 -vt 0.125000 0.640625 -vt 0.125000 0.578125 -vt 0.187500 0.578125 -vt 0.187500 0.640625 -vt 0.250000 0.578125 -vt 0.250000 0.640625 -vt 0.062500 0.640625 -vt 0.062500 0.578125 -vt 0.000000 0.640625 -vt 0.000000 0.578125 -vt 0.937500 0.640625 -vt 0.937500 0.578125 -vt 1.000000 0.578125 -vt 1.000000 0.640625 -vt 0.875000 0.640625 -vt 0.875000 0.578125 -vt 0.812500 0.640625 -vt 0.812500 0.578125 -vt 0.750000 0.640625 -vt 0.750000 0.578125 -vt 0.687500 0.640625 -vt 0.687500 0.578125 -vt 0.625000 0.640625 -vt 0.625000 0.578125 -vt 0.562500 0.640625 -vt 0.562500 0.578125 -vt 0.500000 0.640625 -vt 0.500000 0.578125 -vt 0.437500 0.640625 -vt 0.437500 0.578125 -vt 0.375000 0.640625 -vt 0.375000 0.578125 -vt 0.312500 0.640625 -vt 0.312500 0.578125 -vt 0.187500 0.453125 -vt 0.125000 0.453125 -vt 0.139892 0.682190 -vt 0.199940 0.657318 -vt 0.232437 0.820694 -vt 0.093934 0.728149 -vt 0.069061 0.788196 -vt 0.069061 0.853192 -vt 0.093934 0.913239 -vt 0.139892 0.959198 -vt 0.199940 0.984070 -vt 0.264935 0.984070 -vt 0.324983 0.959198 -vt 0.370941 0.913239 -vt 0.395814 0.853192 -vt 0.395814 0.788196 -vt 0.370941 0.728149 -vt 0.324983 0.682190 -vt 0.264935 0.657318 -vt 0.875000 0.265625 -vt 0.875000 0.015625 -vt 0.937500 0.015625 -vt 0.937500 0.265625 -vt 0.812500 0.265625 -vt 0.812500 0.015625 -vt 0.625000 0.265625 -vt 0.625000 0.015625 -vt 0.687500 0.015625 -vt 0.687500 0.265625 -vt 0.437500 0.265625 -vt 0.437500 0.015625 -vt 0.500000 0.015625 -vt 0.500000 0.265625 -vt 0.375000 0.265625 -vt 0.375000 0.015625 -vt 0.312500 0.265625 -vt 0.312500 0.015625 -vt 0.250000 0.265625 -vt 0.250000 0.015625 -vt 0.062500 0.265625 -vt 0.062500 0.015625 -vt 0.125000 0.015625 -vt 0.125000 0.265625 -vt 0.000000 0.265625 -vt 0.000000 0.015625 -vt 1.000000 0.015625 -vt 1.000000 0.265625 -vt 0.187500 0.265625 -vt 0.187500 0.015625 -vt 0.750000 0.265625 -vt 0.750000 0.015625 -vt 0.562500 0.265625 -vt 0.562500 0.015625 -vt 0.000000 0.999989 -vt 0.000000 0.890943 -vt 0.041611 0.899043 -vt 0.941956 0.794823 -vt 0.941956 0.841698 -vt 0.895081 0.841698 -vt 0.895081 0.794823 -vt 0.848206 0.841698 -vt 0.848206 0.794823 -vt 0.801331 0.794823 -vt 0.801331 0.841698 -vt 0.754456 0.841698 -vt 0.754456 0.794823 -vt 0.988831 0.794823 -vt 0.988831 0.841698 -vt 0.941956 0.701073 -vt 0.941956 0.747948 -vt 0.895081 0.747948 -vt 0.895081 0.701073 -vt 0.041611 0.741571 -vt 0.000000 0.749671 -vt 0.076282 0.717645 -vt 0.102233 0.682226 -vt 0.109057 0.640614 -vt 0.754456 0.747948 -vt 0.801331 0.747948 -vt 0.848206 0.747948 -vt 0.848206 0.701073 -vt 0.941956 0.888573 -vt 0.988831 0.888573 -vt 0.895081 0.888573 -vt 0.848206 0.888573 -vt 0.076282 0.922969 -vt 0.102233 0.958388 -vt 0.109057 1.000000 -vt 0.801331 0.888573 -vt 0.754456 0.888573 -vt 0.801331 0.935448 -vt 0.754456 0.935448 -vt 0.754456 0.982323 -vt 0.801331 0.982323 -vt 0.848206 0.935448 -vt 0.848206 0.982323 -vt 0.895081 0.935448 -vt 0.895081 0.982323 -vt 0.941956 0.935448 -vt 0.941956 0.982323 -vt 0.988831 0.982323 -vt 0.988831 0.935448 -vt 0.801331 0.701073 -vt 0.754456 0.701073 -vt 0.250000 0.453125 -vt 0.875000 0.453125 -vt 0.937500 0.453125 -vt 0.750000 0.453125 -vt 0.812500 0.453125 -vt 0.562500 0.453125 -vt 0.625000 0.453125 -vt 0.687500 0.453125 -vt 0.500000 0.453125 -vt 0.437500 0.453125 -vt 0.375000 0.453125 -vt 0.312500 0.453125 -vt 0.062500 0.453125 -vt 0.000000 0.453125 -vt 1.000000 0.453125 -g pipe.000_Cylinder.001_metal -usemtl metal -s off -f 36/54 37/55 38/56 -f 39/57 36/54 38/56 -f 40/58 39/57 38/56 -f 41/59 40/58 38/56 -f 42/60 41/59 38/56 -f 43/61 42/60 38/56 -f 44/62 43/61 38/56 -f 45/63 44/62 38/56 -f 46/64 45/63 38/56 -f 47/65 46/64 38/56 -f 48/66 47/65 38/56 -f 49/67 48/66 38/56 -f 50/68 49/67 38/56 -f 51/69 50/68 38/56 -f 52/70 51/69 38/56 -f 53/71 54/72 55/73 -f 56/74 53/71 55/73 -f 57/75 56/74 55/73 -f 58/76 57/75 55/73 -f 59/77 58/76 55/73 -f 60/78 59/77 55/73 -f 61/79 60/78 55/73 -f 62/80 61/79 55/73 -f 63/81 62/80 55/73 -f 64/82 63/81 55/73 -f 65/83 64/82 55/73 -f 66/84 65/83 55/73 -f 67/85 66/84 55/73 -f 68/86 67/85 55/73 -f 69/87 68/86 55/73 -f 54/72 69/87 55/73 -f 37/55 52/70 38/56 -f 56/88 50/89 51/90 53/91 -f 53/91 51/90 52/92 54/93 -f 57/94 49/95 50/89 56/88 -f 58/96 48/97 49/95 57/94 -f 59/98 47/99 48/100 58/101 -f 60/102 46/103 47/99 59/98 -f 61/104 45/105 46/103 60/102 -f 62/106 44/107 45/105 61/104 -f 63/108 43/109 44/107 62/106 -f 64/110 42/111 43/109 63/108 -f 65/112 41/113 42/111 64/110 -f 66/114 40/115 41/113 65/112 -f 67/116 39/117 40/115 66/114 -f 68/118 36/119 39/117 67/116 -f 69/120 37/121 36/119 68/118 -f 54/93 52/92 37/121 69/120 -f 175/122 34/90 81/89 185/123 -f 102/124 103/125 104/126 -f 105/127 102/124 104/126 -f 106/128 105/127 104/126 -f 107/129 106/128 104/126 -f 108/130 107/129 104/126 -f 109/131 108/130 104/126 -f 110/132 109/131 104/126 -f 111/133 110/132 104/126 -f 112/134 111/133 104/126 -f 113/135 112/134 104/126 -f 114/136 113/135 104/126 -f 115/137 114/136 104/126 -f 116/138 115/137 104/126 -f 117/139 116/138 104/126 -f 118/140 117/139 104/126 -f 119/71 120/72 121/73 -f 122/74 119/71 121/73 -f 123/75 122/74 121/73 -f 124/76 123/75 121/73 -f 125/77 124/76 121/73 -f 126/78 125/77 121/73 -f 127/79 126/78 121/73 -f 128/80 127/79 121/73 -f 129/81 128/80 121/73 -f 130/82 129/81 121/73 -f 131/83 130/82 121/73 -f 132/84 131/83 121/73 -f 133/85 132/84 121/73 -f 134/86 133/85 121/73 -f 135/87 134/86 121/73 -f 120/72 135/87 121/73 -f 103/125 118/140 104/126 -f 122/88 116/89 117/90 119/91 -f 119/91 117/90 118/92 120/93 -f 123/94 115/95 116/89 122/88 -f 124/96 114/97 115/95 123/94 -f 125/98 113/99 114/100 124/101 -f 126/102 112/103 113/99 125/98 -f 127/104 111/105 112/103 126/102 -f 128/106 110/107 111/105 127/104 -f 129/108 109/109 110/107 128/106 -f 130/110 108/111 109/109 129/108 -f 131/112 107/113 108/111 130/110 -f 132/114 106/115 107/113 131/112 -f 133/116 105/117 106/115 132/114 -f 134/118 102/119 105/117 133/116 -f 135/120 103/121 102/119 134/118 -f 120/93 118/92 103/121 135/120 -f 136/141 137/142 138/143 139/144 -f 142/145 141/146 137/142 136/141 -f 145/147 144/148 147/149 146/150 -f 150/151 151/152 149/153 148/154 -f 152/155 153/156 151/152 150/151 -f 154/157 155/158 153/156 152/155 -f 101/159 100/160 155/158 154/157 -f 158/161 159/162 157/163 156/164 -f 160/165 161/166 159/162 158/161 -f 139/144 138/143 161/167 160/168 -f 35/169 99/170 100/160 101/159 -f 76/171 140/172 141/146 142/145 -f 162/173 143/174 144/148 145/147 -f 146/150 147/149 140/172 76/171 -f 148/154 149/153 143/174 162/173 -f 156/164 157/163 99/170 35/169 -f 76/175 72/176 168/177 -f 83/178 164/179 169/180 71/181 -f 71/181 169/180 170/182 70/183 -f 73/184 70/183 170/182 167/185 -f 73/184 167/185 168/186 72/187 -f 83/178 82/188 165/189 164/179 -f 82/190 81/191 166/192 165/193 -f 81/191 34/178 163/181 166/192 -f 35/96 163/194 34/195 -f 35/96 171/196 163/194 -f 35/96 96/197 171/196 -f 96/197 35/96 101/198 -f 154/199 90/200 96/184 101/187 -f 90/200 84/201 171/183 96/184 -f 166/192 163/181 171/183 84/201 -f 98/202 165/193 166/192 84/201 -f 97/203 164/179 165/189 98/204 -f 97/203 87/205 169/180 164/179 -f 87/205 88/206 170/182 169/180 -f 76/175 168/177 86/207 -f 76/175 86/207 94/208 -f 94/208 146/209 76/175 -f 167/185 85/210 86/211 168/186 -f 95/212 94/213 86/211 85/210 -f 85/210 167/185 170/182 88/206 -f 146/214 94/213 95/212 145/215 -f 95/212 85/210 88/206 89/216 -f 95/212 89/216 162/217 145/215 -f 93/218 89/216 88/206 87/205 -f 93/218 148/219 162/217 89/216 -f 97/203 92/220 93/218 87/205 -f 150/221 148/219 93/218 92/220 -f 152/222 150/221 92/220 91/223 -f 92/220 97/203 98/204 91/223 -f 91/224 98/202 84/201 90/200 -f 154/199 152/225 91/224 90/200 -f 34/90 175/122 172/226 35/92 -f 70/103 184/227 183/228 71/99 -f 72/107 181/229 179/230 73/105 -f 74/113 176/231 178/232 75/111 -f 76/109 177/233 181/229 72/107 -f 73/105 179/230 184/227 70/103 -f 75/111 178/232 177/233 76/109 -f 77/115 187/234 176/231 74/113 -f 78/117 180/235 187/234 77/115 -f 79/119 174/236 180/235 78/117 -f 80/121 173/237 174/236 79/119 -f 35/92 172/226 173/237 80/121 -f 82/95 186/238 185/123 81/89 -f 83/97 182/239 186/238 82/95 -f 71/99 183/228 182/240 83/100 diff --git a/mods/pipeworks/models/pipeworks_valve_off.obj b/mods/pipeworks/models/pipeworks_valve_off.obj deleted file mode 100755 index c5f71be5..00000000 --- a/mods/pipeworks/models/pipeworks_valve_off.obj +++ /dev/null @@ -1,458 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-valve-off.blend' -# www.blender.org -mtllib pipeworks_valve_off.mtl -o Cube.003 -v 0.062500 0.281250 -0.312500 -v 0.062500 0.281250 0.093750 -v -0.062500 0.281250 0.093750 -v -0.062500 0.281250 -0.312500 -v 0.062500 0.343750 -0.312500 -v 0.062500 0.343750 0.093750 -v -0.062500 0.343750 0.093750 -v -0.062500 0.343750 -0.312500 -v 0.031250 0.250000 -0.031250 -v 0.031250 0.250000 0.031250 -v -0.031250 0.250000 0.031250 -v -0.031250 0.250000 -0.031250 -v 0.031250 0.281250 -0.031250 -v 0.031250 0.281250 0.031250 -v -0.031250 0.281250 0.031250 -v -0.031250 0.281250 -0.031250 -v 0.250000 -0.250000 -0.250000 -v 0.250000 -0.250000 0.250000 -v -0.250000 -0.250000 0.250000 -v -0.250000 -0.250000 -0.250000 -v 0.250000 0.250000 -0.250000 -v 0.250000 0.250000 0.250000 -v -0.250000 0.250000 0.250000 -v -0.250000 0.250000 -0.250000 -v -0.468750 -0.153248 -0.030483 -v -0.500000 -0.153248 -0.030483 -v -0.468750 -0.153248 0.030483 -v -0.500000 -0.153248 0.030483 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.030483 0.153248 -v -0.500000 -0.030483 0.153248 -v -0.468750 0.030483 0.153248 -v -0.500000 0.030483 0.153248 -v -0.468750 0.086808 0.129917 -v -0.500000 0.086808 0.129917 -v -0.468750 0.129917 0.086808 -v -0.500000 0.129917 0.086808 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153247 0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.030483 -0.153248 -v -0.500000 0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.122598 -0.024386 -v -0.468750 -0.122598 0.024386 -v -0.468750 -0.103934 0.069446 -v -0.468750 -0.069446 0.103934 -v -0.468750 -0.024386 0.122598 -v -0.468750 0.024386 0.122598 -v -0.468750 0.069446 0.103934 -v -0.468750 0.103934 0.069446 -v -0.468750 0.122598 0.024386 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.069446 -0.103934 -v -0.468750 0.024386 -0.122598 -v -0.468750 -0.024387 -0.122598 -v -0.468750 -0.069447 -0.103934 -v -0.468750 -0.103934 -0.069446 -v -0.468750 -0.000000 -0.000000 -v -0.500000 -0.000000 -0.000000 -v 0.468750 -0.069446 0.103934 -v 0.468750 -0.103933 0.069447 -v 0.468750 -0.122598 0.024387 -v 0.468750 -0.122598 -0.024386 -v 0.500000 -0.129917 -0.086807 -v 0.468750 -0.129917 -0.086807 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.468750 -0.030483 -0.153247 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.030483 -0.153247 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.153248 -0.030483 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.129917 0.086808 -v 0.468750 0.129917 0.086808 -v 0.500000 0.086808 0.129917 -v 0.468750 0.086808 0.129917 -v 0.500000 0.030483 0.153248 -v 0.468750 0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.086807 0.129917 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.153247 0.030483 -v 0.468750 -0.153247 0.030483 -v 0.500000 -0.153247 -0.030483 -v 0.468750 -0.153247 -0.030483 -v 0.468750 -0.024386 0.122598 -v 0.468750 0.024387 0.122598 -v 0.468750 0.069447 0.103934 -v 0.468750 0.103934 0.069447 -v 0.468750 0.122598 0.024387 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.069447 -0.103933 -v 0.468750 0.024387 -0.122598 -v 0.468750 -0.024386 -0.122598 -v 0.468750 -0.069446 -0.103933 -v 0.468750 -0.103933 -0.069446 -v 0.468750 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -vt 0.265625 0.234375 -vt 0.468750 0.234375 -vt 0.468750 0.265625 -vt 0.265625 0.265625 -vt 0.265625 0.187500 -vt 0.328125 0.187500 -vt 0.328125 0.218750 -vt 0.265625 0.218750 -vt 0.468750 0.312500 -vt 0.265625 0.312500 -vt 0.265625 0.281250 -vt 0.468750 0.281250 -vt 0.406250 0.218750 -vt 0.343750 0.218750 -vt 0.343750 0.187500 -vt 0.406250 0.187500 -vt 0.468750 0.468750 -vt 0.265625 0.468750 -vt 0.265625 0.406250 -vt 0.468750 0.406250 -vt 0.468750 0.390625 -vt 0.265625 0.390625 -vt 0.265625 0.328125 -vt 0.468750 0.328125 -vt 0.039062 0.203125 -vt 0.007812 0.203125 -vt 0.007812 0.187500 -vt 0.039062 0.187500 -vt 0.085938 0.203125 -vt 0.054688 0.203125 -vt 0.054688 0.187500 -vt 0.085938 0.187500 -vt 0.148438 0.187500 -vt 0.179688 0.187500 -vt 0.179688 0.203125 -vt 0.148438 0.203125 -vt 0.132812 0.203125 -vt 0.101562 0.203125 -vt 0.101562 0.187500 -vt 0.132812 0.187500 -vt 0.515625 0.484375 -vt 0.515625 0.734375 -vt 0.265625 0.734375 -vt 0.265625 0.484375 -vt 0.000000 0.468750 -vt 0.000000 0.218750 -vt 0.250000 0.218750 -vt 0.250000 0.468750 -vt 0.515625 1.000000 -vt 0.265625 1.000000 -vt 0.265625 0.750000 -vt 0.515625 0.750000 -vt 0.250000 0.734375 -vt 0.000000 0.734375 -vt 0.000000 0.484375 -vt 0.250000 0.484375 -vt 0.781250 1.000000 -vt 0.531250 1.000000 -vt 0.531250 0.750000 -vt 0.781250 0.750000 -vt 0.000847 0.750015 -vt 0.250216 0.750015 -vt 0.250216 0.999385 -vt 0.000847 0.999385 -vt 0.867188 0.273438 -vt 0.835938 0.273438 -vt 0.835938 0.304688 -vt 0.867188 0.304688 -vt 0.804688 0.273438 -vt 0.804688 0.304688 -vt 0.773438 0.273438 -vt 0.773438 0.304688 -vt 0.742188 0.273438 -vt 0.742188 0.304688 -vt 0.710938 0.273438 -vt 0.710938 0.304688 -vt 0.679688 0.273438 -vt 0.679688 0.304688 -vt 0.648438 0.273438 -vt 0.648438 0.304688 -vt 0.617188 0.273438 -vt 0.617188 0.304688 -vt 0.585938 0.273438 -vt 0.585938 0.304688 -vt 0.554688 0.273438 -vt 0.554688 0.304688 -vt 0.523438 0.273438 -vt 0.523438 0.304688 -vt 0.492188 0.273438 -vt 0.492188 0.304688 -vt 0.992188 0.273438 -vt 0.960938 0.273438 -vt 0.960938 0.304688 -vt 0.992188 0.304688 -vt 0.929688 0.273438 -vt 0.929688 0.304688 -vt 0.898438 0.273438 -vt 0.898438 0.304688 -vt 0.600936 0.328499 -vt 0.584692 0.410164 -vt 0.568448 0.328499 -vt 0.757628 0.328499 -vt 0.773872 0.410164 -vt 0.790117 0.328499 -vt 0.820132 0.340932 -vt 0.843105 0.363905 -vt 0.855537 0.393920 -vt 0.855537 0.426408 -vt 0.843105 0.456424 -vt 0.820132 0.479396 -vt 0.790117 0.491829 -vt 0.757628 0.491829 -vt 0.727613 0.479396 -vt 0.704640 0.456424 -vt 0.692207 0.426408 -vt 0.692207 0.393920 -vt 0.704640 0.363905 -vt 0.727613 0.340932 -vt 0.538432 0.340932 -vt 0.515460 0.363905 -vt 0.503027 0.393920 -vt 0.503027 0.426408 -vt 0.515460 0.456424 -vt 0.538432 0.479396 -vt 0.568448 0.491829 -vt 0.600936 0.491829 -vt 0.630951 0.479396 -vt 0.653924 0.456424 -vt 0.666357 0.426408 -vt 0.666357 0.393920 -vt 0.653924 0.363905 -vt 0.630951 0.340932 -vt 0.585938 0.257812 -vt 0.585938 0.007812 -vt 0.617188 0.007812 -vt 0.617188 0.257812 -vt 0.538433 0.340928 -vt 0.568449 0.328495 -vt 0.584693 0.410160 -vt 0.515460 0.363901 -vt 0.503028 0.393916 -vt 0.503028 0.426405 -vt 0.515460 0.456420 -vt 0.538433 0.479393 -vt 0.568449 0.491826 -vt 0.600937 0.491826 -vt 0.630952 0.479393 -vt 0.653925 0.456420 -vt 0.666358 0.426405 -vt 0.666358 0.393916 -vt 0.653925 0.363901 -vt 0.630952 0.340928 -vt 0.600937 0.328495 -vt 0.727611 0.340928 -vt 0.757626 0.328495 -vt 0.773870 0.410160 -vt 0.704638 0.363901 -vt 0.692205 0.393916 -vt 0.692205 0.426405 -vt 0.704638 0.456420 -vt 0.727611 0.479393 -vt 0.757626 0.491826 -vt 0.790115 0.491826 -vt 0.820130 0.479393 -vt 0.843103 0.456420 -vt 0.855535 0.426405 -vt 0.855535 0.393916 -vt 0.843103 0.363901 -vt 0.820130 0.340928 -vt 0.790115 0.328495 -vt 0.929688 0.257812 -vt 0.929688 0.007812 -vt 0.960938 0.007812 -vt 0.960938 0.257812 -vt 0.867188 0.257812 -vt 0.867188 0.007812 -vt 0.898438 0.007812 -vt 0.898438 0.257812 -vt 0.773438 0.257812 -vt 0.773438 0.007812 -vt 0.804688 0.007812 -vt 0.804688 0.257812 -vt 0.835938 0.257812 -vt 0.835938 0.007812 -vt 0.742188 0.257812 -vt 0.742188 0.007812 -vt 0.710938 0.257812 -vt 0.710938 0.007812 -vt 0.679688 0.257812 -vt 0.679688 0.007812 -vt 0.648438 0.257812 -vt 0.648438 0.007812 -vt 0.554688 0.257812 -vt 0.554688 0.007812 -vt 0.523438 0.257812 -vt 0.523438 0.007812 -vt 0.492188 0.257812 -vt 0.492188 0.007812 -vt 0.992188 0.007812 -vt 0.992188 0.257812 -usemtl None -s off -f 5/1 6/2 2/3 1/4 -f 6/5 7/6 3/7 2/8 -f 7/9 8/10 4/11 3/12 -f 8/13 5/14 1/15 4/16 -f 1/17 2/18 3/19 4/20 -f 8/21 7/22 6/23 5/24 -f 13/25 14/26 10/27 9/28 -f 14/29 15/30 11/31 10/32 -f 15/33 16/34 12/35 11/36 -f 16/37 13/38 9/39 12/40 -f 21/41 22/42 18/43 17/44 -f 22/45 23/46 19/47 18/48 -f 23/49 24/50 20/51 19/52 -f 24/53 21/54 17/55 20/56 -f 17/57 18/58 19/59 20/60 -f 24/61 23/62 22/63 21/64 -f 25/65 27/66 28/67 26/68 -f 27/66 29/69 30/70 28/67 -f 29/69 31/71 32/72 30/70 -f 31/71 33/73 34/74 32/72 -f 33/73 35/75 36/76 34/74 -f 35/75 37/77 38/78 36/76 -f 37/77 39/79 40/80 38/78 -f 39/79 41/81 42/82 40/80 -f 41/81 43/83 44/84 42/82 -f 43/83 45/85 46/86 44/84 -f 45/85 47/87 48/88 46/86 -f 47/87 49/89 50/90 48/88 -f 49/91 51/92 52/93 50/94 -f 51/92 53/95 54/96 52/93 -f 55/97 25/65 26/68 56/98 -f 53/95 55/97 56/98 54/96 -f 28/99 74/100 26/101 -f 25/102 73/103 27/104 -f 27/104 73/103 29/105 -f 29/105 73/103 31/106 -f 31/106 73/103 33/107 -f 33/107 73/103 35/108 -f 35/108 73/103 37/109 -f 37/109 73/103 39/110 -f 39/110 73/103 41/111 -f 41/111 73/103 43/112 -f 43/112 73/103 45/113 -f 45/113 73/103 47/114 -f 47/114 73/103 49/115 -f 49/115 73/103 51/116 -f 51/116 73/103 53/117 -f 53/117 73/103 55/118 -f 55/118 73/103 25/102 -f 26/101 74/100 56/119 -f 56/119 74/100 54/120 -f 54/120 74/100 52/121 -f 52/121 74/100 50/122 -f 50/122 74/100 48/123 -f 48/123 74/100 46/124 -f 46/124 74/100 44/125 -f 44/125 74/100 42/126 -f 42/126 74/100 40/127 -f 40/127 74/100 38/128 -f 38/128 74/100 36/129 -f 36/129 74/100 34/130 -f 34/130 74/100 32/131 -f 32/131 74/100 30/132 -f 30/132 74/100 28/99 -f 65/133 115/134 116/135 66/136 -f 105/137 107/138 124/139 -f 103/140 105/137 124/139 -f 101/141 103/140 124/139 -f 99/142 101/141 124/139 -f 97/143 99/142 124/139 -f 95/144 97/143 124/139 -f 93/145 95/144 124/139 -f 91/146 93/145 124/139 -f 89/147 91/146 124/139 -f 87/148 89/147 124/139 -f 85/149 87/148 124/139 -f 83/150 85/149 124/139 -f 81/151 83/150 124/139 -f 79/152 81/151 124/139 -f 109/153 79/152 124/139 -f 80/154 110/155 123/156 -f 82/157 80/154 123/156 -f 84/158 82/157 123/156 -f 86/159 84/158 123/156 -f 88/160 86/159 123/156 -f 90/161 88/160 123/156 -f 92/162 90/161 123/156 -f 94/163 92/162 123/156 -f 96/164 94/163 123/156 -f 98/165 96/164 123/156 -f 100/166 98/165 123/156 -f 102/167 100/166 123/156 -f 104/168 102/167 123/156 -f 106/169 104/168 123/156 -f 108/170 106/169 123/156 -f 110/155 108/170 123/156 -f 107/138 109/153 124/139 -f 82/86 81/85 79/83 80/84 -f 80/84 79/83 109/81 110/82 -f 84/88 83/87 81/85 82/86 -f 86/90 85/89 83/87 84/88 -f 88/93 87/92 85/91 86/94 -f 90/96 89/95 87/92 88/93 -f 92/98 91/97 89/95 90/96 -f 94/68 93/65 91/97 92/98 -f 96/67 95/66 93/65 94/68 -f 98/70 97/69 95/66 96/67 -f 100/72 99/71 97/69 98/70 -f 102/74 101/73 99/71 100/72 -f 104/76 103/75 101/73 102/74 -f 106/78 105/77 103/75 104/76 -f 108/80 107/79 105/77 106/78 -f 110/82 109/81 107/79 108/80 -f 60/171 75/172 111/173 61/174 -f 58/175 77/176 76/177 59/178 -f 71/179 121/180 122/181 72/182 -f 57/183 78/184 77/176 58/175 -f 59/178 76/177 75/172 60/171 -f 72/182 122/181 78/184 57/183 -f 70/185 120/186 121/180 71/179 -f 69/187 119/188 120/186 70/185 -f 68/189 118/190 119/188 69/187 -f 67/191 117/192 118/190 68/189 -f 66/136 116/135 117/192 67/191 -f 64/193 114/194 115/134 65/133 -f 63/195 113/196 114/194 64/193 -f 62/197 112/198 113/196 63/195 -f 61/174 111/173 112/199 62/200 diff --git a/mods/pipeworks/models/pipeworks_valve_on.obj b/mods/pipeworks/models/pipeworks_valve_on.obj deleted file mode 100755 index ba08b30d..00000000 --- a/mods/pipeworks/models/pipeworks_valve_on.obj +++ /dev/null @@ -1,458 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'pipe-valve-on.blend' -# www.blender.org -mtllib pipeworks_valve_on.mtl -o Cube.003 -v 0.312500 0.281250 0.062500 -v -0.093750 0.281250 0.062500 -v -0.093750 0.281250 -0.062500 -v 0.312500 0.281250 -0.062500 -v 0.312500 0.343750 0.062500 -v -0.093750 0.343750 0.062500 -v -0.093750 0.343750 -0.062500 -v 0.312500 0.343750 -0.062500 -v 0.031250 0.250000 -0.031250 -v 0.031250 0.250000 0.031250 -v -0.031250 0.250000 0.031250 -v -0.031250 0.250000 -0.031250 -v 0.031250 0.281250 -0.031250 -v 0.031250 0.281250 0.031250 -v -0.031250 0.281250 0.031250 -v -0.031250 0.281250 -0.031250 -v 0.250000 -0.250000 -0.250000 -v 0.250000 -0.250000 0.250000 -v -0.250000 -0.250000 0.250000 -v -0.250000 -0.250000 -0.250000 -v 0.250000 0.250000 -0.250000 -v 0.250000 0.250000 0.250000 -v -0.250000 0.250000 0.250000 -v -0.250000 0.250000 -0.250000 -v -0.468750 -0.153248 -0.030483 -v -0.500000 -0.153248 -0.030483 -v -0.468750 -0.153248 0.030483 -v -0.500000 -0.153248 0.030483 -v -0.468750 -0.129917 0.086808 -v -0.500000 -0.129917 0.086808 -v -0.468750 -0.086808 0.129917 -v -0.500000 -0.086808 0.129917 -v -0.468750 -0.030483 0.153248 -v -0.500000 -0.030483 0.153248 -v -0.468750 0.030483 0.153248 -v -0.500000 0.030483 0.153248 -v -0.468750 0.086808 0.129917 -v -0.500000 0.086808 0.129917 -v -0.468750 0.129917 0.086808 -v -0.500000 0.129917 0.086808 -v -0.468750 0.153248 0.030483 -v -0.500000 0.153247 0.030483 -v -0.468750 0.153248 -0.030483 -v -0.500000 0.153248 -0.030483 -v -0.468750 0.129917 -0.086808 -v -0.500000 0.129917 -0.086808 -v -0.468750 0.086808 -0.129917 -v -0.500000 0.086808 -0.129917 -v -0.468750 0.030483 -0.153248 -v -0.500000 0.030483 -0.153248 -v -0.468750 -0.030483 -0.153248 -v -0.500000 -0.030483 -0.153248 -v -0.468750 -0.086808 -0.129917 -v -0.500000 -0.086808 -0.129917 -v -0.468750 -0.129917 -0.086808 -v -0.500000 -0.129917 -0.086808 -v -0.468750 -0.122598 -0.024386 -v -0.468750 -0.122598 0.024386 -v -0.468750 -0.103934 0.069446 -v -0.468750 -0.069446 0.103934 -v -0.468750 -0.024386 0.122598 -v -0.468750 0.024386 0.122598 -v -0.468750 0.069446 0.103934 -v -0.468750 0.103934 0.069446 -v -0.468750 0.122598 0.024386 -v -0.468750 0.122598 -0.024386 -v -0.468750 0.103934 -0.069446 -v -0.468750 0.069446 -0.103934 -v -0.468750 0.024386 -0.122598 -v -0.468750 -0.024387 -0.122598 -v -0.468750 -0.069447 -0.103934 -v -0.468750 -0.103934 -0.069446 -v -0.468750 -0.000000 -0.000000 -v -0.500000 -0.000000 -0.000000 -v 0.468750 -0.069446 0.103934 -v 0.468750 -0.103933 0.069447 -v 0.468750 -0.122598 0.024387 -v 0.468750 -0.122598 -0.024386 -v 0.500000 -0.129917 -0.086807 -v 0.468750 -0.129917 -0.086807 -v 0.500000 -0.086808 -0.129917 -v 0.468750 -0.086808 -0.129917 -v 0.500000 -0.030483 -0.153247 -v 0.468750 -0.030483 -0.153247 -v 0.500000 0.030483 -0.153247 -v 0.468750 0.030483 -0.153247 -v 0.500000 0.086808 -0.129917 -v 0.468750 0.086808 -0.129917 -v 0.500000 0.129917 -0.086808 -v 0.468750 0.129917 -0.086808 -v 0.500000 0.153248 -0.030483 -v 0.468750 0.153248 -0.030483 -v 0.500000 0.153248 0.030483 -v 0.468750 0.153248 0.030483 -v 0.500000 0.129917 0.086808 -v 0.468750 0.129917 0.086808 -v 0.500000 0.086808 0.129917 -v 0.468750 0.086808 0.129917 -v 0.500000 0.030483 0.153248 -v 0.468750 0.030483 0.153248 -v 0.500000 -0.030483 0.153248 -v 0.468750 -0.030483 0.153248 -v 0.500000 -0.086807 0.129917 -v 0.468750 -0.086808 0.129917 -v 0.500000 -0.129917 0.086808 -v 0.468750 -0.129917 0.086808 -v 0.500000 -0.153247 0.030483 -v 0.468750 -0.153247 0.030483 -v 0.500000 -0.153247 -0.030483 -v 0.468750 -0.153247 -0.030483 -v 0.468750 -0.024386 0.122598 -v 0.468750 0.024387 0.122598 -v 0.468750 0.069447 0.103934 -v 0.468750 0.103934 0.069447 -v 0.468750 0.122598 0.024387 -v 0.468750 0.122598 -0.024386 -v 0.468750 0.103934 -0.069446 -v 0.468750 0.069447 -0.103933 -v 0.468750 0.024387 -0.122598 -v 0.468750 -0.024386 -0.122598 -v 0.468750 -0.069446 -0.103933 -v 0.468750 -0.103933 -0.069446 -v 0.468750 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -vt 0.265625 0.234375 -vt 0.468750 0.234375 -vt 0.468750 0.265625 -vt 0.265625 0.265625 -vt 0.265625 0.187500 -vt 0.328125 0.187500 -vt 0.328125 0.218750 -vt 0.265625 0.218750 -vt 0.468750 0.312500 -vt 0.265625 0.312500 -vt 0.265625 0.281250 -vt 0.468750 0.281250 -vt 0.406250 0.218750 -vt 0.343750 0.218750 -vt 0.343750 0.187500 -vt 0.406250 0.187500 -vt 0.468750 0.468750 -vt 0.265625 0.468750 -vt 0.265625 0.406250 -vt 0.468750 0.406250 -vt 0.468750 0.390625 -vt 0.265625 0.390625 -vt 0.265625 0.328125 -vt 0.468750 0.328125 -vt 0.039062 0.203125 -vt 0.007812 0.203125 -vt 0.007812 0.187500 -vt 0.039062 0.187500 -vt 0.085938 0.203125 -vt 0.054688 0.203125 -vt 0.054688 0.187500 -vt 0.085938 0.187500 -vt 0.148438 0.187500 -vt 0.179688 0.187500 -vt 0.179688 0.203125 -vt 0.148438 0.203125 -vt 0.132812 0.203125 -vt 0.101562 0.203125 -vt 0.101562 0.187500 -vt 0.132812 0.187500 -vt 0.515625 0.484375 -vt 0.515625 0.734375 -vt 0.265625 0.734375 -vt 0.265625 0.484375 -vt 0.000000 0.468750 -vt 0.000000 0.218750 -vt 0.250000 0.218750 -vt 0.250000 0.468750 -vt 0.515625 1.000000 -vt 0.265625 1.000000 -vt 0.265625 0.750000 -vt 0.515625 0.750000 -vt 0.250000 0.734375 -vt 0.000000 0.734375 -vt 0.000000 0.484375 -vt 0.250000 0.484375 -vt 0.781250 1.000000 -vt 0.531250 1.000000 -vt 0.531250 0.750000 -vt 0.781250 0.750000 -vt 0.000847 0.750015 -vt 0.250216 0.750015 -vt 0.250216 0.999385 -vt 0.000847 0.999385 -vt 0.867188 0.273438 -vt 0.835938 0.273438 -vt 0.835938 0.304688 -vt 0.867188 0.304688 -vt 0.804688 0.273438 -vt 0.804688 0.304688 -vt 0.773438 0.273438 -vt 0.773438 0.304688 -vt 0.742188 0.273438 -vt 0.742188 0.304688 -vt 0.710938 0.273438 -vt 0.710938 0.304688 -vt 0.679688 0.273438 -vt 0.679688 0.304688 -vt 0.648438 0.273438 -vt 0.648438 0.304688 -vt 0.617188 0.273438 -vt 0.617188 0.304688 -vt 0.585938 0.273438 -vt 0.585938 0.304688 -vt 0.554688 0.273438 -vt 0.554688 0.304688 -vt 0.523438 0.273438 -vt 0.523438 0.304688 -vt 0.492188 0.273438 -vt 0.492188 0.304688 -vt 0.992188 0.273438 -vt 0.960938 0.273438 -vt 0.960938 0.304688 -vt 0.992188 0.304688 -vt 0.929688 0.273438 -vt 0.929688 0.304688 -vt 0.898438 0.273438 -vt 0.898438 0.304688 -vt 0.600936 0.328499 -vt 0.584692 0.410164 -vt 0.568448 0.328499 -vt 0.757628 0.328499 -vt 0.773872 0.410164 -vt 0.790117 0.328499 -vt 0.820132 0.340932 -vt 0.843105 0.363905 -vt 0.855537 0.393920 -vt 0.855537 0.426408 -vt 0.843105 0.456424 -vt 0.820132 0.479396 -vt 0.790117 0.491829 -vt 0.757628 0.491829 -vt 0.727613 0.479396 -vt 0.704640 0.456424 -vt 0.692207 0.426408 -vt 0.692207 0.393920 -vt 0.704640 0.363905 -vt 0.727613 0.340932 -vt 0.538432 0.340932 -vt 0.515460 0.363905 -vt 0.503027 0.393920 -vt 0.503027 0.426408 -vt 0.515460 0.456424 -vt 0.538432 0.479396 -vt 0.568448 0.491829 -vt 0.600936 0.491829 -vt 0.630951 0.479396 -vt 0.653924 0.456424 -vt 0.666357 0.426408 -vt 0.666357 0.393920 -vt 0.653924 0.363905 -vt 0.630951 0.340932 -vt 0.585938 0.257812 -vt 0.585938 0.007812 -vt 0.617188 0.007812 -vt 0.617188 0.257812 -vt 0.538433 0.340928 -vt 0.568449 0.328495 -vt 0.584693 0.410160 -vt 0.515460 0.363901 -vt 0.503028 0.393916 -vt 0.503028 0.426405 -vt 0.515460 0.456420 -vt 0.538433 0.479393 -vt 0.568449 0.491826 -vt 0.600937 0.491826 -vt 0.630952 0.479393 -vt 0.653925 0.456420 -vt 0.666358 0.426405 -vt 0.666358 0.393916 -vt 0.653925 0.363901 -vt 0.630952 0.340928 -vt 0.600937 0.328495 -vt 0.727611 0.340928 -vt 0.757626 0.328495 -vt 0.773870 0.410160 -vt 0.704638 0.363901 -vt 0.692205 0.393916 -vt 0.692205 0.426405 -vt 0.704638 0.456420 -vt 0.727611 0.479393 -vt 0.757626 0.491826 -vt 0.790115 0.491826 -vt 0.820130 0.479393 -vt 0.843103 0.456420 -vt 0.855535 0.426405 -vt 0.855535 0.393916 -vt 0.843103 0.363901 -vt 0.820130 0.340928 -vt 0.790115 0.328495 -vt 0.929688 0.257812 -vt 0.929688 0.007812 -vt 0.960938 0.007812 -vt 0.960938 0.257812 -vt 0.867188 0.257812 -vt 0.867188 0.007812 -vt 0.898438 0.007812 -vt 0.898438 0.257812 -vt 0.773438 0.257812 -vt 0.773438 0.007812 -vt 0.804688 0.007812 -vt 0.804688 0.257812 -vt 0.835938 0.257812 -vt 0.835938 0.007812 -vt 0.742188 0.257812 -vt 0.742188 0.007812 -vt 0.710938 0.257812 -vt 0.710938 0.007812 -vt 0.679688 0.257812 -vt 0.679688 0.007812 -vt 0.648438 0.257812 -vt 0.648438 0.007812 -vt 0.554688 0.257812 -vt 0.554688 0.007812 -vt 0.523438 0.257812 -vt 0.523438 0.007812 -vt 0.492188 0.257812 -vt 0.492188 0.007812 -vt 0.992188 0.007812 -vt 0.992188 0.257812 -usemtl None -s off -f 5/1 6/2 2/3 1/4 -f 6/5 7/6 3/7 2/8 -f 7/9 8/10 4/11 3/12 -f 8/13 5/14 1/15 4/16 -f 1/17 2/18 3/19 4/20 -f 8/21 7/22 6/23 5/24 -f 13/25 14/26 10/27 9/28 -f 14/29 15/30 11/31 10/32 -f 15/33 16/34 12/35 11/36 -f 16/37 13/38 9/39 12/40 -f 21/41 22/42 18/43 17/44 -f 22/45 23/46 19/47 18/48 -f 23/49 24/50 20/51 19/52 -f 24/53 21/54 17/55 20/56 -f 17/57 18/58 19/59 20/60 -f 24/61 23/62 22/63 21/64 -f 25/65 27/66 28/67 26/68 -f 27/66 29/69 30/70 28/67 -f 29/69 31/71 32/72 30/70 -f 31/71 33/73 34/74 32/72 -f 33/73 35/75 36/76 34/74 -f 35/75 37/77 38/78 36/76 -f 37/77 39/79 40/80 38/78 -f 39/79 41/81 42/82 40/80 -f 41/81 43/83 44/84 42/82 -f 43/83 45/85 46/86 44/84 -f 45/85 47/87 48/88 46/86 -f 47/87 49/89 50/90 48/88 -f 49/91 51/92 52/93 50/94 -f 51/92 53/95 54/96 52/93 -f 55/97 25/65 26/68 56/98 -f 53/95 55/97 56/98 54/96 -f 28/99 74/100 26/101 -f 25/102 73/103 27/104 -f 27/104 73/103 29/105 -f 29/105 73/103 31/106 -f 31/106 73/103 33/107 -f 33/107 73/103 35/108 -f 35/108 73/103 37/109 -f 37/109 73/103 39/110 -f 39/110 73/103 41/111 -f 41/111 73/103 43/112 -f 43/112 73/103 45/113 -f 45/113 73/103 47/114 -f 47/114 73/103 49/115 -f 49/115 73/103 51/116 -f 51/116 73/103 53/117 -f 53/117 73/103 55/118 -f 55/118 73/103 25/102 -f 26/101 74/100 56/119 -f 56/119 74/100 54/120 -f 54/120 74/100 52/121 -f 52/121 74/100 50/122 -f 50/122 74/100 48/123 -f 48/123 74/100 46/124 -f 46/124 74/100 44/125 -f 44/125 74/100 42/126 -f 42/126 74/100 40/127 -f 40/127 74/100 38/128 -f 38/128 74/100 36/129 -f 36/129 74/100 34/130 -f 34/130 74/100 32/131 -f 32/131 74/100 30/132 -f 30/132 74/100 28/99 -f 65/133 115/134 116/135 66/136 -f 105/137 107/138 124/139 -f 103/140 105/137 124/139 -f 101/141 103/140 124/139 -f 99/142 101/141 124/139 -f 97/143 99/142 124/139 -f 95/144 97/143 124/139 -f 93/145 95/144 124/139 -f 91/146 93/145 124/139 -f 89/147 91/146 124/139 -f 87/148 89/147 124/139 -f 85/149 87/148 124/139 -f 83/150 85/149 124/139 -f 81/151 83/150 124/139 -f 79/152 81/151 124/139 -f 109/153 79/152 124/139 -f 80/154 110/155 123/156 -f 82/157 80/154 123/156 -f 84/158 82/157 123/156 -f 86/159 84/158 123/156 -f 88/160 86/159 123/156 -f 90/161 88/160 123/156 -f 92/162 90/161 123/156 -f 94/163 92/162 123/156 -f 96/164 94/163 123/156 -f 98/165 96/164 123/156 -f 100/166 98/165 123/156 -f 102/167 100/166 123/156 -f 104/168 102/167 123/156 -f 106/169 104/168 123/156 -f 108/170 106/169 123/156 -f 110/155 108/170 123/156 -f 107/138 109/153 124/139 -f 82/86 81/85 79/83 80/84 -f 80/84 79/83 109/81 110/82 -f 84/88 83/87 81/85 82/86 -f 86/90 85/89 83/87 84/88 -f 88/93 87/92 85/91 86/94 -f 90/96 89/95 87/92 88/93 -f 92/98 91/97 89/95 90/96 -f 94/68 93/65 91/97 92/98 -f 96/67 95/66 93/65 94/68 -f 98/70 97/69 95/66 96/67 -f 100/72 99/71 97/69 98/70 -f 102/74 101/73 99/71 100/72 -f 104/76 103/75 101/73 102/74 -f 106/78 105/77 103/75 104/76 -f 108/80 107/79 105/77 106/78 -f 110/82 109/81 107/79 108/80 -f 60/171 75/172 111/173 61/174 -f 58/175 77/176 76/177 59/178 -f 71/179 121/180 122/181 72/182 -f 57/183 78/184 77/176 58/175 -f 59/178 76/177 75/172 60/171 -f 72/182 122/181 78/184 57/183 -f 70/185 120/186 121/180 71/179 -f 69/187 119/188 120/186 70/185 -f 68/189 118/190 119/188 69/187 -f 67/191 117/192 118/190 68/189 -f 66/136 116/135 117/192 67/191 -f 64/193 114/194 115/134 65/133 -f 63/195 113/196 114/194 64/193 -f 62/197 112/198 113/196 63/195 -f 61/174 111/173 112/199 62/200 diff --git a/mods/pipeworks/pipes.lua b/mods/pipeworks/pipes.lua deleted file mode 100755 index 3bfe4bf9..00000000 --- a/mods/pipeworks/pipes.lua +++ /dev/null @@ -1,222 +0,0 @@ --- This file supplies the steel pipes - -local REGISTER_COMPATIBILITY = true - -local pipes_empty_nodenames = {} -local pipes_full_nodenames = {} - -local vti = {4, 3, 2, 1, 6, 5} -local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}} -for index, connects in ipairs(cconnects) do - local outsel = {} - - local jx = 0 - local jy = 0 - local jz = 0 - for _, v in ipairs(connects) do - if v == 1 or v == 2 then - jx = jx + 1 - elseif v == 3 or v == 4 then - jy = jy + 1 - else - jz = jz + 1 - end - table.insert(outsel, pipeworks.pipe_selectboxes[v]) - end - - if #connects == 1 then - local v = connects[1] - v = v-1 + 2*(v%2) -- Opposite side - end - - local pgroups = {snappy = 3, pipe = 1, not_in_creative_inventory = 1} - local pipedesc = "Pipe segement".." "..dump(connects).."... You hacker, you." - local image = nil - - if #connects == 0 then - pgroups = {snappy = 3, tube = 1} - pipedesc = "Pipe segment" - image = "pipeworks_pipe_inv.png" - end - - local outimg_e = { "pipeworks_pipe_plain.png" } - local outimg_l = { "pipeworks_pipe_plain.png" } - - if index == 3 then - outimg_e = { "pipeworks_pipe_3_empty.png" } - outimg_l = { "pipeworks_pipe_3_loaded.png" } - end - - local mesh = "pipeworks_pipe_"..index..".obj" - - if index == 1 then - mesh = "pipeworks_pipe_3.obj" - end - - minetest.register_node("pipeworks:pipe_"..index.."_empty", { - description = pipedesc, - drawtype = "mesh", - mesh = mesh, - tiles = outimg_e, - sunlight_propagates = true, - inventory_image = image, - wield_image = image, - paramtype = "light", - paramtype2 = "facedir", - selection_box = { - type = "fixed", - fixed = outsel - }, - collision_box = { - type = "fixed", - fixed = outsel - }, - groups = pgroups, - sounds = default.node_sound_wood_defaults(), - walkable = true, - drop = "pipeworks:pipe_1_empty", - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end - }) - - local pgroups = {snappy = 3, pipe = 1, not_in_creative_inventory = 1} - - minetest.register_node("pipeworks:pipe_"..index.."_loaded", { - description = pipedesc, - drawtype = "mesh", - mesh = mesh, - tiles = outimg_l, - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "facedir", - selection_box = { - type = "fixed", - fixed = outsel - }, - collision_box = { - type = "fixed", - fixed = outsel - }, - groups = pgroups, - sounds = default.node_sound_wood_defaults(), - walkable = true, - drop = "pipeworks:pipe_1_empty", - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - after_dig_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end - }) - - table.insert(pipes_empty_nodenames, "pipeworks:pipe_"..index.."_empty") - table.insert(pipes_full_nodenames, "pipeworks:pipe_"..index.."_loaded") -end - - - -if REGISTER_COMPATIBILITY then - local cempty = "pipeworks:pipe_compatibility_empty" - local cloaded = "pipeworks:pipe_compatibility_loaded" - minetest.register_node(cempty, { - drawtype = "airlike", - sunlight_propagates = true, - paramtype = "light", - inventory_image = "pipeworks_pipe_inv.png", - wield_image = "pipeworks_pipe_inv.png", - description = "Pipe Segment (legacy)", - groups = {not_in_creative_inventory = 1, pipe_to_update = 1}, - drop = "pipeworks:pipe_1_empty", - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - }) - minetest.register_node(cloaded, { - drawtype = "airlike", - sunlight_propagates = true, - paramtype = "light", - inventory_image = "pipeworks_pipe_inv.png", - groups = {not_in_creative_inventory = 1, pipe_to_update = 1}, - drop = "pipeworks:pipe_1_empty", - after_place_node = function(pos) - pipeworks.scan_for_pipe_objects(pos) - end, - }) - for xm = 0, 1 do - for xp = 0, 1 do - for ym = 0, 1 do - for yp = 0, 1 do - for zm = 0, 1 do - for zp = 0, 1 do - local pname = xm..xp..ym..yp..zm..zp - minetest.register_alias("pipeworks:pipe_"..pname.."_empty", cempty) - minetest.register_alias("pipeworks:pipe_"..pname.."_loaded", cloaded) - end - end - end - end - end - end - minetest.register_abm({ - nodenames = {"group:pipe_to_update"}, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local minp = {x = pos.x-1, y = pos.y-1, z = pos.z-1} - local maxp = {x = pos.x+1, y = pos.y+1, z = pos.z+1} - if table.getn(minetest.find_nodes_in_area(minp, maxp, "ignore")) == 0 then - pipeworks.scan_for_pipe_objects(pos) - end - end - }) -end - -table.insert(pipes_empty_nodenames,"pipeworks:valve_on_empty") -table.insert(pipes_empty_nodenames,"pipeworks:valve_off_empty") -table.insert(pipes_empty_nodenames,"pipeworks:entry_panel_empty") -table.insert(pipes_empty_nodenames,"pipeworks:flow_sensor_empty") - -table.insert(pipes_full_nodenames,"pipeworks:valve_on_loaded") -table.insert(pipes_full_nodenames,"pipeworks:entry_panel_loaded") -table.insert(pipes_full_nodenames,"pipeworks:flow_sensor_loaded") - -minetest.register_abm({ - nodenames = pipes_empty_nodenames, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - pipeworks.check_for_inflows(pos,node) - end -}) - -minetest.register_abm({ - nodenames = pipes_full_nodenames, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - pipeworks.check_sources(pos,node) - end -}) - -minetest.register_abm({ - nodenames = {"pipeworks:spigot","pipeworks:spigot_pouring"}, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - pipeworks.spigot_check(pos,node) - end -}) - -minetest.register_abm({ - nodenames = {"pipeworks:fountainhead","pipeworks:fountainhead_pouring"}, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - pipeworks.fountainhead_check(pos,node) - end -}) - diff --git a/mods/pipeworks/routing_tubes.lua b/mods/pipeworks/routing_tubes.lua deleted file mode 100755 index 8620d20f..00000000 --- a/mods/pipeworks/routing_tubes.lua +++ /dev/null @@ -1,119 +0,0 @@ --- the default tube and default textures -pipeworks.register_tube("pipeworks:tube", "Pneumatic tube segment") -minetest.register_craft( { - output = "pipeworks:tube_1 6", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "", "", "" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, -}) - --- the high priority tube is a low-cpu replacement for sorting tubes in situations --- where players would use them for simple routing (turning off paths) --- without doing actual sorting, like at outputs of tubedevices that might both accept and eject items -if pipeworks.enable_priority_tube then - local color = "#ff3030:128" - pipeworks.register_tube("pipeworks:priority_tube", { - description = "High Priority Tube Segment", - inventory_image = "pipeworks_tube_inv.png^[colorize:" .. color, - plain = { "pipeworks_tube_plain.png^[colorize:" .. color }, - noctr = { "pipeworks_tube_noctr.png^[colorize:" .. color }, - ends = { "pipeworks_tube_end.png^[colorize:" .. color }, - short = "pipeworks_tube_short.png^[colorize:" .. color, - node_def = { - tube = { priority = 150 } -- higher than tubedevices (100) - }, - }) - minetest.register_craft( { - output = "pipeworks:priority_tube_1 6", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "default:gold_ingot", "", "default:gold_ingot" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) -end - -if pipeworks.enable_accelerator_tube then - pipeworks.register_tube("pipeworks:accelerator_tube", { - description = "Accelerating Pneumatic Tube Segment", - inventory_image = "pipeworks_accelerator_tube_inv.png", - plain = { "pipeworks_accelerator_tube_plain.png" }, - noctr = { "pipeworks_accelerator_tube_noctr.png" }, - ends = { "pipeworks_accelerator_tube_end.png" }, - short = "pipeworks_accelerator_tube_short.png", - node_def = { - tube = {can_go = function(pos, node, velocity, stack) - velocity.speed = velocity.speed+1 - return pipeworks.notvel(pipeworks.meseadjlist, velocity) - end} - }, - }) - minetest.register_craft( { - output = "pipeworks:accelerator_tube_1 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "default:mese_crystal_fragment", "default:steel_ingot", "default:mese_crystal_fragment" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) -end - -if pipeworks.enable_crossing_tube then - pipeworks.register_tube("pipeworks:crossing_tube", { - description = "Crossing Pneumatic Tube Segment", - inventory_image = "pipeworks_crossing_tube_inv.png", - plain = { "pipeworks_crossing_tube_plain.png" }, - noctr = { "pipeworks_crossing_tube_noctr.png" }, - ends = { "pipeworks_crossing_tube_end.png" }, - short = "pipeworks_crossing_tube_short.png", - node_def = { - tube = {can_go = function(pos, node, velocity, stack) return {velocity} end } - }, - }) - minetest.register_craft( { - output = "pipeworks:crossing_tube_1 5", - recipe = { - { "", "pipeworks:tube_1", "" }, - { "pipeworks:tube_1", "pipeworks:tube_1", "pipeworks:tube_1" }, - { "", "pipeworks:tube_1", "" } - }, - }) -end - -if pipeworks.enable_one_way_tube then - minetest.register_node("pipeworks:one_way_tube", { - description = "One way tube", - tiles = {"pipeworks_one_way_tube_top.png", "pipeworks_one_way_tube_top.png", "pipeworks_one_way_tube_output.png", - "pipeworks_one_way_tube_input.png", "pipeworks_one_way_tube_side.png", "pipeworks_one_way_tube_top.png"}, - paramtype2 = "facedir", - drawtype = "nodebox", - paramtype = "light", - node_box = {type = "fixed", - fixed = {{-1/2, -9/64, -9/64, 1/2, 9/64, 9/64}}}, - groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, tubedevice = 1}, - sounds = default.node_sound_wood_defaults(), - tube = { - connect_sides = {left = 1, right = 1}, - can_go = function(pos, node, velocity, stack) - return {velocity} - end, - can_insert = function(pos, node, stack, direction) - local dir = minetest.facedir_to_right_dir(node.param2) - return vector.equals(dir, direction) - end, - priority = 75 -- Higher than normal tubes, but lower than receivers - }, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig, - }) - minetest.register_craft({ - output = "pipeworks:one_way_tube 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) -end diff --git a/mods/pipeworks/screenshot.png b/mods/pipeworks/screenshot.png deleted file mode 100644 index 686d9556..00000000 Binary files a/mods/pipeworks/screenshot.png and /dev/null differ diff --git a/mods/pipeworks/signal_tubes.lua b/mods/pipeworks/signal_tubes.lua deleted file mode 100755 index 63c5120e..00000000 --- a/mods/pipeworks/signal_tubes.lua +++ /dev/null @@ -1,160 +0,0 @@ -if pipeworks.enable_detector_tube then - local detector_tube_step = 1 --MFF crabman(2/1/2016 bug,step too short) 2 * tonumber(minetest.setting_get("dedicated_server_step")) - pipeworks.register_tube("pipeworks:detector_tube_on", { - description = "Detecting Pneumatic Tube Segment on (you hacker you)", - inventory_image = "pipeworks_detector_tube_inv.png", - plain = { "pipeworks_detector_tube_plain.png" }, - node_def = { - tube = {can_go = function(pos, node, velocity, stack) - local meta = minetest.get_meta(pos) - local name = minetest.get_node(pos).name - local nitems = meta:get_int("nitems")+1 - meta:set_int("nitems", nitems) - local saved_pos = vector.new(pos) - minetest.after(detector_tube_step, minetest.registered_nodes[name].item_exit, saved_pos) - return pipeworks.notvel(pipeworks.meseadjlist,velocity) - end}, - groups = {mesecon = 2, not_in_creative_inventory = 1}, - drop = "pipeworks:detector_tube_off_1", - mesecons = {receptor = {state = "on", rules = pipeworks.mesecons_rules}}, - item_exit = function(pos) - local meta = minetest.get_meta(pos) - local nitems = meta:get_int("nitems")-1 - local node = minetest.get_node(pos) - local name = node.name - local fdir = node.param2 - if nitems == 0 then - minetest.set_node(pos, {name = string.gsub(name, "on", "off"), param2 = fdir}) - mesecon.receptor_off(pos, pipeworks.mesecons_rules) - else - meta:set_int("nitems", nitems) - end - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_int("nitems", 1) - local name = minetest.get_node(pos).name - local saved_pos = vector.new(pos) - minetest.after(detector_tube_step, minetest.registered_nodes[name].item_exit, saved_pos) - end, - }, - }) - pipeworks.register_tube("pipeworks:detector_tube_off", { - description = "Detecting Pneumatic Tube Segment", - inventory_image = "pipeworks_detector_tube_inv.png", - plain = { "pipeworks_detector_tube_plain.png" }, - node_def = { - tube = {can_go = function(pos, node, velocity, stack) - local node = minetest.get_node(pos) - local name = node.name - local fdir = node.param2 - minetest.set_node(pos,{name = string.gsub(name, "off", "on"), param2 = fdir}) - mesecon.receptor_on(pos, pipeworks.mesecons_rules) - return pipeworks.notvel(pipeworks.meseadjlist, velocity) - end}, - groups = {mesecon = 2}, - mesecons = {receptor = {state = "off", rules = pipeworks.mesecons_rules }}, - }, - }) - - minetest.register_craft( { - output = "pipeworks:detector_tube_off_1 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "mesecons:mesecon", "mesecons_materials:silicon", "mesecons:mesecon" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) -end - -if minetest.get_modpath("digilines") and pipeworks.enable_digiline_detector_tube then - pipeworks.register_tube("pipeworks:digiline_detector_tube", { - description = "Digiline Detecting Pneumatic Tube Segment", - inventory_image = "pipeworks_digiline_detector_tube_inv.png", - plain = { "pipeworks_digiline_detector_tube_plain.png" }, - node_def = { - tube = {can_go = function(pos, node, velocity, stack) - local meta = minetest.get_meta(pos) - - local setchan = meta:get_string("channel") - - digiline:receptor_send(pos, digiline.rules.default, setchan, stack:to_string()) - - return pipeworks.notvel(pipeworks.meseadjlist, velocity) - end}, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8.6,2.2]".. - "field[0.6,0.6;8,1;channel;Channel:;${channel}]".. - "image[0.3,1.3;1,1;pipeworks_digiline_detector_tube_inv.png]".. - "label[1.6,1.2;Digiline Detecting Tube]" - ) - end, - on_receive_fields = function(pos, formname, fields, sender) - if fields.channel then - minetest.get_meta(pos):set_string("channel", fields.channel) - end - end, - groups = {}, - digiline = { - receptor = {}, - effector = { - action = function(pos,node,channel,msg) end - } - }, - }, - }) - - minetest.register_craft( { - output = "pipeworks:digiline_detector_tube_1 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "digilines:wire_std_00000000", "mesecons_materials:silicon", "digilines:wire_std_00000000" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) -end - -if pipeworks.enable_conductor_tube then - pipeworks.register_tube("pipeworks:conductor_tube_off", { - description = "Conducting Pneumatic Tube Segment", - inventory_image = "pipeworks_conductor_tube_inv.png", - short = "pipeworks_conductor_tube_short.png", - plain = { "pipeworks_conductor_tube_plain.png" }, - noctr = { "pipeworks_conductor_tube_noctr.png" }, - ends = { "pipeworks_conductor_tube_end.png" }, - node_def = { - groups = {mesecon = 2}, - mesecons = {conductor = {state = "off", - rules = pipeworks.mesecons_rules, - onstate = "pipeworks:conductor_tube_on_#id"}} - }, - }) - pipeworks.register_tube("pipeworks:conductor_tube_on", { - description = "Conducting Pneumatic Tube Segment on (you hacker you)", - inventory_image = "pipeworks_conductor_tube_inv.png", - short = "pipeworks_conductor_tube_short.png", - plain = { "pipeworks_conductor_tube_on_plain.png" }, - noctr = { "pipeworks_conductor_tube_on_noctr.png" }, - ends = { "pipeworks_conductor_tube_on_end.png" }, - node_def = { - groups = {mesecon = 2, not_in_creative_inventory = 1}, - drop = "pipeworks:conductor_tube_off_1", - mesecons = {conductor = {state = "on", - rules = pipeworks.mesecons_rules, - offstate = "pipeworks:conductor_tube_off_#id"}} - }, - }) - - minetest.register_craft( { - output = "pipeworks:conductor_tube_off_1 6", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "mesecons:mesecon", "mesecons:mesecon", "mesecons:mesecon" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) -end - - diff --git a/mods/pipeworks/sorting_tubes.lua b/mods/pipeworks/sorting_tubes.lua deleted file mode 100755 index 6d432ae3..00000000 --- a/mods/pipeworks/sorting_tubes.lua +++ /dev/null @@ -1,148 +0,0 @@ -if pipeworks.enable_mese_tube then - local function update_formspec(pos) - local meta = minetest.get_meta(pos) - local old_formspec = meta:get_string("formspec") - if string.find(old_formspec, "button1") then -- Old version - local inv = meta:get_inventory() - for i = 1, 6 do - for _, stack in ipairs(inv:get_list("line"..i)) do - minetest.add_item(pos, stack) - end - end - end - local buttons_formspec = "" - for i = 0, 5 do - buttons_formspec = buttons_formspec .. fs_helpers.cycling_button(meta, - "image_button[7,"..(i)..";1,1", "l"..(i+1).."s", - {{text="",texture="pipeworks_button_off.png", addopts="false;false;pipeworks_button_interm.png"}, {text="",texture="pipeworks_button_on.png", addopts="false;false;pipeworks_button_interm.png"}}) - end - meta:set_string("formspec", - "size[8,11]".. - "list[context;line1;1,0;6,1;]".. - "list[context;line2;1,1;6,1;]".. - "list[context;line3;1,2;6,1;]".. - "list[context;line4;1,3;6,1;]".. - "list[context;line5;1,4;6,1;]".. - "list[context;line6;1,5;6,1;]".. - "image[0,0;1,1;pipeworks_white.png]".. - "image[0,1;1,1;pipeworks_black.png]".. - "image[0,2;1,1;pipeworks_green.png]".. - "image[0,3;1,1;pipeworks_yellow.png]".. - "image[0,4;1,1;pipeworks_blue.png]".. - "image[0,5;1,1;pipeworks_red.png]".. - buttons_formspec.. - "list[current_player;main;0,7;8,4;]") - end - - pipeworks.register_tube("pipeworks:mese_tube", { - description = "Sorting Pneumatic Tube Segment", - inventory_image = "pipeworks_mese_tube_inv.png", - noctr = {"pipeworks_mese_tube_noctr_1.png", "pipeworks_mese_tube_noctr_2.png", "pipeworks_mese_tube_noctr_3.png", - "pipeworks_mese_tube_noctr_4.png", "pipeworks_mese_tube_noctr_5.png", "pipeworks_mese_tube_noctr_6.png"}, - plain = {"pipeworks_mese_tube_plain_1.png", "pipeworks_mese_tube_plain_2.png", "pipeworks_mese_tube_plain_3.png", - "pipeworks_mese_tube_plain_4.png", "pipeworks_mese_tube_plain_5.png", "pipeworks_mese_tube_plain_6.png"}, - ends = { "pipeworks_mese_tube_end.png" }, - short = "pipeworks_mese_tube_short.png", - no_facedir = true, -- Must use old tubes, since the textures are rotated with 6d ones - node_def = { - tube = {can_go = function(pos, node, velocity, stack) - local tbl, tbln = {}, 0 - local found, foundn = {}, 0 - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local name = stack:get_name() - for i, vect in ipairs(pipeworks.meseadjlist) do - local npos = vector.add(pos, vect) - local node = minetest.get_node(npos) - local reg_node = minetest.registered_nodes[node.name] - if meta:get_int("l"..i.."s") == 1 and reg_node then - local tube_def = reg_node.tube - if not tube_def or not tube_def.can_insert or - tube_def.can_insert(npos, node, stack, vect) then - local invname = "line"..i - local is_empty = true - for _, st in ipairs(inv:get_list(invname)) do - if not st:is_empty() then - is_empty = false - if st:get_name() == name then - foundn = foundn + 1 - found[foundn] = vect - end - end - end - if is_empty then - tbln = tbln + 1 - tbl[tbln] = vect - end - end - end - end - return (foundn > 0) and found or tbl - end}, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - for i = 1, 6 do - meta:set_int("l"..tostring(i).."s", 1) - inv:set_size("line"..tostring(i), 6*1) - end - update_formspec(pos) - meta:set_string("infotext", "Sorting pneumatic tube") - end, - on_punch = update_formspec, - on_receive_fields = function(pos, formname, fields, sender) - if not pipeworks.may_configure(pos, sender) then return end - fs_helpers.on_receive_fields(pos, fields) - update_formspec(pos) - end, - can_dig = function(pos, player) - update_formspec(pos) -- so non-virtual items would be dropped for old tubes - return true - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then return 0 end - update_formspec(pos) -- For old tubes - local inv = minetest.get_meta(pos):get_inventory() - local stack_copy = ItemStack(stack) - stack_copy:set_count(1) - inv:set_stack(listname, index, stack_copy) - return 0 - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then return 0 end - update_formspec(pos) -- For old tubes - local inv = minetest.get_meta(pos):get_inventory() - inv:set_stack(listname, index, ItemStack("")) - return 0 - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - if not pipeworks.may_configure(pos, player) then return 0 end - update_formspec(pos) -- For old tubes - local inv = minetest.get_meta(pos):get_inventory() - inv:set_stack(from_list, from_index, ItemStack("")) - return 0 - end, - }, - }) - - minetest.register_craft( { - output = "pipeworks:mese_tube_000000 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "", "default:mese_crystal", "" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) - - minetest.register_craft( { - type = "shapeless", - output = "pipeworks:mese_tube_000000", - recipe = { - "pipeworks:tube_1", - "default:mese_crystal_fragment", - "default:mese_crystal_fragment", - "default:mese_crystal_fragment", - "default:mese_crystal_fragment" - }, - }) -end diff --git a/mods/pipeworks/teleport_tube.lua b/mods/pipeworks/teleport_tube.lua deleted file mode 100755 index f9b03281..00000000 --- a/mods/pipeworks/teleport_tube.lua +++ /dev/null @@ -1,242 +0,0 @@ -local filename=minetest.get_worldpath() .. "/teleport_tubes" - -local tp_tube_db = nil -- nil forces a read -local tp_tube_db_version = 2.0 - -local function hash(pos) - return string.format("%d", minetest.hash_node_position(pos)) -end - -local function save_tube_db() - local file, err = io.open(filename, "w") - if file then - tp_tube_db.version = tp_tube_db_version - file:write(minetest.serialize(tp_tube_db)) - tp_tube_db.version = nil - io.close(file) - else - error(err) - end -end - -local function migrate_tube_db() - local tmp_db = {} - tp_tube_db.version = nil - for key, val in pairs(tp_tube_db) do - if(val.channel ~= "") then -- skip unconfigured tubes - tmp_db[hash(val)] = val - end - end - tp_tube_db = tmp_db - save_tube_db() -end - -local function read_tube_db() - local file = io.open(filename, "r") - if file ~= nil then - local file_content = file:read("*all") - io.close(file) - - if file_content and file_content ~= "" then - tp_tube_db = minetest.deserialize(file_content) - if(not tp_tube_db.version or tonumber(tp_tube_db.version) < tp_tube_db_version) then - migrate_tube_db() - end - tp_tube_db.version = nil -- we add it back when saving - return tp_tube_db -- we read sucessfully - end - end - tp_tube_db = {} - return tp_tube_db -end - --- updates or adds a tube -local function set_tube(pos, channel, can_receive) - local tubes = tp_tube_db or read_tube_db() - local hash = hash(pos) - local tube = tubes[hash] - if tube then - tube.channel = channel - tube.cr = can_receive - save_tube_db() - return - end - - -- we haven't found any tp tube to update, so lets add it - tp_tube_db[hash] = {x=pos.x,y=pos.y,z=pos.z,channel=channel,cr=can_receive} - save_tube_db() -end - -local function remove_tube(pos) - local tubes = tp_tube_db or read_tube_db() - tubes[hash(pos)] = nil - save_tube_db() -end - -local function read_node_with_vm(pos) - local vm = VoxelManip() - local MinEdge, MaxEdge = vm:read_from_map(pos, pos) - local data = vm:get_data() - local area = VoxelArea:new({MinEdge = MinEdge, MaxEdge = MaxEdge}) - return minetest.get_name_from_content_id(data[area:index(pos.x, pos.y, pos.z)]) -end - -local function get_receivers(pos, channel) - local tubes = tp_tube_db or read_tube_db() - local receivers = {} - local dirty = false - for key, val in pairs(tubes) do - -- skip all non-receivers and the tube that it came from as early as possible, as this is called often - if (val.cr == 1 and val.channel == channel and (val.x ~= pos.x or val.y ~= pos.y or val.z ~= pos.z)) then - local is_loaded = (minetest.get_node_or_nil(val) ~= nil) - local node_name = is_loaded and minetest.get_node(pos).name or read_node_with_vm(val) - - if minetest.registered_nodes[node_name] and minetest.registered_nodes[node_name].is_teleport_tube then - table.insert(receivers, val) - else - tp_tube_db[key] = nil - dirty = true - end - end - end - if dirty then - save_tube_db() - end - return receivers -end - -local function update_meta(meta, can_receive) - meta:set_int("can_receive", can_receive and 1 or 0) - local cr_state = can_receive and "on" or "off" - meta:set_string("formspec","size[8.6,2.2]".. - "field[0.6,0.6;7,1;channel;Channel:;${channel}]".. - "label[7.3,0;Receive]".. - "image_button[7.3,0.3;1,1;pipeworks_button_" .. cr_state .. ".png;cr" .. (can_receive and 0 or 1) .. ";;;false;pipeworks_button_interm.png]".. - "image[0.3,1.3;1,1;pipeworks_teleport_tube_inv.png]".. - "label[1.6,1.2;channels are public by default]" .. - "label[1.6,1.5;use : for fully private channels]" .. - "label[1.6,1.8;use \\; for private receivers]" .. - default.gui_bg.. - default.gui_bg_img) -end - -pipeworks.register_tube("pipeworks:teleport_tube", { - description = "Teleporting Pneumatic Tube Segment", - inventory_image = "pipeworks_teleport_tube_inv.png", - noctr = { "pipeworks_teleport_tube_noctr.png" }, - plain = { "pipeworks_teleport_tube_plain.png" }, - ends = { "pipeworks_teleport_tube_end.png" }, - short = "pipeworks_teleport_tube_short.png", - node_def = { - is_teleport_tube = true, - tube = { - can_go = function(pos,node,velocity,stack) - velocity.x = 0 - velocity.y = 0 - velocity.z = 0 - - local channel = minetest.get_meta(pos):get_string("channel") - if channel == "" then return {} end - - local target = get_receivers(pos, channel) - if target[1] == nil then return {} end - - local d = math.random(1,#target) - pos.x = target[d].x - pos.y = target[d].y - pos.z = target[d].z - return pipeworks.meseadjlist - end - }, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - update_meta(meta, true) - meta:set_string("infotext", "unconfigured Teleportation Tube") - end, - on_receive_fields = function(pos,formname,fields,sender) - if not fields.channel -- ignore escaping or clientside manipulation of the form - or not pipeworks.may_configure(pos, sender) then - return - end - local new_channel = tostring(fields.channel):trim() - - local meta = minetest.get_meta(pos) - local can_receive = meta:get_int("can_receive") - - -- check for private channels each time before actually changing anything - -- to not even allow switching between can_receive states of private channels - if new_channel ~= "" then - local sender_name = sender:get_player_name() - local name, mode = new_channel:match("^([^:;]+)([:;])") - if name and mode and name ~= sender_name then - --channels starting with '[name]:' can only be used by the named player - if mode == ":" then - minetest.chat_send_player(sender_name, "Sorry, channel '"..new_channel.."' is reserved for exclusive use by "..name) - return - - --channels starting with '[name];' can be used by other players, but cannot be received from - elseif mode == ";" and (fields.cr1 or (can_receive ~= 0 and not fields.cr0)) then - minetest.chat_send_player(sender_name, "Sorry, receiving from channel '"..new_channel.."' is reserved for "..name) - return - end - end - end - - local dirty = false - - -- was the channel changed? - local channel = meta:get_string("channel") - if new_channel ~= channel then - channel = new_channel - meta:set_string("channel", channel) - dirty = true - end - - -- test if a can_receive button was pressed - if fields.cr0 and can_receive ~= 0 then - can_receive = 0 - update_meta(meta, false) - dirty = true - elseif fields.cr1 and can_receive ~= 1 then - can_receive = 1 - update_meta(meta, true) - dirty = true - end - - -- save if we changed something, handle the empty channel while we're at it - if dirty then - if channel ~= "" then - set_tube(pos, channel, can_receive) - local cr_description = (can_receive == 1) and "sending and receiving" or "sending" - meta:set_string("infotext", string.format("Teleportation Tube %s on '%s'", cr_description, channel)) - else - -- remove empty channel tubes, to not have to search through them - remove_tube(pos) - meta:set_string("infotext", "unconfigured Teleportation Tube") - end - end - end, - on_destruct = function(pos) - remove_tube(pos) - end - }, -}) -minetest.register_craft( { - output = "pipeworks:teleport_tube_1 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "default:desert_stone", "default:mese", "default:desert_stone" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, -}) - -if minetest.get_modpath("mesecons_mvps") ~= nil then - mesecon.register_on_mvps_move(function(moved_nodes) - for _, n in ipairs(moved_nodes) do - if string.find(n.node.name, "pipeworks:teleport_tube") ~= nil then - local meta = minetest.get_meta(n.pos) - set_tube(n.pos, meta:get_string("channel"), meta:get_int("can_receive")) - end - end - end) -end diff --git a/mods/pipeworks/textures/homedecor_oil_extract.png b/mods/pipeworks/textures/homedecor_oil_extract.png deleted file mode 100755 index 48e6dffd..00000000 Binary files a/mods/pipeworks/textures/homedecor_oil_extract.png and /dev/null differ diff --git a/mods/pipeworks/textures/homedecor_paraffin.png b/mods/pipeworks/textures/homedecor_paraffin.png deleted file mode 100755 index 77d2bbd1..00000000 Binary files a/mods/pipeworks/textures/homedecor_paraffin.png and /dev/null differ diff --git a/mods/pipeworks/textures/homedecor_plastic_sheeting.png b/mods/pipeworks/textures/homedecor_plastic_sheeting.png deleted file mode 100755 index 034dcc2f..00000000 Binary files a/mods/pipeworks/textures/homedecor_plastic_sheeting.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_end.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_end.png deleted file mode 100755 index 68391657..00000000 Binary files a/mods/pipeworks/textures/pipeworks_accelerator_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png deleted file mode 100755 index 743956a7..00000000 Binary files a/mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png deleted file mode 100755 index fa0daa6c..00000000 Binary files a/mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png deleted file mode 100755 index 8256d05e..00000000 Binary files a/mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_short.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_short.png deleted file mode 100755 index 1444b43d..00000000 Binary files a/mods/pipeworks/textures/pipeworks_accelerator_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_autocrafter.png b/mods/pipeworks/textures/pipeworks_autocrafter.png deleted file mode 100755 index 1643e825..00000000 Binary files a/mods/pipeworks/textures/pipeworks_autocrafter.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_black.png b/mods/pipeworks/textures/pipeworks_black.png deleted file mode 100755 index 34afad80..00000000 Binary files a/mods/pipeworks/textures/pipeworks_black.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_blue.png b/mods/pipeworks/textures/pipeworks_blue.png deleted file mode 100755 index 64c8a6f8..00000000 Binary files a/mods/pipeworks/textures/pipeworks_blue.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_button_interm.png b/mods/pipeworks/textures/pipeworks_button_interm.png deleted file mode 100755 index 47320ced..00000000 Binary files a/mods/pipeworks/textures/pipeworks_button_interm.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_button_off.png b/mods/pipeworks/textures/pipeworks_button_off.png deleted file mode 100755 index 319fc6ea..00000000 Binary files a/mods/pipeworks/textures/pipeworks_button_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_button_on.png b/mods/pipeworks/textures/pipeworks_button_on.png deleted file mode 100755 index a9884cf8..00000000 Binary files a/mods/pipeworks/textures/pipeworks_button_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_end.png b/mods/pipeworks/textures/pipeworks_conductor_tube_end.png deleted file mode 100755 index 59426621..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_inv.png b/mods/pipeworks/textures/pipeworks_conductor_tube_inv.png deleted file mode 100755 index 63239374..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_noctr.png b/mods/pipeworks/textures/pipeworks_conductor_tube_noctr.png deleted file mode 100755 index f5e05016..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png b/mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png deleted file mode 100755 index 46d0e30c..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_on_noctr.png b/mods/pipeworks/textures/pipeworks_conductor_tube_on_noctr.png deleted file mode 100755 index 27d24838..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_on_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_on_plain.png b/mods/pipeworks/textures/pipeworks_conductor_tube_on_plain.png deleted file mode 100755 index c58eaf24..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_on_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_plain.png b/mods/pipeworks/textures/pipeworks_conductor_tube_plain.png deleted file mode 100755 index e0891ed6..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_short.png b/mods/pipeworks/textures/pipeworks_conductor_tube_short.png deleted file mode 100755 index 7ec809a6..00000000 Binary files a/mods/pipeworks/textures/pipeworks_conductor_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_end.png b/mods/pipeworks/textures/pipeworks_crossing_tube_end.png deleted file mode 100755 index 7b51ce31..00000000 Binary files a/mods/pipeworks/textures/pipeworks_crossing_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_inv.png b/mods/pipeworks/textures/pipeworks_crossing_tube_inv.png deleted file mode 100755 index 2ee350b5..00000000 Binary files a/mods/pipeworks/textures/pipeworks_crossing_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png b/mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png deleted file mode 100755 index fdef1be4..00000000 Binary files a/mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_plain.png b/mods/pipeworks/textures/pipeworks_crossing_tube_plain.png deleted file mode 100755 index 0ed695f1..00000000 Binary files a/mods/pipeworks/textures/pipeworks_crossing_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_short.png b/mods/pipeworks/textures/pipeworks_crossing_tube_short.png deleted file mode 100755 index ef191de7..00000000 Binary files a/mods/pipeworks/textures/pipeworks_crossing_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_back.png b/mods/pipeworks/textures/pipeworks_deployer_back.png deleted file mode 100755 index 4e08be38..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_back.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_bottom.png b/mods/pipeworks/textures/pipeworks_deployer_bottom.png deleted file mode 100755 index b5ebd436..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_bottom.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_front_off.png b/mods/pipeworks/textures/pipeworks_deployer_front_off.png deleted file mode 100755 index a314c8be..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_front_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_front_on.png b/mods/pipeworks/textures/pipeworks_deployer_front_on.png deleted file mode 100755 index a59a61e9..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_front_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_side.png b/mods/pipeworks/textures/pipeworks_deployer_side.png deleted file mode 100755 index 2527f6e6..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_side.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_side1.png b/mods/pipeworks/textures/pipeworks_deployer_side1.png deleted file mode 100755 index 2527f6e6..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_side1.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_side2.png b/mods/pipeworks/textures/pipeworks_deployer_side2.png deleted file mode 100755 index 032d471e..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_side2.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_deployer_top.png b/mods/pipeworks/textures/pipeworks_deployer_top.png deleted file mode 100755 index f3312126..00000000 Binary files a/mods/pipeworks/textures/pipeworks_deployer_top.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_end.png b/mods/pipeworks/textures/pipeworks_detector_tube_end.png deleted file mode 100755 index e9d01bae..00000000 Binary files a/mods/pipeworks/textures/pipeworks_detector_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_inv.png b/mods/pipeworks/textures/pipeworks_detector_tube_inv.png deleted file mode 100755 index 0e3b7d8f..00000000 Binary files a/mods/pipeworks/textures/pipeworks_detector_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_noctr.png b/mods/pipeworks/textures/pipeworks_detector_tube_noctr.png deleted file mode 100755 index 6f078863..00000000 Binary files a/mods/pipeworks/textures/pipeworks_detector_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_plain.png b/mods/pipeworks/textures/pipeworks_detector_tube_plain.png deleted file mode 100755 index 6a9845cf..00000000 Binary files a/mods/pipeworks/textures/pipeworks_detector_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_short.png b/mods/pipeworks/textures/pipeworks_detector_tube_short.png deleted file mode 100755 index 6729c532..00000000 Binary files a/mods/pipeworks/textures/pipeworks_detector_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_end.png b/mods/pipeworks/textures/pipeworks_digiline_detector_tube_end.png deleted file mode 100644 index e9d01bae..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_inv.png b/mods/pipeworks/textures/pipeworks_digiline_detector_tube_inv.png deleted file mode 100644 index 0ed763a1..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png b/mods/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png deleted file mode 100644 index 6f078863..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png b/mods/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png deleted file mode 100644 index 86ded6f9..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_short.png b/mods/pipeworks/textures/pipeworks_digiline_detector_tube_short.png deleted file mode 100644 index 6729c532..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_detector_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_filter_input.png b/mods/pipeworks/textures/pipeworks_digiline_filter_input.png deleted file mode 100644 index c1ffa53b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_filter_input.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_filter_output.png b/mods/pipeworks/textures/pipeworks_digiline_filter_output.png deleted file mode 100644 index 4c57d0ab..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_filter_output.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_filter_side.png b/mods/pipeworks/textures/pipeworks_digiline_filter_side.png deleted file mode 100644 index 6a778967..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_filter_side.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_digiline_filter_top.png b/mods/pipeworks/textures/pipeworks_digiline_filter_top.png deleted file mode 100644 index 04ffda01..00000000 Binary files a/mods/pipeworks/textures/pipeworks_digiline_filter_top.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_dispenser_back.png b/mods/pipeworks/textures/pipeworks_dispenser_back.png deleted file mode 100755 index ce447bd4..00000000 Binary files a/mods/pipeworks/textures/pipeworks_dispenser_back.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_dispenser_bottom.png b/mods/pipeworks/textures/pipeworks_dispenser_bottom.png deleted file mode 100755 index 16dc5847..00000000 Binary files a/mods/pipeworks/textures/pipeworks_dispenser_bottom.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_dispenser_front_off.png b/mods/pipeworks/textures/pipeworks_dispenser_front_off.png deleted file mode 100755 index b0c9e4a0..00000000 Binary files a/mods/pipeworks/textures/pipeworks_dispenser_front_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_dispenser_front_on.png b/mods/pipeworks/textures/pipeworks_dispenser_front_on.png deleted file mode 100755 index c9fff11e..00000000 Binary files a/mods/pipeworks/textures/pipeworks_dispenser_front_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_dispenser_side1.png b/mods/pipeworks/textures/pipeworks_dispenser_side1.png deleted file mode 100755 index bd178528..00000000 Binary files a/mods/pipeworks/textures/pipeworks_dispenser_side1.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_dispenser_side2.png b/mods/pipeworks/textures/pipeworks_dispenser_side2.png deleted file mode 100755 index 005d9a5e..00000000 Binary files a/mods/pipeworks/textures/pipeworks_dispenser_side2.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_dispenser_top.png b/mods/pipeworks/textures/pipeworks_dispenser_top.png deleted file mode 100755 index 7dd49adb..00000000 Binary files a/mods/pipeworks/textures/pipeworks_dispenser_top.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_entry_panel.png b/mods/pipeworks/textures/pipeworks_entry_panel.png deleted file mode 100755 index e7c6e763..00000000 Binary files a/mods/pipeworks/textures/pipeworks_entry_panel.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_filter_input.png b/mods/pipeworks/textures/pipeworks_filter_input.png deleted file mode 100755 index 187c4022..00000000 Binary files a/mods/pipeworks/textures/pipeworks_filter_input.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_filter_output.png b/mods/pipeworks/textures/pipeworks_filter_output.png deleted file mode 100755 index db7af086..00000000 Binary files a/mods/pipeworks/textures/pipeworks_filter_output.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_filter_side.png b/mods/pipeworks/textures/pipeworks_filter_side.png deleted file mode 100755 index be1577a7..00000000 Binary files a/mods/pipeworks/textures/pipeworks_filter_side.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_filter_top.png b/mods/pipeworks/textures/pipeworks_filter_top.png deleted file mode 100755 index 45b6b5a5..00000000 Binary files a/mods/pipeworks/textures/pipeworks_filter_top.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_flow_sensor_off.png b/mods/pipeworks/textures/pipeworks_flow_sensor_off.png deleted file mode 100755 index e08af06b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_flow_sensor_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_flow_sensor_on.png b/mods/pipeworks/textures/pipeworks_flow_sensor_on.png deleted file mode 100755 index da688634..00000000 Binary files a/mods/pipeworks/textures/pipeworks_flow_sensor_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_fountainhead.png b/mods/pipeworks/textures/pipeworks_fountainhead.png deleted file mode 100755 index 4affa696..00000000 Binary files a/mods/pipeworks/textures/pipeworks_fountainhead.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_grating_sides.png b/mods/pipeworks/textures/pipeworks_grating_sides.png deleted file mode 100755 index 28ce593b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_grating_sides.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_grating_top.png b/mods/pipeworks/textures/pipeworks_grating_top.png deleted file mode 100755 index 6e876fa5..00000000 Binary files a/mods/pipeworks/textures/pipeworks_grating_top.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_green.png b/mods/pipeworks/textures/pipeworks_green.png deleted file mode 100755 index 3f42f9f0..00000000 Binary files a/mods/pipeworks/textures/pipeworks_green.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_filter_input.png b/mods/pipeworks/textures/pipeworks_mese_filter_input.png deleted file mode 100755 index 58095d05..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_filter_input.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_filter_output.png b/mods/pipeworks/textures/pipeworks_mese_filter_output.png deleted file mode 100755 index a39e5a88..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_filter_output.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_filter_side.png b/mods/pipeworks/textures/pipeworks_mese_filter_side.png deleted file mode 100755 index 3438ce1b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_filter_side.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_filter_top.png b/mods/pipeworks/textures/pipeworks_mese_filter_top.png deleted file mode 100755 index aa4f67c0..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_filter_top.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_sand_tube_end.png b/mods/pipeworks/textures/pipeworks_mese_sand_tube_end.png deleted file mode 100755 index fa59f37c..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_sand_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_sand_tube_inv.png b/mods/pipeworks/textures/pipeworks_mese_sand_tube_inv.png deleted file mode 100755 index 8b1b5e1c..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_sand_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_sand_tube_noctr.png b/mods/pipeworks/textures/pipeworks_mese_sand_tube_noctr.png deleted file mode 100755 index f26f39d2..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_sand_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_sand_tube_plain.png b/mods/pipeworks/textures/pipeworks_mese_sand_tube_plain.png deleted file mode 100755 index 8a48599d..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_sand_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_sand_tube_short.png b/mods/pipeworks/textures/pipeworks_mese_sand_tube_short.png deleted file mode 100755 index 78ca710f..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_sand_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_end.png b/mods/pipeworks/textures/pipeworks_mese_tube_end.png deleted file mode 100755 index b47281a3..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_inv.png b/mods/pipeworks/textures/pipeworks_mese_tube_inv.png deleted file mode 100755 index 4b15ef98..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_1.png b/mods/pipeworks/textures/pipeworks_mese_tube_noctr_1.png deleted file mode 100755 index c9661a7a..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_1.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png b/mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png deleted file mode 100755 index ffe53b7c..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png b/mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png deleted file mode 100755 index b65c0e24..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png b/mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png deleted file mode 100755 index 278c7e85..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png b/mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png deleted file mode 100755 index 4b75ae22..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png b/mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png deleted file mode 100755 index e2bd483a..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_1.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_1.png deleted file mode 100755 index 47ce4ed8..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_plain_1.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png deleted file mode 100755 index 12d79665..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png deleted file mode 100755 index 4d3d415a..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png deleted file mode 100755 index f4c33702..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png deleted file mode 100755 index fbe8de00..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png b/mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png deleted file mode 100755 index 76b49e36..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_mese_tube_short.png b/mods/pipeworks/textures/pipeworks_mese_tube_short.png deleted file mode 100755 index fd12ccd3..00000000 Binary files a/mods/pipeworks/textures/pipeworks_mese_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_back.png b/mods/pipeworks/textures/pipeworks_nodebreaker_back.png deleted file mode 100755 index 3006cb76..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_back.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png deleted file mode 100755 index c7a48d44..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png b/mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png deleted file mode 100755 index e14ca32a..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png deleted file mode 100755 index 36a5a50b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_front_on.png b/mods/pipeworks/textures/pipeworks_nodebreaker_front_on.png deleted file mode 100755 index bf7fe702..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_front_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png deleted file mode 100755 index 30769faa..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png b/mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png deleted file mode 100755 index ff0a893c..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png deleted file mode 100755 index babb6812..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_side2_on.png b/mods/pipeworks/textures/pipeworks_nodebreaker_side2_on.png deleted file mode 100755 index ed0e12e0..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_side2_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png b/mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png deleted file mode 100755 index fb86b957..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_nodebreaker_top_on.png b/mods/pipeworks/textures/pipeworks_nodebreaker_top_on.png deleted file mode 100755 index 97da74d6..00000000 Binary files a/mods/pipeworks/textures/pipeworks_nodebreaker_top_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_one_way_tube_input.png b/mods/pipeworks/textures/pipeworks_one_way_tube_input.png deleted file mode 100755 index 8490858b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_one_way_tube_input.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_one_way_tube_output.png b/mods/pipeworks/textures/pipeworks_one_way_tube_output.png deleted file mode 100755 index 8490858b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_one_way_tube_output.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_one_way_tube_side.png b/mods/pipeworks/textures/pipeworks_one_way_tube_side.png deleted file mode 100755 index 9881be2c..00000000 Binary files a/mods/pipeworks/textures/pipeworks_one_way_tube_side.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_one_way_tube_top.png b/mods/pipeworks/textures/pipeworks_one_way_tube_top.png deleted file mode 100755 index 5ade4275..00000000 Binary files a/mods/pipeworks/textures/pipeworks_one_way_tube_top.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pane_embedded_tube_ends.png b/mods/pipeworks/textures/pipeworks_pane_embedded_tube_ends.png deleted file mode 100755 index 8c424a86..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pane_embedded_tube_ends.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pane_embedded_tube_sides.png b/mods/pipeworks/textures/pipeworks_pane_embedded_tube_sides.png deleted file mode 100755 index befe5250..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pane_embedded_tube_sides.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pipe_3_empty.png b/mods/pipeworks/textures/pipeworks_pipe_3_empty.png deleted file mode 100755 index f21f7374..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pipe_3_empty.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pipe_3_loaded.png b/mods/pipeworks/textures/pipeworks_pipe_3_loaded.png deleted file mode 100755 index c086e19a..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pipe_3_loaded.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pipe_inv.png b/mods/pipeworks/textures/pipeworks_pipe_inv.png deleted file mode 100755 index 0a17d0c0..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pipe_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pipe_plain.png b/mods/pipeworks/textures/pipeworks_pipe_plain.png deleted file mode 100755 index 50c91608..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pipe_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_plastic_sheeting.png b/mods/pipeworks/textures/pipeworks_plastic_sheeting.png deleted file mode 100755 index 3834df71..00000000 Binary files a/mods/pipeworks/textures/pipeworks_plastic_sheeting.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pump_off.png b/mods/pipeworks/textures/pipeworks_pump_off.png deleted file mode 100755 index 28d23113..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pump_off.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_pump_on.png b/mods/pipeworks/textures/pipeworks_pump_on.png deleted file mode 100755 index 50a8bbf4..00000000 Binary files a/mods/pipeworks/textures/pipeworks_pump_on.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_red.png b/mods/pipeworks/textures/pipeworks_red.png deleted file mode 100755 index 33812bda..00000000 Binary files a/mods/pipeworks/textures/pipeworks_red.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_end.png b/mods/pipeworks/textures/pipeworks_sand_tube_end.png deleted file mode 100755 index 8cccaf46..00000000 Binary files a/mods/pipeworks/textures/pipeworks_sand_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_inv.png b/mods/pipeworks/textures/pipeworks_sand_tube_inv.png deleted file mode 100755 index 3afb05da..00000000 Binary files a/mods/pipeworks/textures/pipeworks_sand_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_noctr.png b/mods/pipeworks/textures/pipeworks_sand_tube_noctr.png deleted file mode 100755 index a9c6d2d3..00000000 Binary files a/mods/pipeworks/textures/pipeworks_sand_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_plain.png b/mods/pipeworks/textures/pipeworks_sand_tube_plain.png deleted file mode 100755 index d6650818..00000000 Binary files a/mods/pipeworks/textures/pipeworks_sand_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_short.png b/mods/pipeworks/textures/pipeworks_sand_tube_short.png deleted file mode 100755 index 8dcf2b4f..00000000 Binary files a/mods/pipeworks/textures/pipeworks_sand_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_spigot.png b/mods/pipeworks/textures/pipeworks_spigot.png deleted file mode 100755 index ed336652..00000000 Binary files a/mods/pipeworks/textures/pipeworks_spigot.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_back.png b/mods/pipeworks/textures/pipeworks_storage_tank_back.png deleted file mode 100755 index 3b6a16bb..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_back.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_fittings.png b/mods/pipeworks/textures/pipeworks_storage_tank_fittings.png deleted file mode 100755 index f3b8b243..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_fittings.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_0.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_0.png deleted file mode 100755 index 72c6f6bb..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_0.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_1.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_1.png deleted file mode 100755 index 889893b1..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_1.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_10.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_10.png deleted file mode 100755 index f48a738d..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_10.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_2.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_2.png deleted file mode 100755 index a36bc240..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_2.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_3.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_3.png deleted file mode 100755 index 4575e37e..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_3.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_4.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_4.png deleted file mode 100755 index 47d9669e..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_4.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_5.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_5.png deleted file mode 100755 index 17eaf698..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_5.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_6.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_6.png deleted file mode 100755 index 77619e38..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_6.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_7.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_7.png deleted file mode 100755 index ffebf9ba..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_7.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_8.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_8.png deleted file mode 100755 index 4974a826..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_8.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_9.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_9.png deleted file mode 100755 index 87b6d79f..00000000 Binary files a/mods/pipeworks/textures/pipeworks_storage_tank_front_9.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_end.png b/mods/pipeworks/textures/pipeworks_teleport_tube_end.png deleted file mode 100755 index 7a27150f..00000000 Binary files a/mods/pipeworks/textures/pipeworks_teleport_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_inv.png b/mods/pipeworks/textures/pipeworks_teleport_tube_inv.png deleted file mode 100755 index d12b896b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_teleport_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png b/mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png deleted file mode 100755 index ac7364d3..00000000 Binary files a/mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_plain.png b/mods/pipeworks/textures/pipeworks_teleport_tube_plain.png deleted file mode 100755 index 0a859f20..00000000 Binary files a/mods/pipeworks/textures/pipeworks_teleport_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_short.png b/mods/pipeworks/textures/pipeworks_teleport_tube_short.png deleted file mode 100755 index f82d0826..00000000 Binary files a/mods/pipeworks/textures/pipeworks_teleport_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_testobject.png b/mods/pipeworks/textures/pipeworks_testobject.png deleted file mode 100755 index d54c0246..00000000 Binary files a/mods/pipeworks/textures/pipeworks_testobject.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_trashcan_bottom.png b/mods/pipeworks/textures/pipeworks_trashcan_bottom.png deleted file mode 100755 index 91fd944b..00000000 Binary files a/mods/pipeworks/textures/pipeworks_trashcan_bottom.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_trashcan_side.png b/mods/pipeworks/textures/pipeworks_trashcan_side.png deleted file mode 100755 index cf0a3bff..00000000 Binary files a/mods/pipeworks/textures/pipeworks_trashcan_side.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_connection_metallic.png b/mods/pipeworks/textures/pipeworks_tube_connection_metallic.png deleted file mode 100755 index 10becfe0..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_connection_metallic.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_connection_stony.png b/mods/pipeworks/textures/pipeworks_tube_connection_stony.png deleted file mode 100755 index 78a99798..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_connection_stony.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_connection_wooden.png b/mods/pipeworks/textures/pipeworks_tube_connection_wooden.png deleted file mode 100755 index 36548df9..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_connection_wooden.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_end.png b/mods/pipeworks/textures/pipeworks_tube_end.png deleted file mode 100755 index e9d01bae..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_end.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_inv.png b/mods/pipeworks/textures/pipeworks_tube_inv.png deleted file mode 100755 index 51c728d8..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_inv.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_noctr.png b/mods/pipeworks/textures/pipeworks_tube_noctr.png deleted file mode 100755 index 6f078863..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_noctr.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_plain.png b/mods/pipeworks/textures/pipeworks_tube_plain.png deleted file mode 100755 index 9d6442b2..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_plain.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_short.png b/mods/pipeworks/textures/pipeworks_tube_short.png deleted file mode 100755 index 6729c532..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_short.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_tube_transparent.png b/mods/pipeworks/textures/pipeworks_tube_transparent.png deleted file mode 100755 index 52a83483..00000000 Binary files a/mods/pipeworks/textures/pipeworks_tube_transparent.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_valve.png b/mods/pipeworks/textures/pipeworks_valve.png deleted file mode 100755 index d9ccae5a..00000000 Binary files a/mods/pipeworks/textures/pipeworks_valve.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_white.png b/mods/pipeworks/textures/pipeworks_white.png deleted file mode 100755 index faf0ec13..00000000 Binary files a/mods/pipeworks/textures/pipeworks_white.png and /dev/null differ diff --git a/mods/pipeworks/textures/pipeworks_yellow.png b/mods/pipeworks/textures/pipeworks_yellow.png deleted file mode 100755 index ce1af411..00000000 Binary files a/mods/pipeworks/textures/pipeworks_yellow.png and /dev/null differ diff --git a/mods/pipeworks/trashcan.lua b/mods/pipeworks/trashcan.lua deleted file mode 100755 index 35ea321b..00000000 --- a/mods/pipeworks/trashcan.lua +++ /dev/null @@ -1,49 +0,0 @@ -minetest.register_node("pipeworks:trashcan", { - description = "Trash Can", - drawtype = "normal", - tiles = { - "pipeworks_trashcan_bottom.png", - "pipeworks_trashcan_bottom.png", - "pipeworks_trashcan_side.png", - "pipeworks_trashcan_side.png", - "pipeworks_trashcan_side.png", - "pipeworks_trashcan_side.png", - }, - groups = {snappy = 3, tubedevice = 1, tubedevice_receiver = 1}, - tube = { - insert_object = function(pos, node, stack, direction) - return ItemStack("") - end, - connect_sides = {left = 1, right = 1, front = 1, back = 1, top = 1, bottom = 1}, - priority = 1, -- Lower than anything else - }, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,7]".. - "item_image[0,0;1,1;pipeworks:trashcan]".. - "label[1,0;Trash Can]".. - "list[context;trash;3.5,1;1,1;]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - default.get_hotbar_bg(0,3) .. - "list[current_player;main;0,3;8,4;]") - meta:set_string("infotext", "Trash Can") - meta:get_inventory():set_size("trash", 1) - end, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.get_meta(pos):get_inventory():set_stack(listname, index, ItemStack("")) - end, -}) - -minetest.register_craft({ - output = "pipeworks:trashcan", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "default:steel_ingot", "", "default:steel_ingot" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }, - }, -}) diff --git a/mods/pipeworks/tube_registration.lua b/mods/pipeworks/tube_registration.lua deleted file mode 100755 index 8f4803e2..00000000 --- a/mods/pipeworks/tube_registration.lua +++ /dev/null @@ -1,240 +0,0 @@ --- This file supplies the various kinds of pneumatic tubes - -local tubenodes = {} -pipeworks.tubenodes = tubenodes - -minetest.register_alias("pipeworks:tube", "pipeworks:tube_000000") - --- now, a function to define the tubes - -local REGISTER_COMPATIBILITY = true - -local vti = {4, 3, 2, 1, 6, 5} - -local default_noctrs = { "pipeworks_tube_noctr.png" } -local default_plain = { "pipeworks_tube_plain.png" } -local default_ends = { "pipeworks_tube_end.png" } - -local texture_mt = { - __index = function(table, key) - local size, idx = #table, tonumber(key) - if size > 0 then -- avoid endless loops with empty tables - while idx > size do idx = idx - size end - return table[idx] - end - end -} - -local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, ends, short, inv, special, connects, style) - noctrs = noctrs or default_noctrs - setmetatable(noctrs, texture_mt) - plain = plain or default_plain - setmetatable(plain, texture_mt) - ends = ends or default_ends - setmetatable(ends, texture_mt) - short = short or "pipeworks_tube_short.png" - inv = inv or "pipeworks_tube_inv.png" - - local outboxes = {} - local outsel = {} - local outimgs = {} - - for i = 1, 6 do - outimgs[vti[i]] = plain[i] - end - - for _, v in ipairs(connects) do - table.extend(outboxes, pipeworks.tube_boxes[v]) - table.insert(outsel, pipeworks.tube_selectboxes[v]) - outimgs[vti[v]] = noctrs[v] - end - - if #connects == 1 then - local v = connects[1] - v = v-1 + 2*(v%2) -- Opposite side - outimgs[vti[v]] = ends[v] - end - - local tgroups = {snappy = 3, tube = 1, tubedevice = 1, not_in_creative_inventory = 1} - local tubedesc = string.format("%s %s... You hacker, you.", desc, dump(connects)) - local iimg = plain[1] - local wscale = {x = 1, y = 1, z = 1} - - if #connects == 0 then - tgroups = {snappy = 3, tube = 1, tubedevice = 1} - tubedesc = desc - iimg=inv - outimgs = { - short, short, - ends[3],ends[4], - short, short - } - outboxes = { -24/64, -9/64, -9/64, 24/64, 9/64, 9/64 } - outsel = { -24/64, -10/64, -10/64, 24/64, 10/64, 10/64 } - wscale = {x = 1, y = 1, z = 0.01} - end - - local rname = string.format("%s_%s", name, tname) - table.insert(tubenodes, rname) - - local nodedef = { - description = tubedesc, - drawtype = "nodebox", - tiles = outimgs, - sunlight_propagates = true, - inventory_image = iimg, - wield_image = iimg, - wield_scale = wscale, - paramtype = "light", - selection_box = { - type = "fixed", - fixed = outsel - }, - node_box = { - type = "fixed", - fixed = outboxes - }, - groups = tgroups, - sounds = default.node_sound_wood_defaults(), - walkable = true, - stack_max = 99, - basename = name, - style = style, - drop = string.format("%s_%s", name, dropname), - tubelike = 1, - tube = { - connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}, - priority = 50 - }, - after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig - } - if style == "6d" then - nodedef.paramtype2 = "facedir" - end - - if special == nil then special = {} end - - for key, value in pairs(special) do - --if key == "after_dig_node" or key == "after_place_node" then - -- nodedef[key.."_"] = value - if key == "groups" then - for group, val in pairs(value) do - nodedef.groups[group] = val - end - elseif key == "tube" then - for key, val in pairs(value) do - nodedef.tube[key] = val - end - else - nodedef[key] = table.recursive_replace(value, "#id", tname) - end - end - - minetest.register_node(rname, nodedef) -end - -local register_all_tubes = function(name, desc, plain, noctrs, ends, short, inv, special, old_registration) - if old_registration then - for xm = 0, 1 do - for xp = 0, 1 do - for ym = 0, 1 do - for yp = 0, 1 do - for zm = 0, 1 do - for zp = 0, 1 do - local connects = {} - if xm == 1 then - connects[#connects+1] = 1 - end - if xp == 1 then - connects[#connects+1] = 2 - end - if ym == 1 then - connects[#connects+1] = 3 - end - if yp == 1 then - connects[#connects+1] = 4 - end - if zm == 1 then - connects[#connects+1] = 5 - end - if zp == 1 then - connects[#connects+1] = 6 - end - local tname = xm..xp..ym..yp..zm..zp - register_one_tube(name, tname, "000000", desc, plain, noctrs, ends, short, inv, special, connects, "old") - end - end - end - end - end - end - else - -- 6d tubes: uses only 10 nodes instead of 64, but the textures must be rotated - local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}} - for index, connects in ipairs(cconnects) do - register_one_tube(name, tostring(index), "1", desc, plain, noctrs, ends, short, inv, special, connects, "6d") - end - if REGISTER_COMPATIBILITY then - local cname = name.."_compatibility" - minetest.register_node(cname, { - drawtype = "airlike", - style = "6d", - basename = name, - inventory_image = inv, - wield_image = inv, - paramtype = "light", - sunlight_propagates = true, - description = "Pneumatic tube segment (legacy)", - after_place_node = pipeworks.after_place, - groups = {not_in_creative_inventory = 1, tube_to_update = 1, tube = 1}, - tube = {connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}}, - drop = name.."_1", - }) - table.insert(tubenodes, cname) - for xm = 0, 1 do - for xp = 0, 1 do - for ym = 0, 1 do - for yp = 0, 1 do - for zm = 0, 1 do - for zp = 0, 1 do - local tname = xm..xp..ym..yp..zm..zp - minetest.register_alias(name.."_"..tname, cname) - end - end - end - end - end - end - end - end -end - -pipeworks.register_tube = function(name, def, ...) - if type(def) == "table" then - register_all_tubes(name, def.description, - def.plain, def.noctr, def.ends, def.short, - def.inventory_image, def.node_def, def.no_facedir) - else - -- we assert to be the old function with the second parameter being the description - -- function(name, desc, plain, noctrs, ends, short, inv, special, old_registration) - assert(type(def) == "string", "invalid arguments to pipeworks.register_tube") - register_all_tubes(name, def, ...) - end -end - - -if REGISTER_COMPATIBILITY then - minetest.register_abm({ - nodenames = {"group:tube_to_update"}, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local minp = vector.subtract(pos, 1) - local maxp = vector.add(pos, 1) - if table.getn(minetest.find_nodes_in_area(minp, maxp, "ignore")) == 0 then - pipeworks.scan_for_tube_objects(pos) - end - end - }) -end diff --git a/mods/pipeworks/vacuum_tubes.lua b/mods/pipeworks/vacuum_tubes.lua deleted file mode 100755 index ce7f31be..00000000 --- a/mods/pipeworks/vacuum_tubes.lua +++ /dev/null @@ -1,129 +0,0 @@ -if pipeworks.enable_sand_tube then - pipeworks.register_tube("pipeworks:sand_tube", { - description = "Vacuuming Pneumatic Tube Segment", - inventory_image = "pipeworks_sand_tube_inv.png", - short = "pipeworks_sand_tube_short.png", - noctr = { "pipeworks_sand_tube_noctr.png" }, - plain = { "pipeworks_sand_tube_plain.png" }, - ends = { "pipeworks_sand_tube_end.png" }, - node_def = { groups = {vacuum_tube = 1}}, - }) - - minetest.register_craft( { - output = "pipeworks:sand_tube_1 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "group:sand", "group:sand", "group:sand" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) - - minetest.register_craft( { - output = "pipeworks:sand_tube_1", - recipe = { - { "group:sand", "pipeworks:tube_1", "group:sand" }, - }, - }) -end - -if pipeworks.enable_mese_sand_tube then - pipeworks.register_tube("pipeworks:mese_sand_tube", { - description = "Adjustable Vacuuming Pneumatic Tube Segment", - inventory_image = "pipeworks_mese_sand_tube_inv.png", - short = "pipeworks_mese_sand_tube_short.png", - noctr = { "pipeworks_mese_sand_tube_noctr.png" }, - plain = { "pipeworks_mese_sand_tube_plain.png" }, - ends = { "pipeworks_mese_sand_tube_end.png" }, - node_def = { - groups = {vacuum_tube = 1}, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_int("dist", 0) - meta:set_string("formspec", "size[2.1,0.8]".. - "image[0,0;1,1;pipeworks_mese_sand_tube_inv.png]".. - "field[1.3,0.4;1,1;dist;radius;${dist}]".. - default.gui_bg.. - default.gui_bg_img) - meta:set_string("infotext", "Adjustable Vacuuming Pneumatic Tube Segment") - end, - on_receive_fields = function(pos,formname,fields,sender) - if not pipeworks.may_configure(pos, sender) then return end - local meta = minetest.get_meta(pos) - local dist = tonumber(fields.dist) - if dist then - dist = math.max(0, dist) - dist = math.min(8, dist) - meta:set_int("dist", dist) - meta:set_string("infotext", ("Adjustable Vacuuming Pneumatic Tube Segment (%dm)"):format(dist)) - end - end, - }, - }) - - minetest.register_craft( { - output = "pipeworks:mese_sand_tube_1 2", - recipe = { - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }, - { "group:sand", "default:mese_crystal", "group:sand" }, - { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" } - }, - }) - - minetest.register_craft( { - type = "shapeless", - output = "pipeworks:mese_sand_tube_1", - recipe = { - "pipeworks:sand_tube_1", - "default:mese_crystal_fragment", - "default:mese_crystal_fragment", - "default:mese_crystal_fragment", - "default:mese_crystal_fragment" - }, - }) -end - -local sqrt_3 = math.sqrt(3) -local tube_inject_item = pipeworks.tube_inject_item -local get_objects_inside_radius = minetest.get_objects_inside_radius -local function vacuum(pos, radius) - radius = radius + 0.5 - -- Modification made by MFF to reduce lag - local max_items = 0 - for _, object in pairs(get_objects_inside_radius(pos, sqrt_3 * radius)) do - local lua_entity = object:get_luaentity() - if not object:is_player() and lua_entity and lua_entity.name == "__builtin:item" then - max_items = max_items + 1 - if max_items > 50 then - object:remove() - else - local obj_pos = object:getpos() - local x1, y1, z1 = pos.x, pos.y, pos.z - local x2, y2, z2 = obj_pos.x, obj_pos.y, obj_pos.z - - if x1 - radius <= x2 and x2 <= x1 + radius - and y1 - radius <= y2 and y2 <= y1 + radius - and z1 - radius <= z2 and z2 <= z1 + radius then - if lua_entity.itemstring ~= "" then - tube_inject_item(pos, pos, vector.new(0, 0, 0), lua_entity.itemstring) - lua_entity.itemstring = "" - end - object:remove() - end - end - end - end -end - -minetest.register_abm({nodenames = {"group:vacuum_tube"}, - interval = 4, - chance = 1, - label = "Vacuum tubes", - action = function(pos, node, active_object_count, active_object_count_wider) - if node.name:find("pipeworks:sand_tube") then - vacuum(pos, 2) - else - local radius = minetest.get_meta(pos):get_int("dist") - vacuum(pos, radius) - end - end -}) diff --git a/mods/pipeworks/wielder.lua b/mods/pipeworks/wielder.lua deleted file mode 100755 index 09719b29..00000000 --- a/mods/pipeworks/wielder.lua +++ /dev/null @@ -1,466 +0,0 @@ -local assumed_eye_pos = vector.new(0, 1.5, 0) - -local function vector_copy(v) - return { x = v.x, y = v.y, z = v.z } -end - -local function delay(x) - return (function() return x end) -end - -local function set_wielder_formspec(data, meta) - meta:set_string("formspec", - "invsize[8,"..(6+data.wield_inv_height)..";]".. - "item_image[0,0;1,1;"..data.name_base.."_off]".. - "label[1,0;"..minetest.formspec_escape(data.description).."]".. - "list[current_name;"..minetest.formspec_escape(data.wield_inv_name)..";"..((8-data.wield_inv_width)*0.5)..",1;"..data.wield_inv_width..","..data.wield_inv_height..";]".. - "list[current_player;main;0,"..(2+data.wield_inv_height)..";8,4;]") - meta:set_string("infotext", data.description) -end - -local function wielder_on(data, wielder_pos, wielder_node) - data.fixup_node(wielder_pos, wielder_node) - if wielder_node.name ~= data.name_base.."_off" then return end - wielder_node.name = data.name_base.."_on" - minetest.swap_node(wielder_pos, wielder_node) - nodeupdate(wielder_pos) - local wielder_meta = minetest.get_meta(wielder_pos) - local inv = wielder_meta:get_inventory() - local wield_inv_name = data.wield_inv_name - local wieldindex, wieldstack - for i, stack in ipairs(inv:get_list(wield_inv_name)) do - if not stack:is_empty() then - wieldindex = i - wieldstack = stack - break - end - end - if not wieldindex then - if not data.ghost_inv_name then return end - wield_inv_name = data.ghost_inv_name - inv:set_stack(wield_inv_name, 1, ItemStack(data.ghost_tool)) - wieldindex = 1 - wieldstack = inv:get_stack(wield_inv_name, 1) - end - local dir = minetest.facedir_to_dir(wielder_node.param2) - -- under/above is currently intentionally left switched - -- even though this causes some problems with deployers and e.g. seeds - -- as there are some issues related to nodebreakers otherwise breaking 2 nodes afar. - -- solidity would have to be checked as well, - -- but would open a whole can of worms related to difference in nodebreaker/deployer behavior - -- and the problems of wielders acting on themselves if below is solid - local under_pos = vector.subtract(wielder_pos, dir) - local above_pos = vector.subtract(under_pos, dir) - local pitch - local yaw - if dir.z < 0 then - yaw = 0 - pitch = 0 - elseif dir.z > 0 then - yaw = math.pi - pitch = 0 - elseif dir.x < 0 then - yaw = 3*math.pi/2 - pitch = 0 - elseif dir.x > 0 then - yaw = math.pi/2 - pitch = 0 - elseif dir.y > 0 then - yaw = 0 - pitch = -math.pi/2 - else - yaw = 0 - pitch = math.pi/2 - end - local virtplayer = { - get_inventory_formspec = delay(wielder_meta:get_string("formspec")), - get_look_dir = delay(vector.multiply(dir, -1)), - get_look_pitch = delay(pitch), - get_look_yaw = delay(yaw), - get_player_control = delay({ jump=false, right=false, left=false, LMB=false, RMB=false, sneak=data.sneak, aux1=false, down=false, up=false }), - get_player_control_bits = delay(data.sneak and 64 or 0), - get_player_name = delay(data.masquerade_as_owner and wielder_meta:get_string("owner") or ":pipeworks:"..minetest.pos_to_string(wielder_pos)), - is_player = delay(true), - is_fake_player = true, - set_inventory_formspec = delay(), - getpos = delay(vector.subtract(wielder_pos, assumed_eye_pos)), - get_hp = delay(20), - get_inventory = delay(inv), - get_wielded_item = delay(wieldstack), - get_wield_index = delay(wieldindex), - get_wield_list = delay(wield_inv_name), - moveto = delay(), - punch = delay(), - remove = delay(), - right_click = delay(), - setpos = delay(), - set_hp = delay(), - set_properties = delay(), - set_wielded_item = function(self, item) - wieldstack = item - inv:set_stack(wield_inv_name, wieldindex, item) - end, - set_animation = delay(), - set_attach = delay(), - set_detach = delay(), - set_bone_position = delay(), - hud_change = delay(), - get_breath = delay(11), - -- TODO "implement" all these - -- set_armor_groups - -- get_armor_groups - -- get_animation - -- get_attach - -- get_bone_position - -- get_properties - -- get_player_velocity - -- set_look_pitch - -- set_look_yaw - -- set_breath - -- set_physics_override - -- get_physics_override - -- hud_add - -- hud_remove - -- hud_get - -- hud_set_flags - -- hud_get_flags - -- hud_set_hotbar_itemcount - -- hud_get_hotbar_itemcount - -- hud_set_hotbar_image - -- hud_get_hotbar_image - -- hud_set_hotbar_selected_image - -- hud_get_hotbar_selected_image - -- hud_replace_builtin - -- set_sky - -- get_sky - -- override_day_night_ratio - -- get_day_night_ratio - -- set_local_animation - } - local pointed_thing = { type="node", under=under_pos, above=above_pos } - data.act(virtplayer, pointed_thing) - if data.eject_drops then - for i, stack in ipairs(inv:get_list("main")) do - if not stack:is_empty() then - pipeworks.tube_inject_item(wielder_pos, wielder_pos, dir, stack) - inv:set_stack("main", i, ItemStack("")) - end - end - end -end - -local function wielder_off(data, pos, node) - if node.name == data.name_base.."_on" then - node.name = data.name_base.."_off" - minetest.swap_node(pos, node) - nodeupdate(pos) - end -end - -local function register_wielder(data) - data.fixup_node = data.fixup_node or function (pos, node) end - data.fixup_oldmetadata = data.fixup_oldmetadata or function (m) return m end - for _, state in ipairs({ "off", "on" }) do - local groups = { snappy=2, choppy=2, oddly_breakable_by_hand=2, mesecon=2, tubedevice=1, tubedevice_receiver=1 } - if state == "on" then groups.not_in_creative_inventory = 1 end - local tile_images = {} - for _, face in ipairs({ "top", "bottom", "side2", "side1", "back", "front" }) do - table.insert(tile_images, data.texture_base.."_"..face..(data.texture_stateful[face] and "_"..state or "")..".png") - end - minetest.register_node(data.name_base.."_"..state, { - description = data.description, - tiles = tile_images, - mesecons = { - effector = { - rules = pipeworks.rules_all, - action_on = function (pos, node) - wielder_on(data, pos, node) - end, - action_off = function (pos, node) - wielder_off(data, pos, node) - end, - }, - }, - tube = { - can_insert = function(pos, node, stack, tubedir) - if not data.tube_permit_anteroposterior_insert then - local nodedir = minetest.facedir_to_dir(node.param2) - if vector.equals(tubedir, nodedir) or vector.equals(tubedir, vector.multiply(nodedir, -1)) then - return false - end - end - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item(data.wield_inv_name, stack) - end, - insert_object = function(pos, node, stack, tubedir) - if not data.tube_permit_anteroposterior_insert then - local nodedir = minetest.facedir_to_dir(node.param2) - if vector.equals(tubedir, nodedir) or vector.equals(tubedir, vector.multiply(nodedir, -1)) then - return stack - end - end - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:add_item(data.wield_inv_name, stack) - end, - input_inventory = data.wield_inv_name, - connect_sides = data.tube_connect_sides, - can_remove = function(pos, node, stack, tubedir) - return stack:get_count() - end, - }, - is_ground_content = true, - paramtype2 = "facedir", - tubelike = 1, - groups = groups, - sounds = default.node_sound_stone_defaults(), - drop = data.name_base.."_off", - on_construct = function(pos) - local meta = minetest.get_meta(pos) - set_wielder_formspec(data, meta) - local inv = meta:get_inventory() - inv:set_size(data.wield_inv_name, data.wield_inv_width*data.wield_inv_height) - if data.ghost_inv_name then - inv:set_size(data.ghost_inv_name, 1) - end - if data.eject_drops then - inv:set_size("main", 100) - end - end, - after_place_node = function (pos, placer) - pipeworks.scan_for_tube_objects(pos) - local placer_pos = placer:getpos() - if placer_pos and placer:is_player() then placer_pos = vector.add(placer_pos, assumed_eye_pos) end - if placer_pos then - local dir = vector.subtract(pos, placer_pos) - local node = minetest.get_node(pos) - node.param2 = minetest.dir_to_facedir(dir, true) - minetest.set_node(pos, node) - minetest.log("action", "real (6d) facedir: " .. node.param2) - end - minetest.get_meta(pos):set_string("owner", placer:get_player_name()) - end, - can_dig = (data.can_dig_nonempty_wield_inv and delay(true) or function(pos, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:is_empty(data.wield_inv_name) - end), - after_dig_node = function(pos, oldnode, oldmetadata, digger) - -- The legacy-node fixup is done here in a - -- different form from the standard fixup, - -- rather than relying on a standard fixup - -- in an on_dig callback, because some - -- non-standard diggers (such as technic's - -- mining drill) don't respect on_dig. - oldmetadata = data.fixup_oldmetadata(oldmetadata) - for _, stack in ipairs(oldmetadata.inventory[data.wield_inv_name] or {}) do - if not stack:is_empty() then - minetest.add_item(pos, stack) - end - end - pipeworks.scan_for_tube_objects(pos) - end, - on_punch = data.fixup_node, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then return 0 end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - if not pipeworks.may_configure(pos, player) then return 0 end - return stack:get_count() - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - if not pipeworks.may_configure(pos, player) then return 0 end - return count - end - }) - end -end - -if pipeworks.enable_node_breaker then - local data - data = { - name_base = "pipeworks:nodebreaker", - description = "Node Breaker", - texture_base = "pipeworks_nodebreaker", - texture_stateful = { top = true, bottom = true, side2 = true, side1 = true, front = true }, - tube_connect_sides = { top=1, bottom=1, left=1, right=1, back=1 }, - tube_permit_anteroposterior_insert = false, - wield_inv_name = "pick", - wield_inv_width = 1, - wield_inv_height = 1, - can_dig_nonempty_wield_inv = true, - ghost_inv_name = "ghost_pick", - ghost_tool = "default:pick_mese", - fixup_node = function (pos, node) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - -- Node breakers predating the visible pick slot - -- may have been partially updated. This code - -- fully updates them. Some have been observed - -- to have no pick slot at all; first add one. - if inv:get_size("pick") ~= 1 then - inv:set_size("pick", 1) - end - -- Originally, they had a ghost pick in a "pick" - -- inventory, no other inventory, and no form. - -- The partial update of early with-form node - -- breaker code gives them "ghost_pick" and "main" - -- inventories, but leaves the old ghost pick in - -- the "pick" inventory, and doesn't add a form. - -- First perform that partial update. - if inv:get_size("ghost_pick") ~= 1 then - inv:set_size("ghost_pick", 1) - inv:set_size("main", 100) - end - -- If the node breaker predates the visible pick - -- slot, which we can detect by it not having a - -- form, then the pick slot needs to be cleared - -- of the old ghost pick. - if (meta:get_string("formspec") or "") == "" then - inv:set_stack("pick", 1, ItemStack("")) - end - -- Finally, unconditionally set the formspec - -- and infotext. This not only makes the - -- pick slot visible for node breakers where - -- it wasn't before; it also updates the form - -- for node breakers that had an older version - -- of the form, and sets infotext where it was - -- missing for early with-form node breakers. - set_wielder_formspec(data, meta) - end, - fixup_oldmetadata = function (oldmetadata) - -- Node breakers predating the visible pick slot, - -- with node form, kept their ghost pick in an - -- inventory named "pick", the same name as the - -- later visible pick slot. The pick must be - -- removed to avoid spilling it. - if not oldmetadata.fields.formspec then - return { inventory = { pick = {} }, fields = oldmetadata.fields } - else - return oldmetadata - end - end, - masquerade_as_owner = true, - sneak = false, - act = function(virtplayer, pointed_thing) - local wieldstack = virtplayer:get_wielded_item() - local oldwieldstack = ItemStack(wieldstack) - local on_use = (minetest.registered_items[wieldstack:get_name()] or {}).on_use - if on_use then - wieldstack = on_use(wieldstack, virtplayer, pointed_thing) or wieldstack - virtplayer:set_wielded_item(wieldstack) - else - local under_node = minetest.get_node(pointed_thing.under) - local on_dig = (minetest.registered_nodes[under_node.name] or {on_dig=minetest.node_dig}).on_dig - on_dig(pointed_thing.under, under_node, virtplayer) - wieldstack = virtplayer:get_wielded_item() - end - local wieldname = wieldstack:get_name() - if wieldname == oldwieldstack:get_name() then - -- don't mechanically wear out tool - if wieldstack:get_count() == oldwieldstack:get_count() and - wieldstack:get_metadata() == oldwieldstack:get_metadata() and - ((minetest.registered_items[wieldstack:get_name()] or {}).wear_represents or "mechanical_wear") == "mechanical_wear" then - virtplayer:set_wielded_item(oldwieldstack) - end - elseif wieldname ~= "" then - -- tool got replaced by something else: - -- treat it as a drop - virtplayer:get_inventory():add_item("main", wieldstack) - virtplayer:set_wielded_item(ItemStack("")) - end - end, - eject_drops = true, - } - register_wielder(data) - minetest.register_craft({ - output = "pipeworks:nodebreaker_off", - recipe = { - { "group:wood", "default:pick_mese", "group:wood" }, - { "default:stone", "mesecons:piston", "default:stone" }, - { "default:stone", "mesecons:mesecon", "default:stone" }, - } - }) - -- aliases for when someone had technic installed, but then uninstalled it but not pipeworks - minetest.register_alias("technic:nodebreaker_off", "pipeworks:nodebreaker_off") - minetest.register_alias("technic:nodebreaker_on", "pipeworks:nodebreaker_on") - minetest.register_alias("technic:node_breaker_off", "pipeworks:nodebreaker_off") - minetest.register_alias("technic:node_breaker_on", "pipeworks:nodebreaker_on") - -- turn legacy auto-tree-taps into node breakers - dofile(pipeworks.modpath.."/legacy.lua") -end - -if pipeworks.enable_deployer then - register_wielder({ - name_base = "pipeworks:deployer", - description = "Deployer", - texture_base = "pipeworks_deployer", - texture_stateful = { front = true }, - tube_connect_sides = { back=1 }, - tube_permit_anteroposterior_insert = true, - wield_inv_name = "main", - wield_inv_width = 3, - wield_inv_height = 3, - can_dig_nonempty_wield_inv = false, - masquerade_as_owner = true, - sneak = false, - act = function(virtplayer, pointed_thing) - local wieldstack = virtplayer:get_wielded_item() - if not minetest.setting_getbool("creative_mode") then - virtplayer:set_wielded_item((minetest.registered_items[wieldstack:get_name()] or {on_place=minetest.item_place}).on_place(wieldstack, virtplayer, pointed_thing) or wieldstack) - else - local stack = (minetest.registered_items[wieldstack:get_name()] or {on_place=minetest.item_place}).on_place(wieldstack, virtplayer, pointed_thing) - if stack:get_name() ~= wieldstack:get_name() or stack:get_count() ~= wieldstack:get_count() then - virtplayer:set_wielded_item(stack) - else -- Manual decrease - wieldstack:take_item(1) - virtplayer:set_wielded_item(wieldstack) - end - end - end, - eject_drops = false, - }) - minetest.register_craft({ - output = "pipeworks:deployer_off", - recipe = { - { "group:wood", "default:chest", "group:wood" }, - { "default:stone", "mesecons:piston", "default:stone" }, - { "default:stone", "mesecons:mesecon", "default:stone" }, - } - }) - -- aliases for when someone had technic installed, but then uninstalled it but not pipeworks - minetest.register_alias("technic:deployer_off", "pipeworks:deployer_off") - minetest.register_alias("technic:deployer_on", "pipeworks:deployer_on") -end - -if pipeworks.enable_dispenser then - register_wielder({ - name_base = "pipeworks:dispenser", - description = "Dispenser", - texture_base = "pipeworks_dispenser", - texture_stateful = { front = true }, - tube_connect_sides = { back=1 }, - tube_permit_anteroposterior_insert = true, - wield_inv_name = "main", - wield_inv_width = 3, - wield_inv_height = 3, - can_dig_nonempty_wield_inv = false, - masquerade_as_owner = false, - sneak = true, - act = function(virtplayer, pointed_thing) - local wieldstack = virtplayer:get_wielded_item() - virtplayer:set_wielded_item((minetest.registered_items[wieldstack:get_name()] or {on_drop=minetest.item_drop}).on_drop(wieldstack, virtplayer, virtplayer:getpos()) or wieldstack) - end, - eject_drops = false, - }) - minetest.register_craft({ - output = "pipeworks:dispenser_off", - recipe = { - { "default:desert_sand", "default:chest", "default:desert_sand" }, - { "default:stone", "mesecons:piston", "default:stone" }, - { "default:stone", "mesecons:mesecon", "default:stone" }, - } - }) -end diff --git a/mods/player_physics b/mods/player_physics new file mode 160000 index 00000000..975b2e8f --- /dev/null +++ b/mods/player_physics @@ -0,0 +1 @@ +Subproject commit 975b2e8ff487ea35a1e3424e8ce0dc34931583e3 diff --git a/mods/unified_inventory/depends.txt b/mods/unified_inventory/depends.txt index b4e6fcde..3879b2ca 100755 --- a/mods/unified_inventory/depends.txt +++ b/mods/unified_inventory/depends.txt @@ -1,4 +1,3 @@ -h2omes creative? intllib? datastorage? diff --git a/mods/watershed/README.txt b/mods/watershed/README.txt deleted file mode 100755 index dfc706c8..00000000 --- a/mods/watershed/README.txt +++ /dev/null @@ -1,4 +0,0 @@ -watershed 0.7.1 by paramat, modified by the MinetestForFun Team. -For Minetest 0.4.13 and later -Depends default farming darkage -Licenses: WTFPL diff --git a/mods/watershed/depends.txt b/mods/watershed/depends.txt deleted file mode 100755 index 95289b27..00000000 --- a/mods/watershed/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -farming -darkage diff --git a/mods/watershed/functions.lua b/mods/watershed/functions.lua deleted file mode 100755 index 5aa795c1..00000000 --- a/mods/watershed/functions.lua +++ /dev/null @@ -1,285 +0,0 @@ ---[[ MFF: Prevent trees from destroying existing blocks - This is the list of "safe" blocks in which a tree can grow - They were moved outside the local safety function for speed (I hope) ---]] -local c_air = minetest.get_content_id("air") -local c_ignore = minetest.get_content_id("ignore") - --- MFF: The local function to do safety checks -local function safely_set_block(t, k, v) - if t[k] == c_air or t[k] == c_ignore then - t[k] = v - end -end - -function watershed_appletree(x, y, z, area, data) - local c_tree = minetest.get_content_id("default:tree") - local c_apple = minetest.get_content_id("default:apple") - local c_wsappleaf = minetest.get_content_id("watershed:appleleaf") - - -- MFF: Higher default tree with a bit of randomness - local tree_top = 5 + math.random(0, 1) - local leaves_height = tree_top - 1 - local branches_height = leaves_height - 1 - - for j = 0, tree_top do -- MFF: Higher tree, same design - if j >= leaves_height then - for i = -2, 2 do - for k = -2, 2 do - local vil = area:index(x + i, y + j, z + k) - if math.random(64) == 2 then - -- MFF: Prevent trees from destroying existing blocks - safely_set_block(data, vil, c_apple) - elseif math.random(5) ~= 2 then - -- MFF: Prevent trees from destroying existing blocks - safely_set_block(data, vil, c_wsappleaf) - end - end - end - elseif j == branches_height then - for i = -1, 1 do - for k = -1, 1 do - if math.abs(i) + math.abs(k) == 2 then - local vit = area:index(x + i, y + j, z + k) - -- MFF: Prevent trees from destroying existing blocks - safely_set_block(data, vit, c_tree) - end - end - end - else - local vit = area:index(x, y + j, z) - -- MFF: Prevent trees from destroying existing blocks - if j == 0 then - -- MFF: the position of the sapling itself, replace it without checking. - data[vit] = c_tree - else - safely_set_block(data, vit, c_tree) - end - end - end -end - -function watershed_pinetree(x, y, z, area, data) - local c_wspitree = minetest.get_content_id("watershed:pinetree") - local c_wsneedles = minetest.get_content_id("watershed:needles") - local c_snowblock = minetest.get_content_id("default:snowblock") - for j = 0, 14 do - if j == 3 or j == 6 or j == 9 or j == 12 then - for i = -2, 2 do - for k = -2, 2 do - if math.abs(i) == 2 or math.abs(k) == 2 then - if math.random(7) ~= 2 then - -- MFF: Prevent trees from destroying existing blocks - local vil = area:index(x + i, y + j, z + k) - safely_set_block(data, vil, c_wsneedles) - local vila = area:index(x + i, y + j + 1, z + k) - safely_set_block(data, vila, c_snowblock) - end - end - end - end - elseif j == 4 or j == 7 or j == 10 then - for i = -1, 1 do - for k = -1, 1 do - if not (i == 0 and j == 0) then - if math.random(11) ~= 2 then - -- MFF: Prevent trees from destroying existing blocks - local vil = area:index(x + i, y + j, z + k) - safely_set_block(data, vil, c_wsneedles) - local vila = area:index(x + i, y + j + 1, z + k) - safely_set_block(data, vila, c_snowblock) - end - end - end - end - elseif j == 13 then - for i = -1, 1 do - for k = -1, 1 do - if not (i == 0 and j == 0) then - -- MFF: Prevent trees from destroying existing blocks - local vil = area:index(x + i, y + j, z + k) - safely_set_block(data, vil,c_wsneedles) - local vila = area:index(x + i, y + j + 1, z + k) - safely_set_block(data, vila, c_wsneedles) - local vilaa = area:index(x + i, y + j + 2, z + k) - safely_set_block(data, vilaa, c_snowblock) - end - end - end - end - -- MFF: Prevent trees from destroying existing blocks - local vit = area:index(x, y + j, z) - if j == 0 then - data[vit] = c_wspitree -- No safety check for the sapling itself - else - safely_set_block(data, vit, c_wspitree) - end - end - local vil = area:index(x, y + 15, z) - local vila = area:index(x, y + 16, z) - local vilaa = area:index(x, y + 17, z) - -- MFF: Prevent trees from destroying existing blocks - safely_set_block(data, vil, c_wsneedles) - safely_set_block(data, vila, c_wsneedles) - safely_set_block(data, vilaa, c_snowblock) -end - -function watershed_jungletree(x, y, z, area, data) - local c_juntree = minetest.get_content_id("default:jungletree") - local c_wsjunleaf = minetest.get_content_id("watershed:jungleleaf") - local top = math.random(17,23) - local branch = math.floor(top * 0.6) - for j = 0, top do - if j == top or j == top - 1 or j == branch + 1 or j == branch + 2 then - for i = -2, 2 do -- leaves - for k = -2, 2 do - local vi = area:index(x + i, y + j, z + k) - if math.random(5) ~= 2 then - -- MFF: Prevent trees from destroying existing blocks - safely_set_block(data, vi, c_wsjunleaf) - end - end - end - elseif j == top - 2 or j == branch then -- branches - for i = -1, 1 do - for k = -1, 1 do - if math.abs(i) + math.abs(k) == 2 then - local vi = area:index(x + i, y + j, z + k) - -- MFF: Prevent trees from destroying existing blocks - safely_set_block(data, vi, c_juntree) - end - end - end - end - if j <= top - 3 then -- trunk - local vi = area:index(x, y + j, z) - -- MFF: Prevent trees from destroying existing blocks - if j == 0 then - data[vi] = c_juntree -- No safety check for the sapling itself - else - safely_set_block(data, vi, c_juntree) - end - end - end -end - -function watershed_acaciatree(x, y, z, area, data) - local c_sapling = minetest.get_content_id("moretrees:acacia_sapling_ongen") - local vi = area:index(x, y, z) - data[vi] = c_sapling -end - -function watershed_flower(data, vi, noise) - local c_danwhi = minetest.get_content_id("flowers:dandelion_white") - local c_danyel = minetest.get_content_id("flowers:dandelion_yellow") - local c_rose = minetest.get_content_id("flowers:rose") - local c_tulip = minetest.get_content_id("flowers:tulip") - local c_geranium = minetest.get_content_id("flowers:geranium") - local c_viola = minetest.get_content_id("flowers:viola") - if noise > 0.8 then - data[vi] = c_danwhi - elseif noise > 0.4 then - data[vi] = c_rose - elseif noise > 0 then - data[vi] = c_tulip - elseif noise > -0.4 then - data[vi] = c_danyel - elseif noise > -0.8 then - data[vi] = c_geranium - else - data[vi] = c_viola - end -end - -function watershed_cactus(x, y, z, area, data) - local c_wscactus = minetest.get_content_id("watershed:cactus") - for j = 0, 4 do - for i = -2, 2 do - if i == 0 or j == 2 or (j == 3 and math.abs(i) == 2) then - local vic = area:index(x + i, y + j, z) - data[vic] = c_wscactus - end - end - end -end - -function watershed_papyrus(x, y, z, area, data) - local c_papyrus = minetest.get_content_id("default:papyrus") - local ph = math.random(1, 4) - for j = 0, ph do - local vip = area:index(x, y + j, z) - data[vip] = c_papyrus - end -end - --- Singlenode option - -local SINGLENODE = true - -if SINGLENODE then - -- Set mapgen parameters - - minetest.set_mapgen_params({mgname="singlenode", flags="nolight"}) - - -- Spawn player function is useless in minetestforfun -end - --- Appletree sapling - - function default.grow_tree(pos) - local x = pos.x - local y = pos.y - local z = pos.z - local vm = minetest.get_voxel_manip() - local pos1 = {x = x - 2, y = y - 2, z = z - 2} - local pos2 = {x = x + 2, y = y + 4, z = z + 2} - local emin, emax = vm:read_from_map(pos1, pos2) - local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax}) - local data = vm:get_data() - watershed_appletree(x, y, z, area, data) - vm:set_data(data) - vm:write_to_map() - vm:update_map() - end - --- Pine sapling - - function default.grow_pine_tree(pos) - local x = pos.x - local y = pos.y - local z = pos.z - local vm = minetest.get_voxel_manip() - local pos1 = {x = x - 2, y = y - 4, z = z - 2} - local pos2 = {x = x + 2, y = y + 17, z = z + 2} - local emin, emax = vm:read_from_map(pos1, pos2) - local area = VoxelArea:new({MinEdge=emin, MaxEdge=emax}) - local data = vm:get_data() - watershed_pinetree(x, y, z, area, data) - vm:set_data(data) - vm:write_to_map() - vm:update_map() - end - --- Acacia sapling is already defined in Moretrees - --- Jungletree sapling - - function default.grow_jungle_tree(pos) - local x = pos.x - local y = pos.y - local z = pos.z - local vm = minetest.get_voxel_manip() - local pos1 = {x = x - 2, y = y - 5, z = z - 2} - local pos2 = {x = x + 2, y = y + 23, z = z + 2} - local emin, emax = vm:read_from_map(pos1, pos2) - local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax}) - local data = vm:get_data() - watershed_jungletree(x, y, z, area, data) - vm:set_data(data) - vm:write_to_map() - vm:update_map() - end - -default.grow_new_apple_tree = default.grow_tree -default.grow_new_jungle_tree = default.grow_jungle_tree -default.grow_new_pine_tree = default.grow_pine_tree diff --git a/mods/watershed/init.lua b/mods/watershed/init.lua deleted file mode 100755 index 5746e509..00000000 --- a/mods/watershed/init.lua +++ /dev/null @@ -1,782 +0,0 @@ --- Parameters - -local YMIN = -33000 -- Approximate base of realm stone -local YMAX = 33000 -- Approximate top of atmosphere / mountains / floatlands -local TERCEN = -128 -- Terrain zero level, average seabed -local YWAT = 1 -- Sea surface y -local YSAV = 5 -- Average sandline y, dune grasses above this -local SAMP = 3 -- Sandline amplitude -local YCLOMIN = 207 -- Minimum height of mod clouds -local CLOUDS = true -- Mod clouds? - -local TERSCA = 512 -- Vertical terrain scale -local XLSAMP = 0.1 -- Extra large scale height variation amplitude -local BASAMP = 0.3 -- Base terrain amplitude -local MIDAMP = 0.1 -- Mid terrain amplitude -local CANAMP = 0.4 -- Canyon terrain maximum amplitude -local ATANAMP = 1.1 -- Arctan function amplitude, - -- smaller = more and larger floatlands above ridges -local BLENEXP = 2 -- Terrain blend exponent - -local TSTONE = 0.02 -- Density threshold for stone, depth of soil at TERCEN -local TRIVER = -0.028 -- Densitybase threshold for river surface -local TRSAND = -0.035 -- Densitybase threshold for river sand -local TSTREAM = -0.004 -- Densitymid threshold for stream surface -local TSSAND = -0.005 -- Densitymid threshold for stream sand -local TLAVA = 2 -- Maximum densitybase threshold for lava, - -- small because grad is non-linear -local TFIS = 0.01 -- Fissure threshold, controls width -local TSEAM = 0.2 -- Seam threshold, width of seams -local ORESCA = 512 -- Seam system vertical scale -local ORETHI = 0.002 -- Ore seam thickness tuner -local BERGDEP = 32 -- Maximum iceberg depth -local TFOG = -0.04 -- Fog top densitymid threshold - -local biomeparams = { - HITET = 0.35, -- High temperature threshold - LOTET = -0.35, -- Low .. - ICETET = -0.7, -- Ice .. - HIHUT = 0.35, -- High humidity threshold - LOHUT = -0.35, -- Low .. - BLEND = 0.02, -- Biome blend randomness -} - -local flora = { - PINCHA = 36, -- Pine tree 1/x chance per node - APTCHA = 36, -- Appletree - FLOCHA = 289, -- Flower - GRACHA = 36, -- Grassland grasses - JUTCHA = 16, -- Jungletree - JUGCHA = 16, -- Junglegrass - CACCHA = 800, -- Cactus - CACCHA_DRYGRASS = 1600, - DRYCHA = 150, -- Dry shrub - ACACHA = 1369, -- Acacia tree - GOGCHA = 9, -- Golden grass - PAPCHA = 4, -- Papyrus - DUGCHA = 16, -- Dune grass -} - -local np = { --- pack it in a single table to avoid "function has more than 60 upvalues" - --- 3D noises - --- 3D noise for terrain - -terrain = { - offset = 0, - scale = 1, - spread = {x = 384, y = 192, z = 384}, - seed = 593, - octaves = 5, - persist = 0.67 -}, - --- 3D noise for fissures - -fissure = { - offset = 0, - scale = 1, - spread = {x = 256, y = 512, z = 256}, - seed = 20099, - octaves = 5, - persist = 0.5 -}, - --- 3D noise for ore seam networks - -seam = { - offset = 0, - scale = 1, - spread = {x = 512, y = 512, z = 512}, - seed = -992221, - octaves = 2, - persist = 0.5 -}, - --- 3D noise for rock strata inclination - -strata = { - offset = 0, - scale = 1, - spread = {x = 512, y = 512, z = 512}, - seed = 92219, - octaves = 3, - persist = 0.5 -}, - --- 3D noises for caves, from Valleys Mapgen mod by Gael-de-Sailly - -cave1 = { - offset = 0, - scale = 1, - spread = {x = 32, y = 32, z = 32}, - seed = -4640, - octaves = 4, - persist = 0.5 -}, - -cave2 = { - offset = 0, - scale = 1, - seed = 8804, - spread = {x = 32, y = 32, z = 32}, - octaves = 4, - persist = 0.5 -}, - -cave3 = { - offset = 0, - scale = 1, - seed = -4780, - spread = {x = 32, y = 32, z = 32}, - octaves = 4, - persist = 0.5 -}, - -cave4 = { - offset = 0, - scale = 1, - seed = -9969, - spread = {x = 32, y = 32, z = 32}, - octaves = 4, - persist = 0.5 -}, - --- 2D noises - --- 2D noise for mid terrain / streambed height - -mid = { - offset = 0, - scale = 1, - spread = {x = 768, y = 768, z = 768}, - seed = 85546, - octaves = 5, - persist = 0.5 -}, - --- 2D noise for base terrain / riverbed height - -base = { - offset = 0, - scale = 1, - spread = {x = 1024, y = 1024, z = 1024}, - seed = 8890, - octaves = 3, - persist = 0.33 -}, - --- 2D noise for extra large scale height variation - -xlscale = { - offset = 0, - scale = 1, - spread = {x = 4096, y = 4096, z = 4096}, - seed = -72, - octaves = 3, - persist = 0.33 -}, - --- 2D noise for magma surface - -magma = { - offset = 0, - scale = 1, - spread = {x = 128, y = 128, z = 128}, - seed = -13, - octaves = 2, - persist = 0.5 -}, - --- 2D noise for temperature, the same than in Plantlife and Snowdrift - -temp = { - offset = 0, - scale = 1, - spread = {x = 256, y = 256, z = 256}, - seed = 112, - octaves = 3, - persist = 0.5 -}, - --- 2D noise for humidity - -humid = { - offset = 0, - scale = 1, - spread = {x = 256, y = 256, z = 256}, - seed = 72384, - octaves = 4, - persist = 0.66 -}, - -} - --- Do files - -dofile(minetest.get_modpath("watershed") .. "/nodes.lua") -dofile(minetest.get_modpath("watershed") .. "/functions.lua") - --- Initialize 3D and 2D noise objects to nil - -local nobj_terrain = nil -local nobj_fissure = nil -local nobj_temp = nil -local nobj_humid = nil -local nobj_seam = nil -local nobj_strata = nil - -local nobj_cave1 = nil -local nobj_cave2 = nil -local nobj_cave3 = nil -local nobj_cave4 = nil - -local nobj_mid = nil -local nobj_base = nil -local nobj_xlscale = nil -local nobj_magma = nil - - --- Localise noise buffers - -local nbuf_terrain -local nbuf_fissure -local nbuf_temp -local nbuf_humid -local nbuf_seam -local nbuf_strata - -local nbuf_cave1 -local nbuf_cave2 -local nbuf_cave3 -local nbuf_cave4 - -local nbuf_mid -local nbuf_base -local nbuf_xlscale -local nbuf_magma - - --- Mapchunk generation function - -local global_seed -function watershed_chunkgen(x0, y0, z0, x1, y1, z1, area, data) - local c_air = minetest.get_content_id("air") - local c_ignore = minetest.get_content_id("ignore") - local c_water = minetest.get_content_id("default:water_source") - local c_sand = minetest.get_content_id("default:sand") - local c_desand = minetest.get_content_id("default:desert_sand") - local c_snowblock = minetest.get_content_id("default:snowblock") - local c_ice = minetest.get_content_id("default:ice") - local c_dirtsnow = minetest.get_content_id("default:dirt_with_snow") - local c_jungrass = minetest.get_content_id("default:junglegrass") - local c_dryshrub = minetest.get_content_id("default:dry_shrub") - local c_danwhi = minetest.get_content_id("flowers:dandelion_white") - local c_danyel = minetest.get_content_id("flowers:dandelion_yellow") - local c_rose = minetest.get_content_id("flowers:rose") - local c_tulip = minetest.get_content_id("flowers:tulip") - local c_geranium = minetest.get_content_id("flowers:geranium") - local c_viola = minetest.get_content_id("flowers:viola") - local c_stodiam = minetest.get_content_id("default:stone_with_diamond") - local c_mese = minetest.get_content_id("default:mese") - local c_stogold = minetest.get_content_id("default:stone_with_gold") - local c_stocopp = minetest.get_content_id("default:stone_with_copper") - local c_stoiron = minetest.get_content_id("default:stone_with_iron") - local c_stocoal = minetest.get_content_id("default:stone_with_coal") - local c_sandstone = minetest.get_content_id("default:sandstone") - local c_gravel = minetest.get_content_id("default:gravel") - local c_clay = minetest.get_content_id("default:clay") - local c_grass5 = minetest.get_content_id("default:grass_5") - local c_obsidian = minetest.get_content_id("default:obsidian") - - local c_wsfreshwater = minetest.get_content_id("watershed:freshwater") - local c_wsstone = minetest.get_content_id("watershed:stone") - local c_wsredstone = minetest.get_content_id("watershed:redstone") - local c_wsgrass = minetest.get_content_id("watershed:grass") - local c_wsdrygrass = minetest.get_content_id("watershed:drygrass") - local c_wsgoldengrass = minetest.get_content_id("watershed:goldengrass") - local c_wsdirt = minetest.get_content_id("watershed:dirt") - local c_wspermafrost = minetest.get_content_id("watershed:permafrost") - local c_wslava = minetest.get_content_id("watershed:lava") - local c_wsfreshice = minetest.get_content_id("watershed:freshice") - local c_wscloud = minetest.get_content_id("air") -- disable clouds - local c_wsicydirt = minetest.get_content_id("watershed:icydirt") - - -- perlinmap stuff - local sidelen = x1 - x0 + 1 - local sqr_sidelen = sidelen ^ 2 - local chulensxyz = {x = sidelen, y = sidelen + 2, z = sidelen} - local chulensxz = {x = sidelen, y = sidelen, z = 1} - local minposxyz = {x = x0, y = y0 - 1, z = z0} - local minposxz = {x = x0, y = z0} - - -- 3D and 2D noise objects created once on first mapchunk generation only - nobj_terrain = nobj_terrain or minetest.get_perlin_map(np.terrain, chulensxyz) - nobj_fissure = nobj_fissure or minetest.get_perlin_map(np.fissure, chulensxyz) - nobj_temp = nobj_temp or minetest.get_perlin_map(np.temp, chulensxyz) - nobj_humid = nobj_humid or minetest.get_perlin_map(np.humid, chulensxyz) - nobj_seam = nobj_seam or minetest.get_perlin_map(np.seam, chulensxyz) - nobj_strata = nobj_strata or minetest.get_perlin_map(np.strata, chulensxyz) - - nobj_cave1 = nobj_cave1 or minetest.get_perlin_map(np.cave1, chulensxyz) - nobj_cave2 = nobj_cave2 or minetest.get_perlin_map(np.cave2, chulensxyz) - nobj_cave3 = nobj_cave3 or minetest.get_perlin_map(np.cave3, chulensxyz) - nobj_cave4 = nobj_cave4 or minetest.get_perlin_map(np.cave4, chulensxyz) - - nobj_mid = nobj_mid or minetest.get_perlin_map(np.mid, chulensxz) - nobj_base = nobj_base or minetest.get_perlin_map(np.base, chulensxz) - nobj_xlscale = nobj_xlscale or minetest.get_perlin_map(np.xlscale, chulensxz) - nobj_magma = nobj_magma or minetest.get_perlin_map(np.magma, chulensxz) - - -- 3D and 2D perlinmaps created per mapchunk - local nvals_terrain = nobj_terrain:get3dMap_flat(minposxyz) - local nvals_fissure = nobj_fissure:get3dMap_flat(minposxyz) - local nvals_temp = nobj_temp :get2dMap_flat(minposxz) - local nvals_humid = nobj_humid :get2dMap_flat(minposxz) - local nvals_seam = nobj_seam :get3dMap_flat(minposxyz) - local nvals_strata = nobj_strata :get3dMap_flat(minposxyz) - - local nvals_cave1 = nobj_cave1 :get3dMap_flat(minposxyz) - local nvals_cave2 = nobj_cave2 :get3dMap_flat(minposxyz) - local nvals_cave3 = nobj_cave3 :get3dMap_flat(minposxyz) - local nvals_cave4 = nobj_cave4 :get3dMap_flat(minposxyz) - - local nvals_mid = nobj_mid :get2dMap_flat(minposxz) - local nvals_base = nobj_base :get2dMap_flat(minposxz) - local nvals_xlscale = nobj_xlscale:get2dMap_flat(minposxz) - local nvals_magma = nobj_magma :get2dMap_flat(minposxz) - - -- ungenerated chunk below? - local viu = area:index(x0, y0 - 1, z0) - local ungen = data[viu] == c_ignore - - -- mapgen loop - local nixyz = 1 -- 3D and 2D perlinmap indexes - local nixz = 1 - local stable = {} -- stability table of true/false. - -- is node supported from below by 2 stone or nodes on 2 stone? - local under = {} -- biome table. - -- biome number of previous fine material placed in column - for z = z0, z1 do - for y = y0 - 1, y1 + 1 do - local vi = area:index(x0, y, z) - local viu = area:index(x0, y - 1, z) - for x = x0, x1 do - local si = x - x0 + 1 -- stable, under tables index - -- noise values for node - local n_absterrain = math.abs(nvals_terrain[nixyz]) - local n_fissure = nvals_fissure[nixyz] - local n_seam = nvals_seam[nixyz] - local n_strata = nvals_strata[nixyz] - local n_cave1 = nvals_cave1[nixyz] - local n_cave2 = nvals_cave2[nixyz] - local n_cave3 = nvals_cave3[nixyz] - local n_cave4 = nvals_cave4[nixyz] - - local n_absmid = math.abs(nvals_mid[nixz]) - local n_absbase = math.abs(nvals_base[nixz]) - local n_xlscale = nvals_xlscale[nixz] - local n_magma = nvals_magma[nixz] - local n_temp = nvals_temp[nixz] - local n_humid = nvals_humid[nixz] - -- get densities - local n_invbase = (1 - n_absbase) - local terblen = (math.max(n_invbase, 0)) ^ BLENEXP - local grad = math.atan((TERCEN - y) / TERSCA) * ATANAMP - local densitybase = n_invbase * BASAMP + n_xlscale * XLSAMP + grad - local densitymid = n_absmid * MIDAMP + densitybase - local canexp = 0.5 + terblen * 0.5 - local canamp = terblen * CANAMP - local density = n_absterrain ^ canexp * canamp * n_absmid + densitymid - -- other values - local triver = TRIVER * n_absbase -- river threshold - local trsand = TRSAND * n_absbase -- river sand - local tstream = TSTREAM * (1 - n_absmid) -- stream threshold - local tssand = TSSAND * (1 - n_absmid) -- stream sand - local tstone = TSTONE * (1 + grad) -- stone threshold - local tlava = TLAVA * (1 - n_magma ^ 4 * terblen ^ 16 * 0.6) -- lava threshold - local ysand = YSAV + n_fissure * SAMP + math.random() * 2 -- sandline - local bergdep = math.abs(n_seam) * BERGDEP -- iceberg depth - - local nofis = false -- set fissure bool - if math.abs(n_fissure) >= TFIS - and n_cave1 ^ 2 + n_cave2 ^ 2 + n_cave3 ^ 2 + n_cave4 ^ 2 >= 0.07 then -- from Valleys Mapgen - nofis = true - end - - local biome = false -- select biome for node - if n_temp < biomeparams.LOTET + - (math.random() - 0.5) * biomeparams.BLEND then - if n_humid < biomeparams.LOHUT + - (math.random() - 0.5) * biomeparams.BLEND then - biome = 1 -- tundra - elseif n_humid > biomeparams.HIHUT + - (math.random() - 0.5) * biomeparams.BLEND then - biome = 3 -- taiga - else - biome = 2 -- snowy plains - end - elseif n_temp > biomeparams.HITET + - (math.random() - 0.5) * biomeparams.BLEND then - if n_humid < biomeparams.LOHUT + - (math.random() - 0.5) * biomeparams.BLEND then - biome = 7 -- desert - elseif n_humid > biomeparams.HIHUT + - (math.random() - 0.5) * biomeparams.BLEND then - biome = 9 -- rainforest - else - biome = 8 -- savanna - end - else - if n_humid < biomeparams.LOHUT then - biome = 4 -- dry grassland - elseif n_humid > biomeparams.HIHUT then - biome = 6 -- deciduous forest - else - biome = 5 -- grassland - end - end - - -- overgeneration and in-chunk generation - if y == y0 - 1 then -- node layer below chunk, initialise tables - under[si] = 0 - if ungen then - if nofis and density >= 0 then -- if node solid - stable[si] = 2 - else - stable[si] = 0 - end - else -- scan top layer of chunk below - local nodid = data[vi] - if nodid == c_wsstone - or nodid == c_wsredstone - or nodid == c_wsdirt - or nodid == c_wspermafrost - or nodid == c_sand - or nodid == c_desand - or nodid == c_mese - or nodid == c_stodiam - or nodid == c_stogold - or nodid == c_stocopp - or nodid == c_stoiron - or nodid == c_stocoal - or nodid == c_sandstone - or nodid == c_gravel - or nodid == c_clay - or nodid == c_obsidian then - stable[si] = 2 - else - stable[si] = 0 - end - end - elseif y >= y0 and y <= y1 then -- chunk - -- add nodes and flora - if densitybase >= tlava then -- lava - if densitybase >= 0 then - data[vi] = c_wslava - end - stable[si] = 0 - under[si] = 0 - elseif densitybase >= tlava - math.min(0.6 + density * 6, 0.6) - and density < tstone then -- obsidian - data[vi] = c_obsidian - stable[si] = 1 - under[si] = 0 - elseif density >= tstone and nofis -- stone cut by fissures - or (density >= tstone and density < TSTONE * 1.2 and - y <= YWAT) -- stone around water - or (density >= tstone and density < TSTONE * 1.2 and - densitybase >= triver ) -- stone around river - or (density >= tstone and density < TSTONE * 1.2 and - densitymid >= tstream ) then -- stone around stream - local densitystr = n_strata * 0.25 + (TERCEN - y) / ORESCA - -- periodic strata 'density' - local densityper = densitystr - math.floor(densitystr) - if (densityper >= 0.05 and densityper <= 0.09) -- sandstone strata - or (densityper >= 0.25 and densityper <= 0.28) - or (densityper >= 0.45 and densityper <= 0.47) - or (densityper >= 0.74 and densityper <= 0.76) - or (densityper >= 0.77 and densityper <= 0.79) - or (densityper >= 0.84 and densityper <= 0.87) - or (densityper >= 0.95 and densityper <= 0.98) then - if y > -84 and (y >= -80 or math.random() > 0.5) then - data[vi] = c_sandstone - else - data[vi] = c_wsstone - end - elseif biome == 7 and density < TSTONE * 3 then - - -- desert stone as surface layer - data[vi] = c_wsredstone - elseif math.abs(n_seam) < TSEAM then - -- ore seams - - if densityper >= 0.55 and densityper <= 0.55 + ORETHI * 2 then - data[vi] = c_gravel - else - data[vi] = c_wsstone - end - else - data[vi] = c_wsstone - end - stable[si] = stable[si] + 1 - under[si] = 0 - -- fine materials - - elseif density >= 0 and density < tstone and stable[si] >= 2 then -- fine materials - if y == YWAT - 2 and math.abs(n_temp) < 0.05 then -- clay - data[vi] = c_clay - elseif y <= ysand then -- seabed/beach/dune sand not cut by fissures - data[vi] = c_sand - under[si] = 10 -- beach/dunes - elseif densitybase >= trsand + math.random() * 0.001 then -- river sand - data[vi] = c_sand - under[si] = 11 -- riverbank papyrus - elseif densitymid >= tssand + math.random() * 0.001 then -- stream sand - data[vi] = c_sand - under[si] = 0 - elseif nofis then -- fine materials cut by fissures - if biome == 1 then - data[vi] = c_wspermafrost - under[si] = 1 -- tundra - elseif biome == 2 then - data[vi] = c_wsdirt - under[si] = 2 -- snowy plains - elseif biome == 3 then - data[vi] = c_wsdirt - under[si] = 3 -- taiga - elseif biome == 4 then - data[vi] = c_wsdirt - under[si] = 4 -- dry grassland - elseif biome == 5 then - data[vi] = c_wsdirt - under[si] = 5 -- grassland - elseif biome == 6 then - data[vi] = c_wsdirt - under[si] = 6 -- forest - elseif biome == 7 then - data[vi] = c_desand - under[si] = 7 -- desert - elseif biome == 8 then - data[vi] = c_wsdirt - under[si] = 8 -- savanna - elseif biome == 9 then - data[vi] = c_wsdirt - under[si] = 9 -- rainforest - end - else -- fissure - stable[si] = 0 - under[si] = 0 - end - elseif y >= YWAT - bergdep and y <= YWAT + bergdep / 8 -- icesheet - and n_temp < biomeparams.ICETET and density < tstone - and nofis then - data[vi] = c_ice - under[si] = 12 - stable[si] = 0 - elseif y <= YWAT and density < tstone then -- sea water - data[vi] = c_water - under[si] = 0 - stable[si] = 0 - -- river water not in fissures - - elseif densitybase >= triver and density < tstone then - if n_temp < biomeparams.ICETET then - data[vi] = c_wsfreshice - else - data[vi] = c_wsfreshwater - end - stable[si] = 0 - under[si] = 0 - -- stream water not in fissures - - elseif densitymid >= tstream and density < tstone then - if n_temp < biomeparams.ICETET then - data[vi] = c_wsfreshice - else - data[vi] = c_wsfreshwater - end - stable[si] = 0 - under[si] = 0 - -- air above surface node - - elseif density < 0 and y >= YWAT and under[si] ~= 0 then - local fnoise = n_fissure -- noise for flower colours - if under[si] == 1 then - data[viu] = c_wsicydirt - if math.random(flora.DRYCHA) == 2 then - data[vi] = c_dryshrub - end - elseif under[si] == 2 then - data[viu] = c_dirtsnow - data[vi] = c_snowblock - elseif under[si] == 3 then - if math.random(flora.PINCHA) == 2 then - watershed_pinetree(x, y, z, area, data) - else - data[viu] = c_dirtsnow - data[vi] = c_snowblock - end - elseif under[si] == 4 then - data[viu] = c_wsdrygrass - if math.random(flora.CACCHA_DRYGRASS) == 2 then - watershed_cactus(x, y, z, area, data) - elseif math.random(flora.DRYCHA) == 2 then - data[vi] = c_dryshrub - end - elseif under[si] == 5 then - data[viu] = c_wsgrass - if math.random(flora.FLOCHA) == 2 then - watershed_flower(data, vi, fnoise) - elseif math.random(flora.GRACHA) == 2 then - data[vi] = c_grass5 - end - elseif under[si] == 6 then - if math.random(flora.APTCHA) == 2 then - watershed_appletree(x, y, z, area, data) - else - data[viu] = c_wsgrass - if math.random(flora.FLOCHA) == 2 then - watershed_flower(data, vi, fnoise) - elseif math.random(flora.GRACHA) == 2 then - data[vi] = c_grass5 - end - end - elseif under[si] == 7 and n_temp < biomeparams.HITET + 0.1 then - if math.random(flora.CACCHA) == 2 then - watershed_cactus(x, y, z, area, data) - elseif math.random(flora.DRYCHA) == 2 then - data[vi] = c_dryshrub - end - elseif under[si] == 8 then - if math.random(flora.ACACHA) == 2 then - watershed_acaciatree(x, y, z, area, data) - else - data[viu] = c_wsdrygrass - if math.random(flora.GOGCHA) == 2 then - data[vi] = c_wsgoldengrass - end - end - elseif under[si] == 9 then - if math.random(flora.JUTCHA) == 2 then - watershed_jungletree(x, y, z, area, data) - else - data[viu] = c_wsgrass - if math.random(flora.JUGCHA) == 2 then - data[vi] = c_jungrass - end - end - elseif under[si] == 10 then -- dunes - if math.random(flora.DUGCHA) == 2 and y > YSAV - and biome >= 4 then - data[vi] = c_wsgoldengrass - end - elseif under[si] == 11 and n_temp > biomeparams.HITET then -- hot biome riverbank - if math.random(flora.PAPCHA) == 2 then - watershed_papyrus(x, y, z, area, data) - end - -- snowy iceberg - elseif under[si] == 12 and n_humid > biomeparams.LOHUT + - (math.random() - 0.5) * biomeparams.BLEND then - data[vi] = c_snowblock - end - stable[si] = 0 - under[si] = 0 - else -- air - stable[si] = 0 - under[si] = 0 - end - elseif y == y1 + 1 then -- plane of nodes above chunk - if density < 0 and y >= YWAT and under[si] ~= 0 then -- if air above fine materials - if under[si] == 1 then -- add surface nodes to chunk top layer - data[viu] = c_wsicydirt - elseif under[si] == 2 then - data[viu] = c_dirtsnow - data[vi] = c_snowblock -- snowblocks in chunk above - elseif under[si] == 3 then - data[viu] = c_dirtsnow - data[vi] = c_snowblock - elseif under[si] == 4 then - data[viu] = c_wsdrygrass - elseif under[si] == 5 then - data[viu] = c_wsgrass - elseif under[si] == 6 then - data[viu] = c_wsgrass - elseif under[si] == 8 then - data[viu] = c_wsdrygrass - elseif under[si] == 9 then - data[viu] = c_wsgrass - end - end - end - nixyz = nixyz + 1 - nixz = nixz + 1 - vi = vi + 1 - viu = viu + 1 - end - nixz = nixz - sidelen - end - nixz = nixz + sidelen - end - - darkage_mapgen(data, area, {x=x0, y=y0, z=z0}, {x=x1, y=y1, z=z1}, global_seed) -- Generate darkage ores -end - - --- On generated function - -minetest.register_on_generated(function(minp, maxp, seed) - global_seed = seed - if minp.y < YMIN or maxp.y > YMAX then - return - end - - local t1 = os.clock() - - local x1 = maxp.x - local y1 = maxp.y - local z1 = maxp.z - local x0 = minp.x - local y0 = minp.y - local z0 = minp.z - - print ("[watershed] generate mapchunk minp (" .. x0 .. " " .. y0 .. " " .. z0 .. ")") - - local vm, emin, emax = minetest.get_mapgen_object("voxelmanip") - local area = VoxelArea:new{MinEdge = emin, MaxEdge = emax} - local data = vm:get_data() - - watershed_chunkgen(x0, y0, z0, x1, y1, z1, area, data) - - vm:set_data(data) - minetest.generate_ores(vm, minp, maxp) - minetest.generate_decorations(vm, minp, maxp) - vm:set_lighting({day = 0, night = 0}) - vm:calc_lighting() - vm:write_to_map(data) - vm:update_liquids() - - local chugent = math.ceil((os.clock() - t1) * 1000) - print ("[watershed] " .. chugent .. " ms") -end) - -default.register_ores() -farming.register_mgv6_decorations() --- cherry tree -minetest.register_decoration({ - deco_type = "simple", - place_on = "default:dirt_with_grass", - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.005, - spread = {x=100, y=100, z=100}, - seed = 278, - octaves = 2, - persist = 0.7 - }, - decoration = "default:mg_cherry_sapling", - height = 1, -}) diff --git a/mods/watershed/license.txt b/mods/watershed/license.txt deleted file mode 100755 index c73f8ae7..00000000 --- a/mods/watershed/license.txt +++ /dev/null @@ -1,14 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. - diff --git a/mods/watershed/nodes.lua b/mods/watershed/nodes.lua deleted file mode 100755 index f8521418..00000000 --- a/mods/watershed/nodes.lua +++ /dev/null @@ -1,37 +0,0 @@ -minetest.register_alias("watershed:appleleaf", "default:leaves") -minetest.register_alias("watershed:appling", "default:sapling") -minetest.register_alias("watershed:acaciatree", "moretrees:acacia_trunk") -minetest.register_alias("watershed:acacialeaf", "moretrees:acacia_leaves") -minetest.register_alias("watershed:acacialing", "moretrees:acacia_sapling") -minetest.register_alias("watershed:pinetree", "default:pine_tree") -minetest.register_alias("watershed:needles", "default:pine_needles") -minetest.register_alias("watershed:pineling", "default:pine_sapling") -minetest.register_alias("watershed:jungleleaf", "default:jungleleaves") -minetest.register_alias("watershed:jungling", "default:junglesapling") - -minetest.register_alias("watershed:dirt", "default:dirt") -minetest.register_alias("watershed:icydirt", "default:dirt_with_grass") -minetest.register_alias("watershed:grass", "default:dirt_with_grass") -minetest.register_alias("watershed:redstone", "default:desert_stone") -minetest.register_alias("watershed:redcobble", "default:desert_cobble") -minetest.register_alias("watershed:stone", "default:stone") -minetest.register_alias("watershed:cactus", "default:cactus") -minetest.register_alias("watershed:goldengrass", "default:dry_shrub") -minetest.register_alias("watershed:drygrass", "default:dirt_with_dry_grass") -minetest.register_alias("watershed:permafrost", "default:dirt") -minetest.register_alias("watershed:freshice", "default:ice") -minetest.register_alias("watershed:cloud", "default:cloud") -minetest.register_alias("watershed:luxore", "default:stone") -minetest.register_alias("watershed:light", "lantern:lamp") -minetest.register_alias("watershed:acaciawood", "moretrees:acacia_wood") -minetest.register_alias("watershed:pinewood", "default:pinewood") - -minetest.register_alias("watershed:freshwater", "default:river_water_source") -minetest.register_alias("watershed:freshwaterflow", "default:river_water_flowing") -minetest.register_alias("watershed:lava", "default:lava_source") -minetest.register_alias("watershed:lavaflow", "default:lava_flowing") - --- Items - -minetest.register_alias("watershed:luxcrystal", "default:cobble") - diff --git a/worlds/minetestforfun/world.mt b/worlds/minetestforfun/world.mt index 1a6a42e0..7e589d4a 100644 --- a/worlds/minetestforfun/world.mt +++ b/worlds/minetestforfun/world.mt @@ -126,7 +126,6 @@ load_mod_pipeworks = true load_mod_factions = true load_mod_invtweak = true -load_mod_carts = true load_mod_sponge = true load_mod_mobs = true @@ -175,7 +174,6 @@ load_mod_cozy = true load_mod_unified_inventory = true load_mod_inventory_icon = true load_mod_u_skins = true -load_mod_bones = true load_mod_item_drop = true load_mod_mff_core = true @@ -219,6 +217,8 @@ load_mod_shutdown = true load_mod_irc = false load_mod_irc_commands = false load_mod_time_regulation = true +load_mod_h2omes = true +load_mod_player_physics = true load_mod_soundset = true load_mod_ambience = true @@ -269,6 +269,9 @@ load_mod_lightning = true load_mod_bakedclay = true +load_mod_farming = true +load_mod_moreores = true + load_mod_moreflowers = true load_mod_morefarming = true @@ -280,4 +283,7 @@ load_mod_cotton = true load_mod_camera = true load_mod_claycrafter = true load_mod_snowdrift = true +load_mod_nyancat = true +load_mod_cherry_tree = true + player_backend = files