diff --git a/baldcypress/init.lua b/baldcypress/init.lua new file mode 100644 index 00000000..18830059 --- /dev/null +++ b/baldcypress/init.lua @@ -0,0 +1,200 @@ +-- +-- Bald Cypress +-- +local modname = "baldcypress" +local modpath = minetest.get_modpath(modname) +local mg_name = minetest.get_mapgen_setting("mg_name") + +-- internationalization boilerplate +local S = minetest.get_translator(minetest.get_current_modname()) + +-- Bald Cypress + +local function grow_new_baldcypress_tree(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 + minetest.remove_node(pos) + minetest.place_schematic({x = pos.x-4, y = pos.y, z = pos.z-4}, modpath.."/schematics/baldcypress.mts", "0", nil, false) +end + +-- +-- Decoration +-- + +if mg_name ~= "v6" and mg_name ~= "singlenode" then + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:sand"}, + sidelen = 16, + noise_params = { + offset = 0.0005, + scale = 0.0005, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"coniferous_forest_ocean"}, + height = 2, + y_min = 0, + y_max = 0, + schematic = modpath.."/schematics/baldcypress.mts", + flags = "place_center_x, place_center_z, force_placement", + rotation = "random", + }) +end + +-- +-- Nodes +-- + +minetest.register_node("baldcypress:sapling", { + description = S("Bald Cypress Tree Sapling"), + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"baldcypress_sapling.png"}, + inventory_image = "baldcypress_sapling.png", + wield_image = "baldcypress_sapling.png", + paramtype = "light", + --sunlight_propagates = true, + walkable = false, + on_timer = grow_new_baldcypress_tree, + 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, + "baldcypress: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("baldcypress:trunk", { + description = S("Bald Cypress Trunk"), + tiles = { + "baldcypress_trunk_top.png", + "baldcypress_trunk_top.png", + "baldcypress_trunk.png" + }, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + paramtype2 = "facedir", + is_ground_content = false, + on_place = minetest.rotate_node, +}) + +-- baldcypress wood +minetest.register_node("baldcypress:wood", { + description = S("Bald Cypress Wood"), + tiles = {"baldcypress_wood.png"}, + paramtype2 = "facedir", + place_param2 = 0, + is_ground_content = false, + groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3}, + sounds = default.node_sound_wood_defaults(), +}) + +-- baldcypress tree leaves +minetest.register_node("baldcypress:leaves", { + description = S("Bald Cypress Leaves"), + drawtype = "allfaces_optional", + visual_scale = 1.2, + tiles = {"baldcypress_leaves.png"}, + inventory_image = "baldcypress_leaves.png", + wield_image = "baldcypress_leaves.png", + paramtype = "light", + walkable = true, + waving = 1, + groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2}, + drop = { + max_items = 1, + items = { + {items = {"baldcypress:sapling"}, rarity = 20}, + {items = {"baldcypress:leaves"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + after_place_node = default.after_place_leaves, +}) + +-- +-- Craftitems +-- + +-- +-- Recipes +-- + +minetest.register_craft({ + output = "baldcypress:wood 4", + recipe = {{"baldcypress:trunk"}} +}) + + +minetest.register_craft({ + type = "fuel", + recipe = "baldcypress:trunk", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "baldcypress:wood", + burntime = 7, +}) + + +minetest.register_lbm({ + name = "baldcypress:convert_baldcypress_saplings_to_node_timer", + nodenames = {"baldcypress:sapling"}, + action = function(pos) + minetest.get_node_timer(pos):start(math.random(1200, 2400)) + end +}) + +default.register_leafdecay({ + trunks = {"baldcypress:trunk"}, + leaves = {"baldcypress:leaves"}, + radius = 3, +}) + +--Stairs + +if minetest.get_modpath("stairs") ~= nil then + stairs.register_stair_and_slab( + "baldcypress_trunk", + "baldcypress:trunk", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + {"baldcypress_wood.png"}, + S("Bald Cypress Stair"), + S("Bald Cypress Slab"), + default.node_sound_wood_defaults() + ) +end + +--Support for bonemeal + +if minetest.get_modpath("bonemeal") ~= nil then + bonemeal:add_sapling({ + {"baldcypress:sapling", grow_new_baldcypress_tree, "soil"}, + }) +end diff --git a/baldcypress/locale/baldcypress.es.tr b/baldcypress/locale/baldcypress.es.tr new file mode 100644 index 00000000..e895b8d5 --- /dev/null +++ b/baldcypress/locale/baldcypress.es.tr @@ -0,0 +1,10 @@ +# textdomain: baldcypress +Bald Cypress Trunk=Madera de criprés calvo +Bald Cypress Wood=Tablas de criprés calvo +Bald Cypress Leaves=Hojas de criprés calvo +Bald Cypress Tree Sapling=Retoño de criprés calvo +Bald Cypress Tree Stair=Escaleras de criprés calvo +Bald Cypress Slab=Losa de de criprés calvo +Inner Bald Cypress Stair=Escaleras de de criprés calvo interior +Outer Bald Cypress Stair=Escaleras de criprés calvo exterior +Bald Cypress Slab=Losa de criprés calvo diff --git a/baldcypress/mod.conf b/baldcypress/mod.conf new file mode 100644 index 00000000..1f6c1a83 --- /dev/null +++ b/baldcypress/mod.conf @@ -0,0 +1,4 @@ +name = baldcypress +description = Blad Cypress for Swamps +depends = default +optional_depends = stairs, bonemeal diff --git a/baldcypress/schematics/baldcypress.lua b/baldcypress/schematics/baldcypress.lua new file mode 100644 index 00000000..3d7da18f --- /dev/null +++ b/baldcypress/schematics/baldcypress.lua @@ -0,0 +1,1554 @@ +schematic = { + size = {x=10, y=17, z=9}, + yslice_prob = { + {ypos=0, prob=254}, + {ypos=1, prob=254}, + {ypos=2, prob=254}, + {ypos=3, prob=254}, + {ypos=4, prob=254}, + {ypos=5, prob=254}, + {ypos=6, prob=254}, + {ypos=7, prob=254}, + {ypos=8, prob=254}, + {ypos=9, prob=254}, + {ypos=10, prob=254}, + {ypos=11, prob=254}, + {ypos=12, prob=254}, + {ypos=13, prob=254}, + {ypos=14, prob=254}, + {ypos=15, prob=254}, + {ypos=16, prob=254}, + }, + data = { + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=9}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=3}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="swaz:swamp_grass", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=3}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=3}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=3}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=18}, + {name="baldcypress:trunk", prob=254, param2=3}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=3}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=3}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=22}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=7}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=7}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=7}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="swaz:swamp_grass", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=2}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="swaz:swamp_grass", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=7}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:trunk", prob=254, param2=20}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=254, param2=1}, + {name="baldcypress:leaves", prob=126, param2=1}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + }, +} diff --git a/baldcypress/schematics/baldcypress.mts b/baldcypress/schematics/baldcypress.mts new file mode 100644 index 00000000..7898e852 Binary files /dev/null and b/baldcypress/schematics/baldcypress.mts differ diff --git a/baldcypress/textures/baldcypress_leaves.png b/baldcypress/textures/baldcypress_leaves.png new file mode 100644 index 00000000..c6e501df Binary files /dev/null and b/baldcypress/textures/baldcypress_leaves.png differ diff --git a/baldcypress/textures/baldcypress_sapling.png b/baldcypress/textures/baldcypress_sapling.png new file mode 100644 index 00000000..c41e4688 Binary files /dev/null and b/baldcypress/textures/baldcypress_sapling.png differ diff --git a/baldcypress/textures/baldcypress_trunk.png b/baldcypress/textures/baldcypress_trunk.png new file mode 100644 index 00000000..0dcb0aa6 Binary files /dev/null and b/baldcypress/textures/baldcypress_trunk.png differ diff --git a/baldcypress/textures/baldcypress_trunk_top.png b/baldcypress/textures/baldcypress_trunk_top.png new file mode 100644 index 00000000..d8faeb67 Binary files /dev/null and b/baldcypress/textures/baldcypress_trunk_top.png differ diff --git a/baldcypress/textures/baldcypress_wood.png b/baldcypress/textures/baldcypress_wood.png new file mode 100644 index 00000000..c8b57e4e Binary files /dev/null and b/baldcypress/textures/baldcypress_wood.png differ diff --git a/basic_materials/locale/basic_materials.ru.tr b/basic_materials/locale/basic_materials.ru.tr new file mode 100644 index 00000000..85e9c0cf --- /dev/null +++ b/basic_materials/locale/basic_materials.ru.tr @@ -0,0 +1,33 @@ +# textdomain: basic_materials +Silicon lump=Кусок Кремния +Simple Integrated Circuit=Микросхема +Simple Motor=Мотор +Heating element=Нить Накала +Simple energy crystal=Энергетический Кристалл + +Spool of steel wire=Катушка Стальной Проволоки +Spool of copper wire=Катушка Медной Проволоки +Spool of silver wire=Катушка Серебрянной Проволоки +Spool of gold wire=Катушка Золотой Проволоки +Steel Strip=Стальная Полоса +Copper Strip=Медная Полоса +Steel Bar=Стальной Прут +Chainlinks (brass)=Латунные Звенья +Chainlinks (steel)=Стальные Звенья +Brass Ingot=Латунный Брусок +Steel gear=Стальная Шестерня +Padlock=Навесной Замок +Chain (steel, hanging)=Стальная Цепь +Chain (brass, hanging)=Латунная Цепь +Brass Block=Латунный Блок + +Oil extract=Масляный Экстракт +Unprocessed paraffin=Необработанный Парафин +Uncooked Terracotta Base=Ком Мокрого Терракота +Wet Cement=Ком Мокрого Цемента +Cement=Цемент +Concrete Block=Железобетон + +Plastic sheet=Пластиковый Лист +Plastic strips=Пластиковая Полоса +Empty wire spool=Пустая Катушка diff --git a/bonemeal/init.lua b/bonemeal/init.lua index 7924a1ed..0317856b 100644 --- a/bonemeal/init.lua +++ b/bonemeal/init.lua @@ -646,7 +646,7 @@ minetest.override_item("default:dirt", { items = { { items = {"bonemeal:bone"}, - rarity = 30 + rarity = 40 }, { items = {"default:dirt"} diff --git a/bonemeal/mods.lua b/bonemeal/mods.lua index e193273b..ae9f1af2 100644 --- a/bonemeal/mods.lua +++ b/bonemeal/mods.lua @@ -38,7 +38,8 @@ if farming and farming.mod and farming.mod == "redo" then {"farming:beetroot_", 5}, {"farming:rye_", 8}, {"farming:oat_", 8}, - {"farming:rice_", 8} + {"farming:rice_", 8}, + {"farming:mint_", 4} }) end diff --git a/castle_gates/doors.lua b/castle_gates/doors.lua index ea3440cf..545bbd88 100644 --- a/castle_gates/doors.lua +++ b/castle_gates/doors.lua @@ -67,7 +67,7 @@ if minetest.get_modpath("xpanes") then tiles = {"castle_jailbars.png"}, drawtype = "airlike", paramtype = "light", - textures = {"castle_jailbars.png", "castle_jailbars.png", "xpanes_space.png"}, + textures = {"castle_jailbars.png", "castle_jailbars.png", "castle_jailbars.png"}, inventory_image = "castle_jailbars.png", wield_image = "castle_jailbars.png", sounds = default.node_sound_metal_defaults(), diff --git a/cblocks/README.md b/cblocks/README.md index fcef3112..fa2686a8 100644 --- a/cblocks/README.md +++ b/cblocks/README.md @@ -10,5 +10,6 @@ Change log: - 0.1 - Initial release - 0.2 - Added coloured glass and fixed violet - 0.3 - Added stairsplus and stairs mod support +- 0.4 - Glass stairs created with transparency if stairs redo active Lucky Blocks: 4 diff --git a/cblocks/init.lua b/cblocks/init.lua index 337c7f99..f37c391e 100644 --- a/cblocks/init.lua +++ b/cblocks/init.lua @@ -1,4 +1,9 @@ +local stairs_mod = minetest.get_modpath("stairs") +local stairsplus_mod = minetest.global_exists("stairsplus") +local ethereal_mod = minetest.get_modpath("ethereal") + + local colours = { {"black", "Black", "#000000b0"}, {"blue", "Blue", "#015dbb70"}, @@ -17,9 +22,6 @@ local colours = { {"yellow", "Yellow", "#e3ff0070"}, } -local stairs_mod = minetest.get_modpath("stairs") -local stairsplus_mod = minetest.get_modpath("moreblocks") - and minetest.global_exists("stairsplus") local function cblocks_stairs(nodename, def) @@ -48,17 +50,17 @@ local function cblocks_stairs(nodename, def) groups = def.groups, sounds = def.sounds, }) ---[[ - elseif stairs_mod and stairs.mod then + + elseif stairs_mod and stairs + and stairs.mod and stairs.mod == "redo" then stairs.register_all(name, nodename, def.groups, def.tiles, def.description, - def.sounds, - def.alpha + def.sounds ) -]] + elseif stairs_mod and not stairs.mod then stairs.register_stair_and_slab(name, nodename, @@ -72,26 +74,28 @@ local function cblocks_stairs(nodename, def) end end + +local function set_alias(col, name) + +minetest.register_alias("stairs:stair_" .. col .. "_" .. name, + "stairs:stair_" .. name .. "_" .. col) + +minetest.register_alias("stairs:slab_" .. col .. "_" .. name, + "stairs:slab_" .. name .. "_" .. col) + +minetest.register_alias("stairs:stair_inner_" .. col .. "_" .. name, + "stairs:stair_inner_" .. name .. "_" .. col) + +minetest.register_alias("stairs:stair_outer_" .. col .. "_" .. name, + "stairs:stair_outer_" .. name .. "_" .. col) + +minetest.register_alias("stairs:slope_" .. col .. "_" .. name, + "stairs:slope_" .. name .. "_" .. col) +end + + for i = 1, #colours, 1 do --- wood - -cblocks_stairs("cblocks:wood_" .. colours[i][1], { - description = colours[i][2] .. " Wooden Planks", - tiles = {"default_wood.png^[colorize:" .. colours[i][3]}, - paramtype = "light", - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_craft({ - output = "cblocks:wood_".. colours[i][1] .. " 2", - recipe = { - {"group:wood","group:wood", "dye:" .. colours[i][1]}, - } -}) - -- stone brick cblocks_stairs("cblocks:stonebrick_" .. colours[i][1], { @@ -110,19 +114,37 @@ minetest.register_craft({ } }) --- glass (no stairs because they dont support transparant nodes) +-- glass (no stairs unless stairs redo active because default stairs mod +-- does not support transparent stairs) -minetest.register_node("cblocks:glass_" .. colours[i][1], { - description = colours[i][2] .. " Glass", - tiles = {"cblocks.png^[colorize:" .. colours[i][3]}, - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - use_texture_alpha = true, - is_ground_content = false, - groups = {cracky = 3, oddly_breakable_by_hand = 3}, - sounds = default.node_sound_glass_defaults(), -}) +if stairs_mod and stairs and stairs.mod and stairs.mod == "redo" then + + cblocks_stairs("cblocks:glass_" .. colours[i][1], { + description = colours[i][2] .. " Glass", + tiles = {"cblocks.png^[colorize:" .. colours[i][3]}, + drawtype = "glasslike", + paramtype = "light", + sunlight_propagates = true, + use_texture_alpha = true, + is_ground_content = false, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), + }) + + set_alias(colours[i][1], "glass") +else + minetest.register_node("cblocks:glass_" .. colours[i][1], { + description = colours[i][2] .. " Glass", + tiles = {"cblocks.png^[colorize:" .. colours[i][3]}, + drawtype = "glasslike", + paramtype = "light", + sunlight_propagates = true, + use_texture_alpha = true, + is_ground_content = false, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), + }) +end minetest.register_craft({ output = "cblocks:glass_".. colours[i][1] .. " 2", @@ -131,8 +153,36 @@ minetest.register_craft({ } }) +-- wood + +local col = colours[i][1] + +-- ethereal already has yellow wood so rename to yellow2 +if ethereal_mod and col == "yellow" then + col = "yellow2" end +cblocks_stairs("cblocks:wood_" .. col, { + description = colours[i][2] .. " Wooden Planks", + tiles = {"default_wood.png^[colorize:" .. colours[i][3]}, + paramtype = "light", + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +set_alias(colours[i][1], "wood") + +minetest.register_craft({ + output = "cblocks:wood_".. col .. " 2", + recipe = { + {"group:wood","group:wood", "dye:" .. colours[i][1]}, + } +}) + +end + + -- add lucky blocks if minetest.get_modpath("lucky_block") then lucky_block:add_blocks({ @@ -143,4 +193,5 @@ lucky_block:add_blocks({ }) end + print ("[MOD] Cblocks loaded") diff --git a/chestnuttree/textures/chestnuttree_leaves.png b/chestnuttree/textures/chestnuttree_leaves.png index a9246891..1a8be438 100644 Binary files a/chestnuttree/textures/chestnuttree_leaves.png and b/chestnuttree/textures/chestnuttree_leaves.png differ diff --git a/clementinetree/schematics/clementinetree.lua b/clementinetree/schematics/clementinetree.lua index b2bfaf66..a66a18b0 100644 --- a/clementinetree/schematics/clementinetree.lua +++ b/clementinetree/schematics/clementinetree.lua @@ -161,3 +161,4 @@ schematic = { {name="air", prob=0, param2=0}, }, } + diff --git a/crafting_bench/init.lua b/crafting_bench/init.lua index 554e3cd2..066ad6fc 100644 --- a/crafting_bench/init.lua +++ b/crafting_bench/init.lua @@ -9,8 +9,7 @@ if minetest.get_modpath("hopper") and hopper ~= nil and hopper.add_container ~= end -local crafting_rate = minetest.settings:get("crafting_bench_crafting_rate") -if crafting_rate == nil then crafting_rate = 5 end +local crafting_rate = tonumber(minetest.settings:get("crafting_bench_crafting_rate")) or 5 minetest.register_node("crafting_bench:workbench",{ diff --git a/currency/barter.lua b/currency/barter.lua index 6d8e1534..e1ebac78 100644 --- a/currency/barter.lua +++ b/currency/barter.lua @@ -67,7 +67,11 @@ barter.chest.give_inventory = function(inv,list,playername) player = minetest.get_player_by_name(playername) if player then for k,v in ipairs(inv:get_list(list)) do - player:get_inventory():add_item("main",v) + if player:get_inventory():room_for_item("main",v) then + player:get_inventory():add_item("main",v) + else + minetest.add_item(player:get_pos(),v) + end inv:remove_item(list,v) end end diff --git a/currency/income.lua b/currency/income.lua index da1cfd78..8f2354b4 100644 --- a/currency/income.lua +++ b/currency/income.lua @@ -1,23 +1,41 @@ local players_income = {} local income_enabled = minetest.settings:get_bool("currency.income_enabled", true) +local creative_income_enabled = minetest.settings:get_bool("currency.creative_income_enabled", true) local income_item = minetest.settings:get("currency.income_item") or "currency:minegeld_10" local income_count = tonumber(minetest.settings:get("currency.income_count")) or 1 local income_period = tonumber(minetest.settings:get("currency.income_period")) or 720 if income_enabled then local timer = 0 - minetest.register_globalstep(function(dtime) - timer = timer + dtime; - if timer >= income_period then - timer = 0 - for _, player in ipairs(minetest.get_connected_players()) do - local name = player:get_player_name() - players_income[name] = income_count - minetest.log("info", "[Currency] basic income for "..name) + if creative_income_enabled then + minetest.register_globalstep(function(dtime) + timer = timer + dtime; + if timer >= income_period then + timer = 0 + for _, player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + players_income[name] = income_count + minetest.log("info", "[Currency] basic income for "..name) + end end - end - end) + end) + else + minetest.register_globalstep(function(dtime) + timer = timer + dtime; + if timer >= income_period then + timer = 0 + for _, player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local privs = minetest.get_player_privs(name) + if not (privs.creative or privs.give) then + players_income[name] = income_count + minetest.log("info", "[Currency] basic income for "..name) + end + end + end + end) + end local function earn_income(player) if not player or player.is_fake_player then return end diff --git a/currency/settingtypes.txt b/currency/settingtypes.txt index 12e89aa7..330296d1 100644 --- a/currency/settingtypes.txt +++ b/currency/settingtypes.txt @@ -1,6 +1,9 @@ # Is income enabled? currency.income_enabled (Is currency income enabled?) bool true +# Is income enabled for creative players? +currency.creative_income_enabled (Is income enabled for creative players?) bool true + # Item that is given as income by the currency mod currency.income_item (Currency income item) string currency:minegeld_10 diff --git a/display_blocks/LICENSE.txt b/display_blocks/LICENSE.txt deleted file mode 100644 index ff49e2d9..00000000 --- a/display_blocks/LICENSE.txt +++ /dev/null @@ -1,29 +0,0 @@ - -License: - -Copyright (C) 2016 - VanessaE, cheapie, jojoa1997 - -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 X CONSORTIUM 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. - -Except as contained in this notice, the name of the authors shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from the authors. - diff --git a/display_blocks/README.txt b/display_blocks/README.txt deleted file mode 100644 index 9ab17a5c..00000000 --- a/display_blocks/README.txt +++ /dev/null @@ -1,4 +0,0 @@ -display_blocks -============== -This mod adds blocks that create crystals on top. -Some have different light levels others can be seen through and i hope i can make them do other things too. diff --git a/display_blocks/config.lua b/display_blocks/config.lua deleted file mode 100644 index 2f5a2abd..00000000 --- a/display_blocks/config.lua +++ /dev/null @@ -1,6 +0,0 @@ --- Disable to make the uranium only be "technic"uranium". Enable to add "display_blocks:uranium" -enable_display_uranium = false ---Enable to make "technic:uranium" spawning like "display_blocks:uranium". -technic_uranium_new_ore_gen = true ---Enable to add a recipe that uses "technic:uranium" -enable_technic_recipe = true diff --git a/display_blocks/depends.txt b/display_blocks/depends.txt deleted file mode 100644 index 44e7384b..00000000 --- a/display_blocks/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -technic? \ No newline at end of file diff --git a/display_blocks/description.txt b/display_blocks/description.txt deleted file mode 100644 index af7e923f..00000000 --- a/display_blocks/description.txt +++ /dev/null @@ -1 +0,0 @@ -This mod adds blocks that create crystals on top. Some have different light levels others can be seen through and i hope i can make them do other things too. diff --git a/display_blocks/init.lua b/display_blocks/init.lua deleted file mode 100644 index 28b5d604..00000000 --- a/display_blocks/init.lua +++ /dev/null @@ -1,267 +0,0 @@ -local PATH = minetest.get_modpath("display_blocks") - -dofile(PATH.."/config.lua") -dofile(PATH.."/technic.lua") - -if enable_display_uranium == true then - dofile(minetest.get_modpath("display_blocks").."/uranium.lua") -end - -local Scale = 0.9 - -function disp(base, name, light, rec, rp) - minetest.register_node( "display_blocks:"..base.."_base", { - description = name.."Display Base", - tiles = { "display_blocks_"..base.."_block.png" }, - is_ground_content = true, - groups = {cracky=3,}, - light_source = light, - sunlight_propagates = true, - paramtype = "light", - drawtype = "glasslike", - }) - - minetest.register_node( "display_blocks:"..base.."_crystal", { - drawtype = "plantlike", - description = name.." Display Crystal", - tiles = { "display_blocks_"..base.."_crystal.png" }, - is_ground_content = true, - paramtype = "light", - visual_scale = Scale, - groups = {immortal=1, not_in_creative_inventory=1}, - selection_box = { - type = "fixed", - fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, - }, - walkable = false, - }) - - minetest.register_abm({ - nodenames = {"display_blocks:"..base.."_base"}, - interval = 2.0, - chance = 1.0, - action = function(pos, node, active_object_count, active_object_count_wider) - pos.y = pos.y + 1 - local n = minetest.get_node(pos) - if n and n.name == "air" then - minetest.add_node(pos, {name="display_blocks:"..base.."_crystal"}) - end - end - }) - - function remove_crystal(pos, node, active_object_count, active_object_count_wider) - if node.name == "display_blocks:"..base.."_base" then - pos.y = pos.y + 1 - local n = minetest.get_node(pos) - if n and n.name == "display_blocks:"..base.."_crystal" then - minetest.remove_node(pos) - end - end - end - minetest.register_on_dignode(remove_crystal) - - minetest.register_craft({ - output = 'display_blocks:'..base..'_base 5', - recipe = { - {'', 'default:mese_crystal_fragment', ''}, - {rec, 'display_blocks:empty_display', rec}, - {'', rec, ''}, - }, - replacements = {{rec, rp}, {rec, rp},{rec, rp}}, - }) -end - --- disp(base, name, rec, rp) -disp("mese", "Mese", 0, "default:mese_block", "") -disp("glass", "Glass", 0, "default:sand", "") -disp("fire", "Fire", 12, "bucket:bucket_lava" ,"bucket:bucket_empty") -disp("air", "Air", 5, "bucket:bucket_empty", "bucket:bucket_empty") -disp("water", "Water", 0, "bucket:bucket_water", "bucket:bucket_empty") -disp("uranium", "Uranium", 10, "display_blocks:uranium_block", "") -disp("earth", "Earth", 0, "display_blocks:compressed_earth", "") -disp("metal", "Metal", 2, "default:steelblock", "") - - -if minetest.get_modpath("titanium") then - disp("titanium", "Titanium", 0, "titanium:block", "") -end - --- --- Universia Display --- - -minetest.register_node( "display_blocks:universia_base", { - description = "Universia Display Base", - tiles = {"display_blocks_universia_block.png"}, - is_ground_content = true, - groups = {cracky=3,}, - light_source = 15, - sunlight_propagates = true, - paramtype = "light", - drawtype = "glasslike", -}) - -minetest.register_node( "display_blocks:universia_crystal", { - description = "Universia Display Crystal", - drawtype = "plantlike", - tiles = {"display_blocks_universia_crystal.png"}, - selection_box = { - type = "fixed", - fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, - }, - walkable = false, - is_ground_content = true, - paramtype = "light", - visual_scale = Scale, - groups = {immortal=1, not_in_creative_inventory=1}, -}) - -minetest.register_abm({ - nodenames = {"display_blocks:universia_base"}, - interval = 1.0, - chance = 1.0, - action = function(pos, node, active_object_count, active_object_count_wider) - pos.y = pos.y + 1 - minetest.add_node(pos, {name="display_blocks:universia_crystal"}) - end -}) - -function remove_crystal(pos, node, active_object_count, active_object_count_wider) - if - node.name == "display_blocks:universia_base" - then - pos.y = pos.y + 1 - minetest.remove_node(pos, {name="display_blocks:universia_crystal"}) - end -end -minetest.register_on_dignode(remove_crystal) - -minetest.register_craft({ - output = "display_blocks:universia_base", - recipe = { - {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, - {'display_blocks:natura_cube', 'default:mese_block', 'display_blocks:industria_cube'}, - {'default:obsidian', 'default:obsidian', 'default:obsidian'}, - }, -}) - --- --- Other Blocks --- - -minetest.register_node("display_blocks:compressed_earth", { - description = "Compressed Earth", - tiles = {"display_blocks_compressed_earth.png"}, - groups = {crumbly=3,soil=1}, - sounds = default.node_sound_dirt_defaults({ - footstep = {name="default_grass_footstep", gain=0.25}, - }), -}) - -minetest.register_node("display_blocks:empty_display", { - description = "Empty Display", - tiles = {"display_blocks_empty_display.png"}, - groups = {cracky=3,oddly_breakable_by_hand=3}, - sounds = default.node_sound_glass_defaults(), - sunlight_propagates = true, - paramtype = "light", - drawtype = "glasslike", - is_ground_content = true, -}) - -minetest.register_node("display_blocks:industria_cube", { - description = "Industria Cube", - tiles = {"display_blocks_industria_cube.png"}, - groups = {cracky=3,oddly_breakable_by_hand=3}, - sounds = default.node_sound_glass_defaults(), - sunlight_propagates = true, - paramtype = "light", - drawtype = "glasslike", - is_ground_content = true, -}) - -minetest.register_node("display_blocks:natura_cube", { - description = "Natura Cube", - tiles = {"display_blocks_natura_cube.png"}, - groups = {cracky=3,oddly_breakable_by_hand=3}, - sounds = default.node_sound_glass_defaults(), - sunlight_propagates = true, - paramtype = "light", - drawtype = "glasslike", - is_ground_content = true, -}) - -minetest.register_craft({ - output= "display_blocks:compressed_earth", - recipe = { - {'default:gravel', 'default:dirt', 'default:gravel'}, - {'default:dirt', 'default:gravel', 'default:dirt'}, - {'default:gravel', 'default:dirt', 'default:gravel'}, - } -}) - -minetest.register_craft({ - output = "display_blocks:empty_display", - recipe = { - {'default:desert_sand', 'default:glass', 'default:sand'}, - {'default:glass', '', 'default:glass'}, - {'default:sand', 'default:glass', 'default:desert_sand'}, - }, -}) - -minetest.register_craft({ - output = "display_blocks:natura_cube", - recipe = { - {'', 'display_blocks:air_base', ''}, - {'display_blocks:fire_base', '', 'display_blocks:water_base'}, - {'', 'display_blocks:earth_base', ''}, - }, -}) - -minetest.register_craft({ - output = "display_blocks:industria_cube", - recipe = { - {'', 'display_blocks:mese_base', ''}, - {'display_blocks:metal_base', '', 'display_blocks:glass_base'}, - {'', 'display_blocks:uranium_base', ''}, - }, -}) - --- --- Compressed Earth Ore Gen --- - -minetest.register_ore({ - ore_type = "scatter", - ore = "display_blocks:compressed_earth", - wherein = "default:dirt", - clust_scarcity = 25*25*25, - clust_num_ores = 20, - clust_size = 5, - y_max = -5, - y_min = -15, -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "display_blocks:compressed_earth", - wherein = "default:dirt", - clust_scarcity = 20*20*20, - clust_num_ores = 50, - clust_size = 5, - y_max = -16, - y_min = -29, -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "display_blocks:compressed_earth", - wherein = "default:dirt", - clust_scarcity = 15*15*15, - clust_num_ores = 80, - clust_size = 5, - y_max = -30, - y_min = -100, -}) - -print("[Display Blocks] Loaded! by jojoa1997 :-)") diff --git a/display_blocks/mod.conf b/display_blocks/mod.conf deleted file mode 100644 index 2ccbba44..00000000 --- a/display_blocks/mod.conf +++ /dev/null @@ -1 +0,0 @@ -name = display_blocks diff --git a/display_blocks/technic.lua b/display_blocks/technic.lua deleted file mode 100644 index 56adb5df..00000000 --- a/display_blocks/technic.lua +++ /dev/null @@ -1,40 +0,0 @@ -if enable_display_uranium == false then - minetest.register_alias("display_blocks:uranium_dust", "technic:uranium_block") - minetest.register_alias("display_blocks:uranium_block", "technic:uranium_block") - minetest.register_alias("display_blocks:uranium_ore", "technic:mineral_uranium") -end - -if technic_uranium_new_ore_gen == true then - minetest.register_ore({ - ore_type = "scatter", - ore = "technic:mineral_uranium", - wherein = "default:stone", - clust_scarcity = 20*20*20, - clust_num_ores = 18, - clust_size = 3, - y_min = -3000, - y_max = -2000, - }) - - minetest.register_ore({ - ore_type = "scatter", - ore = "technic:mineral_uranium", - wherein = "default:stone", - clust_scarcity =30*30*30, - clust_num_ores = 40, - clust_size = 4, - y_min = -7000, - y_max = -5000, - }) -end - -if enable_technic_recipe == true then - minetest.register_craft({ - output = 'display_blocks:uranium_base 5', - recipe = { - {'', 'default:mese_crystal_fragment', ''}, - {'technic:uranium_block', 'display_blocks:empty_display', 'technic:uranium_block'}, - {'', 'technic:uranium_block', ''}, - } - }) -end diff --git a/display_blocks/textures/display_blocks_mese_giver_block.png b/display_blocks/textures/display_blocks_mese_giver_block.png deleted file mode 100644 index f663bb13..00000000 Binary files a/display_blocks/textures/display_blocks_mese_giver_block.png and /dev/null differ diff --git a/display_blocks/uranium.lua b/display_blocks/uranium.lua deleted file mode 100644 index 10a004bd..00000000 --- a/display_blocks/uranium.lua +++ /dev/null @@ -1,56 +0,0 @@ -minetest.register_node( "display_blocks:uranium_ore", { - description = "Uranium Ore", - tiles = { "default_stone.png^uranium_ore.png" }, - is_ground_content = true, - groups = {cracky=3}, - drop = 'craft "display_blocks:uranium_dust" 3', -}) - -minetest.register_craftitem( "display_blocks:uranium_dust", { - description = "Uranium Dust", - inventory_image = "uranium_dust.png", - on_place_on_ground = minetest.craftitem_place_item, -}) - -minetest.register_node( "display_blocks:uranium_block", { - description = "Uranium Block", - tiles = { "uranium_block.png" }, - light_propagates = true, - paramtype = "light", - sunlight_propagates = true, - light_source = 15, - is_ground_content = true, - groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2}, -}) - - -minetest.register_craft( { - output = 'node "display_blocks:uranium_block" 1', - recipe = { - { 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' }, - { 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' }, - { 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' }, - } -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "display_blocks:uranium_ore", - wherein = "default:stone", - clust_scarcity = 10*10*10, - clust_num_ores =18, - clust_size = 3, - y_min = -3000, - y_max = -2000, -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "display_blocks:uranium_ore", - wherein = "default:stone", - clust_scarcity =20*20*20, - clust_num_ores =40, - clust_size = 4, - y_min = -7000, - y_max = -5000, -}) diff --git a/display_blocks_redo/COPYING b/display_blocks_redo/COPYING new file mode 100644 index 00000000..7519497c --- /dev/null +++ b/display_blocks_redo/COPYING @@ -0,0 +1,63 @@ +The code in this mod is licensed under the following terms: + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +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 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 information, please refer to + + +------------------------------------------------------------------------ + + +The textures in this mod are from the original display_blocks mod and are licensed under the same terms as the original. +The contents of the original LICENSE.txt file are as follows: + + +License: + +Copyright (C) 2016 - VanessaE, cheapie, jojoa1997 + +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 X CONSORTIUM 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. + +Except as contained in this notice, the name of the authors shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from the authors. + diff --git a/display_blocks_redo/init.lua b/display_blocks_redo/init.lua new file mode 100644 index 00000000..5bf85b05 --- /dev/null +++ b/display_blocks_redo/init.lua @@ -0,0 +1,302 @@ +local disptypes = { + { + name = "Mese", + light_source = 0, + craft_type = "normal", + craft_item = "default:mese", + }, + { + name = "Glass", + light_source = 0, + craft_type = "normal", + craft_item = "default:glass", + }, + { + name = "Fire", + light_source = 12, + craft_type = "normal", + craft_item = "bucket:bucket_lava", + }, + { + name = "Air", + light_source = 5, + craft_type = "normal", + craft_item = "bucket:bucket_empty", + }, + { + name = "Water", + light_source = 0, + craft_type = "normal", + craft_item = "bucket:bucket_water", + }, + { + name = "Uranium", + light_source = 10, + craft_type = "normal", + craft_item = "group:uranium_block", + }, + { + name = "Earth", + light_source = 0, + craft_type = "normal", + craft_item = "default:dirt", + }, + { + name = "Metal", + light_source = 2, + craft_type = "normal", + craft_item = "default:steelblock", + }, + { + name = "Empty", + light_source = 0, + suppress_crystal = true, + craft_type = "special", + craft_recipe = { + {"default:desert_sand","default:glass","default:sand",}, + {"default:glass","","default:glass",}, + {"default:sand","default:glass","default:desert_sand",}, + }, + }, + { + name = "Universia", + light_source = 14, + craft_type = "special", + craft_recipe = { + {"default:mese_crystal","default:mese_crystal","default:mese_crystal",}, + {"display_blocks_redo:natura_cube","default:mese","display_blocks_redo:industria_cube",}, + {"default:obsidian","default:obsidian","default:obsidian",}, + }, + }, +} + +if minetest.get_modpath("titanium") then + table.insert(disptypes,{ + name = "Titanium", + light_source = 0, + craft_type = "normal", + craft_item = "titanium:block", + }) +end + +local function regcraft(def) + local lname = string.lower(def.name) + if def.craft_type == "normal" then + local craft = {} + craft.output = string.format("display_blocks_redo:%s_base",lname) + craft.recipe = { + {"","default:mese_crystal_fragment","",}, + {def.craft_item,"display_blocks_redo:empty_base",def.craft_item,}, + {"",def.craft_item,"",}, + } + if string.sub(def.craft_item,1,7) == "bucket:" then + craft.replacements = {} + for i=1,3,1 do + table.insert(craft.replacements,{def.craft_item,"bucket:bucket_empty",}) + end + end + minetest.register_craft(craft) + elseif def.craft_type == "special" then + local craft = {} + craft.output = string.format("display_blocks_redo:%s_base",lname) + craft.recipe = def.craft_recipe + minetest.register_craft(craft) + end +end + +for _,def in ipairs(disptypes) do + local lname = string.lower(def.name) + if not def.suppress_crystal then + minetest.register_node(string.format("display_blocks_redo:%s_crystal",lname),{ + description = string.format("%s Display Crystal (you hacker you!)",def.name), + drawtype = "plantlike", + drop = "", + groups = { + not_in_creative_inventory = 1, + }, + paramtype = "light", + tiles = { + string.format("display_blocks_redo_%s_crystal.png",lname), + }, + light_source = def.light_source, + visual_scale = 0.9, + selection_box = { + type = "fixed", + fixed = {-0.15,-0.5,-0.15,0.15,0.2,0.15}, + }, + walkable = false, + }) + minetest.register_alias(string.format("display_blocks:%s_crystal",lname),string.format("display_blocks_redo:%s_crystal",lname)) + end + minetest.register_node(string.format("display_blocks_redo:%s_base",lname),{ + description = string.format("%s Display Base",def.name), + groups = { + cracky = 3, + }, + sounds = minetest.global_exists("default") and default.node_sound_glass_defaults(), + paramtype = "light", + light_source = def.light_source, + tiles = { + string.format("display_blocks_redo_%s_base.png",lname), + }, + drawtype = "glasslike", + after_place_node = function(pos,_,stack) + if def.suppress_crystal then return end + local crystalpos = vector.add(pos,vector.new(0,1,0)) + if minetest.get_node(crystalpos).name == "air" then + local node = {} + node.name = string.format("display_blocks_redo:%s_crystal",lname) + minetest.set_node(crystalpos,node) + stack:take_item(1) + return stack + else + minetest.set_node(pos,{name = "air"}) + return stack + end + end, + after_destruct = function(pos) + if def.suppress_crystal then return end + local crystalpos = vector.add(pos,vector.new(0,1,0)) + if minetest.get_node(crystalpos).name == string.format("display_blocks_redo:%s_crystal",lname) then + minetest.set_node(crystalpos,{name = "air"}) + end + end, + }) + regcraft(def) + minetest.register_alias(string.format("display_blocks:%s_base",lname),string.format("display_blocks_redo:%s_base",lname)) +end + +minetest.register_alias("display_blocks:empty_display","display_blocks_redo:empty_base") +minetest.register_alias("display_blocks:compressed_earth","default:dirt") + +minetest.register_node("display_blocks_redo:natura_cube",{ + description = "Natura Cube", + tiles = { + "display_blocks_redo_natura_cube.png", + }, + groups = { + cracky = 3, + oddly_breakable_by_hand = 3, + }, + paramtype = "light", + drawtype = "glasslike", + sounds = minetest.global_exists("default") and default.node_sound_glass_defaults(), +}) + +minetest.register_alias("display_blocks:natura_cube","display_blocks_redo:natura_cube") + +minetest.register_node("display_blocks_redo:industria_cube",{ + description = "Industria Cube", + tiles = { + "display_blocks_redo_industria_cube.png", + }, + groups = { + cracky = 3, + oddly_breakable_by_hand = 3, + }, + paramtype = "light", + drawtype = "glasslike", + sounds = minetest.global_exists("default") and default.node_sound_glass_defaults(), +}) + +minetest.register_alias("display_blocks:industria_cube","display_blocks_redo:industria_cube") + +minetest.register_craft({ + output = "display_blocks_redo:natura_cube", + recipe = { + {"","display_blocks:air_base","",}, + {"display_blocks:fire_base","","display_blocks:water_base",}, + {"","display_blocks:earth_base","",}, + }, +}) + +minetest.register_craft({ + output = "display_blocks_redo:industria_cube", + recipe = { + {"","display_blocks:mese_base","",}, + {"display_blocks:metal_base","","display_blocks:glass_base",}, + {"","display_blocks:uranium_base","",}, + }, +}) + +if minetest.get_modpath("technic_worldgen") then + minetest.register_alias("display_blocks:uranium_ore","technic:mineral_uranium") + minetest.register_alias("display_blocks:uranium_dust","technic:uranium_dust") + minetest.register_alias("display_blocks:uranium_block","technic:uranium_block") + minetest.register_alias("display_blocks_redo:uranium_ore","technic:mineral_uranium") + minetest.register_alias("display_blocks_redo:uranium_dust","technic:uranium_dust") + minetest.register_alias("display_blocks_redo:uranium_block","technic:uranium_block") +else + minetest.register_node("display_blocks_redo:uranium_ore",{ + description = "Uranium Ore", + drop = "display_blocks_redo:uranium_dust 3", + paramtype = "light", + light_source = 2, + groups = { + cracky = 3, + }, + tiles = { + "default_stone.png^display_blocks_redo_uranium_ore.png", + }, + is_ground_content = true, + }) + + minetest.register_node("display_blocks_redo:uranium_block",{ + description = "Uranium Block", + paramtype = "light", + light_source = 7, + groups = { + snappy = 1, + }, + tiles = { + "display_blocks_redo_uranium_block.png", + }, + }) + + minetest.register_craftitem("display_blocks_redo:uranium_dust",{ + description = "Uranium Dust", + inventory_image = "display_blocks_redo_uranium_dust.png", + }) + + minetest.register_craft({ + type = "shapeless", + output = "display_blocks_redo:uranium_block", + recipe = { + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + "display_blocks_redo:uranium_dust", + }, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "display_blocks_redo:uranium_ore", + wherein = "default:stone", + clust_scarcity = 10*10*10, + clust_num_ores = 18, + clust_size = 3, + y_min = -3000, + y_max = -2000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "display_blocks_redo:uranium_ore", + wherein = "default:stone", + clust_scarcity = 20*20*20, + clust_num_ores = 40, + clust_size = 4, + y_min = -31000, + y_max = -5000, + }) + + minetest.register_alias("display_blocks:uranium_ore","display_blocks_redo:uranium_ore") + minetest.register_alias("display_blocks:uranium_dust","display_blocks_redo:uranium_dust") + minetest.register_alias("display_blocks:uranium_block","display_blocks_redo:uranium_block") +end diff --git a/display_blocks_redo/mod.conf b/display_blocks_redo/mod.conf new file mode 100644 index 00000000..d2290c97 --- /dev/null +++ b/display_blocks_redo/mod.conf @@ -0,0 +1,3 @@ +name = display_blocks_redo +description = Rewrite of the old display_blocks mod for Minetest +optional_depends = default diff --git a/display_blocks/textures/display_blocks_air_block.png b/display_blocks_redo/textures/display_blocks_redo_air_base.png similarity index 100% rename from display_blocks/textures/display_blocks_air_block.png rename to display_blocks_redo/textures/display_blocks_redo_air_base.png diff --git a/display_blocks/textures/display_blocks_air_crystal.png b/display_blocks_redo/textures/display_blocks_redo_air_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_air_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_air_crystal.png diff --git a/display_blocks/textures/display_blocks_compressed_earth.png b/display_blocks_redo/textures/display_blocks_redo_compressed_earth.png similarity index 100% rename from display_blocks/textures/display_blocks_compressed_earth.png rename to display_blocks_redo/textures/display_blocks_redo_compressed_earth.png diff --git a/display_blocks/textures/display_blocks_earth_block.png b/display_blocks_redo/textures/display_blocks_redo_earth_base.png similarity index 100% rename from display_blocks/textures/display_blocks_earth_block.png rename to display_blocks_redo/textures/display_blocks_redo_earth_base.png diff --git a/display_blocks/textures/display_blocks_earth_crystal.png b/display_blocks_redo/textures/display_blocks_redo_earth_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_earth_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_earth_crystal.png diff --git a/display_blocks/textures/display_blocks_empty_display.png b/display_blocks_redo/textures/display_blocks_redo_empty_base.png similarity index 100% rename from display_blocks/textures/display_blocks_empty_display.png rename to display_blocks_redo/textures/display_blocks_redo_empty_base.png diff --git a/display_blocks/textures/display_blocks_fire_block.png b/display_blocks_redo/textures/display_blocks_redo_fire_base.png similarity index 100% rename from display_blocks/textures/display_blocks_fire_block.png rename to display_blocks_redo/textures/display_blocks_redo_fire_base.png diff --git a/display_blocks/textures/display_blocks_fire_crystal.png b/display_blocks_redo/textures/display_blocks_redo_fire_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_fire_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_fire_crystal.png diff --git a/display_blocks/textures/display_blocks_glass_block.png b/display_blocks_redo/textures/display_blocks_redo_glass_base.png similarity index 100% rename from display_blocks/textures/display_blocks_glass_block.png rename to display_blocks_redo/textures/display_blocks_redo_glass_base.png diff --git a/display_blocks/textures/display_blocks_glass_crystal.png b/display_blocks_redo/textures/display_blocks_redo_glass_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_glass_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_glass_crystal.png diff --git a/display_blocks/textures/display_blocks_industria_cube.png b/display_blocks_redo/textures/display_blocks_redo_industria_cube.png similarity index 100% rename from display_blocks/textures/display_blocks_industria_cube.png rename to display_blocks_redo/textures/display_blocks_redo_industria_cube.png diff --git a/display_blocks/textures/display_blocks_mese_block.png b/display_blocks_redo/textures/display_blocks_redo_mese_base.png similarity index 100% rename from display_blocks/textures/display_blocks_mese_block.png rename to display_blocks_redo/textures/display_blocks_redo_mese_base.png diff --git a/display_blocks/textures/display_blocks_mese_crystal.png b/display_blocks_redo/textures/display_blocks_redo_mese_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_mese_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_mese_crystal.png diff --git a/display_blocks/textures/display_blocks_metal_block.png b/display_blocks_redo/textures/display_blocks_redo_metal_base.png similarity index 100% rename from display_blocks/textures/display_blocks_metal_block.png rename to display_blocks_redo/textures/display_blocks_redo_metal_base.png diff --git a/display_blocks/textures/display_blocks_metal_crystal.png b/display_blocks_redo/textures/display_blocks_redo_metal_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_metal_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_metal_crystal.png diff --git a/display_blocks/textures/display_blocks_natura_cube.png b/display_blocks_redo/textures/display_blocks_redo_natura_cube.png similarity index 100% rename from display_blocks/textures/display_blocks_natura_cube.png rename to display_blocks_redo/textures/display_blocks_redo_natura_cube.png diff --git a/display_blocks/textures/display_blocks_titanium_block.png b/display_blocks_redo/textures/display_blocks_redo_titanium_base.png similarity index 100% rename from display_blocks/textures/display_blocks_titanium_block.png rename to display_blocks_redo/textures/display_blocks_redo_titanium_base.png diff --git a/display_blocks/textures/display_blocks_titanium_crystal.png b/display_blocks_redo/textures/display_blocks_redo_titanium_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_titanium_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_titanium_crystal.png diff --git a/display_blocks/textures/display_blocks_universia_block.png b/display_blocks_redo/textures/display_blocks_redo_universia_base.png similarity index 100% rename from display_blocks/textures/display_blocks_universia_block.png rename to display_blocks_redo/textures/display_blocks_redo_universia_base.png diff --git a/display_blocks/textures/display_blocks_universia_crystal.png b/display_blocks_redo/textures/display_blocks_redo_universia_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_universia_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_universia_crystal.png diff --git a/display_blocks/textures/display_blocks_uranium_block.png b/display_blocks_redo/textures/display_blocks_redo_uranium_base.png similarity index 100% rename from display_blocks/textures/display_blocks_uranium_block.png rename to display_blocks_redo/textures/display_blocks_redo_uranium_base.png diff --git a/display_blocks/textures/uranium_block.png b/display_blocks_redo/textures/display_blocks_redo_uranium_block.png similarity index 100% rename from display_blocks/textures/uranium_block.png rename to display_blocks_redo/textures/display_blocks_redo_uranium_block.png diff --git a/display_blocks/textures/display_blocks_uranium_crystal.png b/display_blocks_redo/textures/display_blocks_redo_uranium_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_uranium_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_uranium_crystal.png diff --git a/display_blocks/textures/uranium_dust.png b/display_blocks_redo/textures/display_blocks_redo_uranium_dust.png similarity index 100% rename from display_blocks/textures/uranium_dust.png rename to display_blocks_redo/textures/display_blocks_redo_uranium_dust.png diff --git a/display_blocks/textures/uranium_ore.png b/display_blocks_redo/textures/display_blocks_redo_uranium_ore.png similarity index 100% rename from display_blocks/textures/uranium_ore.png rename to display_blocks_redo/textures/display_blocks_redo_uranium_ore.png diff --git a/display_blocks/textures/display_blocks_water_block.png b/display_blocks_redo/textures/display_blocks_redo_water_base.png similarity index 100% rename from display_blocks/textures/display_blocks_water_block.png rename to display_blocks_redo/textures/display_blocks_redo_water_base.png diff --git a/display_blocks/textures/display_blocks_water_crystal.png b/display_blocks_redo/textures/display_blocks_redo_water_crystal.png similarity index 100% rename from display_blocks/textures/display_blocks_water_crystal.png rename to display_blocks_redo/textures/display_blocks_redo_water_crystal.png diff --git a/dreambuilder_mp_extras/customize-dreambuilder.sh b/dreambuilder_mp_extras/customize-dreambuilder.sh index 090f3b6e..a595222a 100755 --- a/dreambuilder_mp_extras/customize-dreambuilder.sh +++ b/dreambuilder_mp_extras/customize-dreambuilder.sh @@ -16,8 +16,10 @@ if [ ! -d "$upstream_mods_path" ] ; then fi modpack_path=$upstream_mods_path"/my_mods/dreambuilder_modpack" +gitrefs_path=$upstream_mods_path"/my_mods/dreambuilder_git_refs" -rm -rf $modpack_path/* +rm -rf $modpack_path +mkdir $modpack_path touch $modpack_path/modpack.txt echo -e "\nBring all mods up-to-date from "$upstream_mods_path @@ -62,6 +64,7 @@ cheapies_mods/rgblightstone \ cheapies_mods/solidcolor \ cheapies_mods/arrowboards \ cheapies_mods/digidisplay \ +cheapies_mods/display_blocks_redo \ Jeijas_mods/digilines \ Jeijas_mods/jumping \ TenPlus1s_mods/farming \ @@ -75,7 +78,6 @@ DonBatmans_mods/mymillwork \ quartz \ stained_glass \ titanium \ -display_blocks \ gardening \ caverealms_lite \ deezls_mods/extra_stairsplus \ @@ -183,6 +185,8 @@ done <<< "$LIST" ln -s $upstream_mods_path"/my_mods/dreambuilder_mp_extras/readme.md" $modpack_path +cp -a $gitrefs_path/.git* $modpack_path + echo -e "\nCustomization completed. Here's what will be included in the modpack:\n" -ls $modpack_path +ls -a $modpack_path diff --git a/dreambuilder_mp_extras/update-dreambuilder-online-files.sh b/dreambuilder_mp_extras/update-dreambuilder-online-files.sh index ff67854c..f3358c26 100755 --- a/dreambuilder_mp_extras/update-dreambuilder-online-files.sh +++ b/dreambuilder_mp_extras/update-dreambuilder-online-files.sh @@ -7,18 +7,29 @@ echo -e "=================================================================\n" timestamp=`date +%Y%m%d-%H%M` -echo -e "\nCopy the Dreambuilder to /home/vanessa/.minetest/mods..." +echo -e "\nCopy Dreambuilder to /home/vanessa/.minetest/mods..." echo -e "=================================================================\n" -rsync -a --exclude=".git/" \ - /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack \ - /home/vanessa/.minetest/mods/ +rm -rf /home/vanessa/.minetest/mods/dreambuilder_modpack + +cp -a /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack \ + /home/vanessa/.minetest/mods/ echo -e "\nUpdate git repos..." echo -e "=================================================================\n" -rm -rf /run/shm/dreambuilder_modpack -rsync -aL /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack /run/shm/ +rm -rf /run/shm/dreambuilder_modpack* + +rsync -aL \ + /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack/* \ + /run/shm/dreambuilder_modpack_raw + +rsync -a --exclude ".git*" \ + /run/shm/dreambuilder_modpack_raw/* \ + /run/shm/dreambuilder_modpack + +cp -a /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_git_refs/.git* \ + /run/shm/dreambuilder_modpack cd /run/shm/dreambuilder_modpack git add . @@ -28,24 +39,24 @@ git tag $timestamp git push --tags cd ~ -rsync -aL --delete /run/shm/dreambuilder_modpack/.git /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack -rm -rf /run/shm/dreambuilder_modpack - echo -e "\nRecreate secondary game archive ..." echo -e "=================================================================\n" echo "Build timestamp: $timestamp" > \ - /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack/build-date.txt + /run/shm/dreambuilder_modpack/build-date.txt rm -f /home/vanessa/Minetest-related/Dreambuilder_Modpack.tar.bz2 -cd /home/vanessa/Minetest-related/mods/my_mods/ +cd /run/shm tar -jcf /home/vanessa/Digital-Audio-Concepts-Website/vanessa/hobbies/minetest/Dreambuilder_Modpack.tar.bz2 \ --exclude=".git/*" \ dreambuilder_modpack + rm /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack/build-date.txt /home/vanessa/Scripts/sync-website.sh +rm -rf /run/shm/dreambuilder_modpack* + echo -e "\nDone. Build timestamp: $timestamp \n" diff --git a/ebony/init.lua b/ebony/init.lua index 6f86ecd4..37055387 100644 --- a/ebony/init.lua +++ b/ebony/init.lua @@ -265,7 +265,7 @@ default.register_leafdecay({ --Stairs -if minetest.get_modpath("stairs") ~= nil then +if minetest.get_modpath("stairs") ~= nil then stairs.register_stair_and_slab( "ebony_trunk", "ebony:trunk", @@ -277,7 +277,7 @@ if minetest.get_modpath("stairs") ~= nil then ) end -if minetest.get_modpath("bonemeal") ~= nil then +if minetest.get_modpath("bonemeal") ~= nil then bonemeal:add_sapling({ {"ebony:sapling", grow_new_ebony_tree, "soil"}, }) diff --git a/facade/.github/workflows/check-release.yml b/facade/.github/workflows/check-release.yml deleted file mode 100644 index e5b52ded..00000000 --- a/facade/.github/workflows/check-release.yml +++ /dev/null @@ -1,11 +0,0 @@ -on: [push, pull_request] -name: Check & Release -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - name: lint - uses: Roang-zero1/factorio-mod-luacheck@master - with: - luacheckrc_url: https://raw.githubusercontent.com/TumeniNodes/facade/master/.luacheckrc diff --git a/farming/README.md b/farming/README.md index 2416f326..697f4a0b 100644 --- a/farming/README.md +++ b/farming/README.md @@ -13,7 +13,7 @@ This mod works by adding your new plant to the {growing=1} group and numbering t ### Changelog: -- 1.45 - Dirt and Hoes are more in line with default by using dry/wet/base options +- 1.45 - Dirt and Hoes are more in line with default by using dry/wet/base options, onion soup added (thanks edcrypt) - 1.44 - Added 'farming_stage_length' in mod settings for speed of crop growth, also thanks to TheDarkTiger for translation updates - 1.43 - Scythe works on use instead of right-click, added seed=1 groups to actual seeds and seed=2 group for plantable food items. - 1.42 - Soil needs water to be present within 3 blocks horizontally and 1 below to make wet soil, Jack 'o Lanterns now check protection, add chocolate block. diff --git a/farming/crops/mint.lua b/farming/crops/mint.lua new file mode 100644 index 00000000..96b2f46b --- /dev/null +++ b/farming/crops/mint.lua @@ -0,0 +1,91 @@ + +local S = farming.intllib + +-- mint seed +minetest.register_craftitem("farming:seed_mint", { + description = S("Mint Seeds"), + inventory_image = "farming_mint_seeds.png", + groups = {seed = 2, flammable = 2}, + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed( + itemstack, placer, pointed_thing, "farming:mint_1") + end +}) + +-- mint leaf +minetest.register_craftitem("farming:mint_leaf", { + description = S("Mint Leaf"), + inventory_image = "farming_mint_leaf.png", + groups = {food_mint = 1, flammable = 4}, +}) + +-- mint tea +minetest.register_craftitem("farming:mint_tea", { + description = S("Mint Tea"), + inventory_image = "farming_mint_tea.png", + on_use = minetest.item_eat(2, "vessels:drinking_glass"), + groups = {flammable = 4}, +}) + +minetest.register_craft({ + output = "farming:mint_tea", + type = "shapeless", + recipe = { + "vessels:drinking_glass", "group:food_mint", + "group:food_mint", "group:food_mint", + "farming:juicer", "bucket:bucket_water" + }, + replacements = { + {"group:food_juicer", "farming:juicer"}, + {"bucket:bucket_water", "bucket:bucket_empty"}, + }, +}) + +-- mint definition +local crop_def = { + drawtype = "plantlike", + tiles = {"farming_mint_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:mint_1", table.copy(crop_def)) + +-- stage 2 +crop_def.tiles = {"farming_mint_2.png"} +minetest.register_node("farming:mint_2", table.copy(crop_def)) + +-- stage 3 +crop_def.tiles = {"farming_mint_3.png"} +minetest.register_node("farming:mint_3", table.copy(crop_def)) + +-- stage 4 (final) +crop_def.tiles = {"farming_mint_4.png"} +crop_def.groups.growing = 0 +crop_def.drop = { + items = { + {items = {"farming:mint_leaf 2"}, rarity = 1}, + {items = {"farming:mint_leaf 2"}, rarity = 2}, + {items = {"farming:seed_mint 1"}, rarity = 1}, + {items = {"farming:seed_mint 2"}, rarity = 2}, + } +} +minetest.register_node("farming:mint_4", table.copy(crop_def)) + +-- add to registered_plants +farming.registered_plants["farming:mint"] = { + crop = "farming:mint", + seed = "farming:seed_mint", + minlight = 13, + maxlight = 15, + steps = 4 +} diff --git a/farming/crops/onion.lua b/farming/crops/onion.lua index 72a425e4..ba8c301b 100644 --- a/farming/crops/onion.lua +++ b/farming/crops/onion.lua @@ -7,7 +7,7 @@ local S = farming.intllib --- potato +-- onion minetest.register_craftitem("farming:onion", { description = S("Onion"), inventory_image = "crops_onion.png", @@ -18,6 +18,25 @@ minetest.register_craftitem("farming:onion", { on_use = minetest.item_eat(1), }) +-- onion soup +minetest.register_craftitem("farming:onion_soup", { + description = S("Onion Soup"), + inventory_image = "farming_onion_soup.png", + groups = {flammable = 2}, + on_use = minetest.item_eat(6, "farming:bowl"), +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:onion_soup", + recipe = { + "group:food_onion", "group:food_onion", "group:food_pot", + "group:food_onion", "group:food_onion", + "group:food_onion", "group:food_onion", "group:food_bowl" + }, + replacements = {{"farming:pot", "farming:pot"}} +}) + -- crop definition local crop_def = { drawtype = "plantlike", diff --git a/farming/farming.conf_example b/farming/farming.conf_example index c2c5de06..a1998f69 100644 --- a/farming/farming.conf_example +++ b/farming/farming.conf_example @@ -29,6 +29,7 @@ farming.pepper = 0.002 farming.pineapple = 0.001 farming.peas = 0.001 farming.beetroot = 0.001 +farming.mint = 0.005 farming.grains = true -- true or false only -- default rarety of crops on map (higher number = more crops) diff --git a/farming/init.lua b/farming/init.lua index 5ff80b69..1ab7abdf 100644 --- a/farming/init.lua +++ b/farming/init.lua @@ -7,7 +7,7 @@ farming = { mod = "redo", - version = "20200430", + version = "20200527", path = minetest.get_modpath("farming"), select = { type = "fixed", @@ -624,6 +624,7 @@ farming.pepper = 0.002 farming.pineapple = 0.001 farming.peas = 0.001 farming.beetroot = 0.001 +farming.mint = 0.005 farming.grains = true farming.rarety = 0.002 @@ -688,6 +689,7 @@ ddoo("peas.lua", farming.peas) ddoo("beetroot.lua", farming.beetroot) ddoo("chili.lua", farming.chili) ddoo("ryeoatrice.lua", farming.grains) +ddoo("mint.lua", farming.mint) dofile(farming.path.."/food.lua") dofile(farming.path.."/mapgen.lua") diff --git a/farming/mapgen.lua b/farming/mapgen.lua index beacd21a..6ebbff5e 100644 --- a/farming/mapgen.lua +++ b/farming/mapgen.lua @@ -47,6 +47,8 @@ register_plant("onion_5", 5, 22, nil, "", -1, farming.onion) register_plant("garlic_5", 3, 30, nil, "group:tree", 1, farming.garlic) register_plant("pea_5", 25, 50, nil, "", -1, farming.peas) register_plant("beetroot_5", 1, 15, nil, "", -1, farming.beetroot) +register_plant("mint_4", 1, 75, {"default:dirt_with_grass", +"default:dirt_with_coniferous_litter"}, "group:water", 1, farming.mint) if minetest.get_mapgen_setting("mg_name") == "v6" then diff --git a/farming/textures/farming_mint_1.png b/farming/textures/farming_mint_1.png new file mode 100644 index 00000000..10ba563d Binary files /dev/null and b/farming/textures/farming_mint_1.png differ diff --git a/farming/textures/farming_mint_2.png b/farming/textures/farming_mint_2.png new file mode 100644 index 00000000..b0d43247 Binary files /dev/null and b/farming/textures/farming_mint_2.png differ diff --git a/farming/textures/farming_mint_3.png b/farming/textures/farming_mint_3.png new file mode 100644 index 00000000..3ae3d61b Binary files /dev/null and b/farming/textures/farming_mint_3.png differ diff --git a/farming/textures/farming_mint_4.png b/farming/textures/farming_mint_4.png new file mode 100644 index 00000000..83c0e901 Binary files /dev/null and b/farming/textures/farming_mint_4.png differ diff --git a/farming/textures/farming_mint_leaf.png b/farming/textures/farming_mint_leaf.png new file mode 100644 index 00000000..da3a77f0 Binary files /dev/null and b/farming/textures/farming_mint_leaf.png differ diff --git a/farming/textures/farming_mint_seeds.png b/farming/textures/farming_mint_seeds.png new file mode 100644 index 00000000..2e0a0eae Binary files /dev/null and b/farming/textures/farming_mint_seeds.png differ diff --git a/farming/textures/farming_mint_tea.png b/farming/textures/farming_mint_tea.png new file mode 100644 index 00000000..0c7b5328 Binary files /dev/null and b/farming/textures/farming_mint_tea.png differ diff --git a/farming/textures/farming_onion_soup.png b/farming/textures/farming_onion_soup.png new file mode 100644 index 00000000..cd535aec Binary files /dev/null and b/farming/textures/farming_onion_soup.png differ diff --git a/item_drop/.luacheckrc b/item_drop/.luacheckrc new file mode 100644 index 00000000..a9c034e1 --- /dev/null +++ b/item_drop/.luacheckrc @@ -0,0 +1,19 @@ +unused_args = false +allow_defined_top = true +max_line_length = 999 + +ignore = { + "name", "drops", "i", +} + +globals = { + "minetest", +} + +read_globals = { + string = {fields = {"split", "trim"}}, + table = {fields = {"copy", "getn"}}, + + "vector", "ItemStack", + "dump", +} diff --git a/item_drop/README.md b/item_drop/README.md index 3fa08953..771e82d9 100644 --- a/item_drop/README.md +++ b/item_drop/README.md @@ -1,15 +1,14 @@ -# item_drop +# Item Drop [![](https://github.com/minetest-mods/item_drop/workflows/build/badge.svg)](https://github.com/minetest-mods/item_drop/actions) [![License](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) + +A highly configurable mod providing item magnet and in-world node drops\ By [PilzAdam](https://github.com/PilzAdam), [texmex](https://github.com/tacotexmex/), [hybriddog](https://github.com/hybriddog/). -## Description -A highly configurable mod providing item magnet and in-world node drops - ## Licensing LGPLv2.1/CC BY-SA 3.0. Particle code from WCILA mod by Aurailus, originally licensed MIT. ## Notes -item_drop can be played with Minetest 0.4.16 or above. It was originally +`item_drop` can be played with Minetest 0.4.16 or above. It was originally developed by [PilzAdam](https://github.com/PilzAdam/item_drop). ## List of features diff --git a/item_drop/init.lua b/item_drop/init.lua index bc0fc1a6..f0d0e002 100644 --- a/item_drop/init.lua +++ b/item_drop/init.lua @@ -103,7 +103,7 @@ if legacy_setting_getbool("item_drop.enable_item_pickup", if pickup_particle then local item = minetest.registered_nodes[ ent.itemstring:gsub("(.*)%s.*$", "%1")] - local image = "" + local image if item and item.tiles and item.tiles[1] then if inventorycube_drawtypes[item.drawtype] then local tiles = item.tiles @@ -201,9 +201,9 @@ if legacy_setting_getbool("item_drop.enable_item_pickup", local itemdef = minetest.registered_entities["__builtin:item"] local old_on_step = itemdef.on_step local function do_nothing() end - function itemdef.on_step(self, dtime) + function itemdef.on_step(self, ...) if not self.is_magnet_item then - return old_on_step(self, dtime) + return old_on_step(self, ...) end ObjectRef = ObjectRef or getmetatable(self.object) local old_funcs = {} @@ -212,7 +212,7 @@ if legacy_setting_getbool("item_drop.enable_item_pickup", old_funcs[method] = ObjectRef[method] ObjectRef[method] = do_nothing end - old_on_step(self, dtime) + old_on_step(self, ...) for i = 1, #blocked_methods do local method = blocked_methods[i] ObjectRef[method] = old_funcs[method] @@ -252,6 +252,13 @@ if legacy_setting_getbool("item_drop.enable_item_pickup", return keys_pressed ~= key_invert end + local function is_inside_map(pos) + local bound = 31000 + return -bound < pos.x and pos.x < bound + and -bound < pos.y and pos.y < bound + and -bound < pos.z and pos.z < bound + end + -- called for each player to possibly collect an item, returns true if so local function pickupfunc(player) if not has_keys_pressed(player) @@ -261,6 +268,10 @@ if legacy_setting_getbool("item_drop.enable_item_pickup", end local pos = player:get_pos() + if not is_inside_map(pos) then + -- get_objects_inside_radius crashes for too far positions + return + end pos.y = pos.y+0.5 local inv = player:get_inventory() diff --git a/mesecons_gates/init.lua b/mesecons_gates/init.lua index 421a7d4a..c30f9f83 100644 --- a/mesecons_gates/init.lua +++ b/mesecons_gates/init.lua @@ -1,6 +1,14 @@ +local selection_box = { + type = "fixed", + fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 } +} + local nodebox = { type = "fixed", - fixed = {{-8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }}, + fixed = { + { -8/16, -8/16, -8/16, 8/16, -7/16, 8/16 }, -- bottom slab + { -6/16, -7/16, -6/16, 6/16, -6/16, 6/16 } + }, } local function gate_rotate_rules(node, rules) @@ -68,7 +76,7 @@ local function register_gate(name, inputnumber, assess, recipe, description) is_ground_content = false, drawtype = "nodebox", drop = basename.."_off", - selection_box = nodebox, + selection_box = selection_box, node_box = nodebox, walkable = true, sounds = default.node_sound_stone_defaults(), @@ -78,8 +86,16 @@ local function register_gate(name, inputnumber, assess, recipe, description) inputnumber = inputnumber, after_dig_node = mesecon.do_cooldown, },{ - tiles = {"jeija_microcontroller_bottom.png^".."jeija_gate_off.png^".. - "jeija_gate_"..name..".png"}, + tiles = { + "jeija_microcontroller_bottom.png^".."jeija_gate_off.png^".. + "jeija_gate_output_off.png^".."jeija_gate_"..name..".png", + "jeija_microcontroller_bottom.png^".."jeija_gate_output_off.png^".. + "[transformFY", + "jeija_gate_side.png^".."jeija_gate_side_output_off.png", + "jeija_gate_side.png", + "jeija_gate_side.png", + "jeija_gate_side.png" + }, groups = {dig_immediate = 2, overheat = 1}, mesecons = { receptor = { state = "off", @@ -89,8 +105,16 @@ local function register_gate(name, inputnumber, assess, recipe, description) action_change = update_gate }} },{ - tiles = {"jeija_microcontroller_bottom.png^".."jeija_gate_on.png^".. - "jeija_gate_"..name..".png"}, + tiles = { + "jeija_microcontroller_bottom.png^".."jeija_gate_on.png^".. + "jeija_gate_output_on.png^".."jeija_gate_"..name..".png", + "jeija_microcontroller_bottom.png^".."jeija_gate_output_on.png^".. + "[transformFY", + "jeija_gate_side.png^".."jeija_gate_side_output_on.png", + "jeija_gate_side.png", + "jeija_gate_side.png", + "jeija_gate_side.png" + }, groups = {dig_immediate = 2, not_in_creative_inventory = 1, overheat = 1}, mesecons = { receptor = { state = "on", diff --git a/mesecons_gates/textures/jeija_gate_output_off.png b/mesecons_gates/textures/jeija_gate_output_off.png new file mode 100644 index 00000000..bee3942d Binary files /dev/null and b/mesecons_gates/textures/jeija_gate_output_off.png differ diff --git a/mesecons_gates/textures/jeija_gate_output_on.png b/mesecons_gates/textures/jeija_gate_output_on.png new file mode 100644 index 00000000..b3b6d217 Binary files /dev/null and b/mesecons_gates/textures/jeija_gate_output_on.png differ diff --git a/mesecons_gates/textures/jeija_gate_side.png b/mesecons_gates/textures/jeija_gate_side.png new file mode 100644 index 00000000..1223b54d Binary files /dev/null and b/mesecons_gates/textures/jeija_gate_side.png differ diff --git a/mesecons_gates/textures/jeija_gate_side_output_off.png b/mesecons_gates/textures/jeija_gate_side_output_off.png new file mode 100644 index 00000000..785e7c6b Binary files /dev/null and b/mesecons_gates/textures/jeija_gate_side_output_off.png differ diff --git a/mesecons_gates/textures/jeija_gate_side_output_on.png b/mesecons_gates/textures/jeija_gate_side_output_on.png new file mode 100644 index 00000000..0aaa4a5d Binary files /dev/null and b/mesecons_gates/textures/jeija_gate_side_output_on.png differ diff --git a/pipeworks/wielder.lua b/pipeworks/wielder.lua index 13f4398f..a0fb472c 100644 --- a/pipeworks/wielder.lua +++ b/pipeworks/wielder.lua @@ -40,7 +40,7 @@ local can_tool_dig_node = function(nodename, toolcaps, toolname) -- but a player holding one can - the game seems to fall back to the hand. -- fall back to checking the hand's properties if the tool isn't the correct one. local hand_caps = minetest.registered_items[""].tool_capabilities - diggable = minetest.get_dig_params(nodegroups, hand_caps) + diggable = minetest.get_dig_params(nodegroups, hand_caps).diggable end return diggable end diff --git a/pomegranate/init.lua b/pomegranate/init.lua index 4b0918d3..0cf8d6c7 100644 --- a/pomegranate/init.lua +++ b/pomegranate/init.lua @@ -162,7 +162,7 @@ minetest.register_node("pomegranate:leaves", { minetest.register_craftitem("pomegranate:section", { description = S("Pomegranate Section"), - inventory_image = "pomegranate_section.png", + inventory_image = "pomegranate_section.png", on_use = minetest.item_eat(3), groups = {flammable = 2, food = 2}, }) @@ -221,7 +221,7 @@ if minetest.get_modpath("stairs") ~= nil then ) end -if minetest.get_modpath("bonemeal") ~= nil then +if minetest.get_modpath("bonemeal") ~= nil then bonemeal:add_sapling({ {"pomegranate:sapling", grow_new_pomegranate_tree, "soil"}, }) diff --git a/pomegranate/schematics/pomegranate.mts b/pomegranate/schematics/pomegranate.mts index e073aa5b..3b5b762f 100644 Binary files a/pomegranate/schematics/pomegranate.mts and b/pomegranate/schematics/pomegranate.mts differ diff --git a/technic/machines/other/injector.lua b/technic/machines/other/injector.lua index 193d0516..c1926142 100644 --- a/technic/machines/other/injector.lua +++ b/technic/machines/other/injector.lua @@ -16,7 +16,7 @@ local function inject_items (pos) if stack then local item0=stack:to_table() if item0 then - item0["count"] = "1" + item0["count"] = 1 technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0) stack:take_item(1) inv:set_stack("main", i, stack) diff --git a/technic/machines/register/alloy_recipes.lua b/technic/machines/register/alloy_recipes.lua index a058dadd..388e0bba 100644 --- a/technic/machines/register/alloy_recipes.lua +++ b/technic/machines/register/alloy_recipes.lua @@ -12,14 +12,14 @@ function technic.register_alloy_recipe(data) end local recipes = { - {"technic:copper_dust 3", "technic:tin_dust", "technic:bronze_dust 4"}, - {"default:copper_ingot 3", "default:tin_ingot", "default:bronze_ingot 4"}, - {"technic:wrought_iron_dust", "technic:coal_dust", "technic:carbon_steel_dust", 3}, - {"technic:wrought_iron_ingot", "technic:coal_dust", "technic:carbon_steel_ingot", 3}, - {"technic:carbon_steel_dust", "technic:coal_dust", "technic:cast_iron_dust", 3}, - {"technic:carbon_steel_ingot", "technic:coal_dust", "technic:cast_iron_ingot", 3}, - {"technic:carbon_steel_dust 3", "technic:chromium_dust", "technic:stainless_steel_dust 4"}, - {"technic:carbon_steel_ingot 3", "technic:chromium_ingot", "technic:stainless_steel_ingot 4"}, + {"technic:copper_dust 7", "technic:tin_dust", "technic:bronze_dust 8", 12}, + {"default:copper_ingot 7", "default:tin_ingot", "default:bronze_ingot 8", 12}, + {"technic:wrought_iron_dust 2", "technic:coal_dust", "technic:carbon_steel_dust 2", 6}, + {"technic:wrought_iron_ingot 2", "technic:coal_dust", "technic:carbon_steel_ingot 2", 6}, + {"technic:carbon_steel_dust 2", "technic:coal_dust", "technic:cast_iron_dust 2", 6}, + {"technic:carbon_steel_ingot 2", "technic:coal_dust", "technic:cast_iron_ingot 2", 6}, + {"technic:carbon_steel_dust 4", "technic:chromium_dust", "technic:stainless_steel_dust 5", 7.5}, + {"technic:carbon_steel_ingot 4", "technic:chromium_ingot", "technic:stainless_steel_ingot 5", 7.5}, {"technic:copper_dust 2", "technic:zinc_dust", "technic:brass_dust 3"}, {"default:copper_ingot 2", "technic:zinc_ingot", "basic_materials:brass_ingot 3"}, {"default:sand 2", "technic:coal_dust 2", "technic:silicon_wafer"}, diff --git a/technic/machines/register/centrifuge_recipes.lua b/technic/machines/register/centrifuge_recipes.lua index 4684ba07..11c67887 100644 --- a/technic/machines/register/centrifuge_recipes.lua +++ b/technic/machines/register/centrifuge_recipes.lua @@ -11,8 +11,8 @@ function technic.register_separating_recipe(data) end local recipes = { - { "technic:bronze_dust 4", "technic:copper_dust 3", "technic:tin_dust" }, - { "technic:stainless_steel_dust 4", "technic:wrought_iron_dust 3", "technic:chromium_dust" }, + { "technic:bronze_dust 8", "technic:copper_dust 7", "technic:tin_dust" }, + { "technic:stainless_steel_dust 5", "technic:wrought_iron_dust 4", "technic:chromium_dust" }, { "technic:brass_dust 3", "technic:copper_dust 2", "technic:zinc_dust" }, { "technic:chernobylite_dust", "default:sand", "technic:uranium3_dust" }, { "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 2" }, diff --git a/technic/machines/register/common.lua b/technic/machines/register/common.lua index 38354f97..9d88702a 100644 --- a/technic/machines/register/common.lua +++ b/technic/machines/register/common.lua @@ -74,7 +74,7 @@ function technic.send_items(pos, x_velocity, z_velocity, output_name) if stack then local item0 = stack:to_table() if item0 then - item0["count"] = "1" + item0["count"] = 1 technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0) stack:take_item(1) inv:set_stack(output_name, i, stack) diff --git a/technic/tools/chainsaw.lua b/technic/tools/chainsaw.lua index 22685cfa..4d33324d 100644 --- a/technic/tools/chainsaw.lua +++ b/technic/tools/chainsaw.lua @@ -24,48 +24,81 @@ local nodes = { {"default:jungleleaves", false}, {"default:pine_needles", false}, + -- The default bushes + {"default:acacia_bush_stem", true}, + {"default:bush_stem", true}, + {"default:pine_bush_stem", true}, + {"default:acacia_bush_leaves", false}, + {"default:blueberry_bush_leaves", false}, + {"default:blueberry_bush_leaves_with_berries", false}, + {"default:bush_leaves", false}, + {"default:pine_bush_needles", false}, + -- Rubber trees from moretrees or technic_worldgen if moretrees isn't installed {"moretrees:rubber_tree_trunk_empty", true}, {"moretrees:rubber_tree_trunk", true}, {"moretrees:rubber_tree_leaves", false}, - -- Support moretrees + -- Support moretrees (trunk) {"moretrees:acacia_trunk", true}, {"moretrees:apple_tree_trunk", true}, {"moretrees:beech_trunk", true}, {"moretrees:birch_trunk", true}, + {"moretrees:cedar_trunk", true}, + {"moretrees:date_palm_ffruit_trunk", true}, + {"moretrees:date_palm_fruit_trunk", true}, + {"moretrees:date_palm_mfruit_trunk", true}, + {"moretrees:date_palm_trunk", true}, {"moretrees:fir_trunk", true}, + {"moretrees:jungletree_trunk", true}, {"moretrees:oak_trunk", true}, {"moretrees:palm_trunk", true}, + {"moretrees:palm_fruit_trunk", true}, + {"moretrees:palm_fruit_trunk_gen", true}, {"moretrees:pine_trunk", true}, + {"moretrees:poplar_trunk", true}, {"moretrees:sequoia_trunk", true}, {"moretrees:spruce_trunk", true}, {"moretrees:willow_trunk", true}, - {"moretrees:jungletree_trunk", true}, - {"moretrees:poplar_trunk", true}, + -- Support moretrees (leaves) {"moretrees:acacia_leaves", false}, {"moretrees:apple_tree_leaves", false}, - {"moretrees:oak_leaves", false}, + {"moretrees:beech_leaves", false}, + {"moretrees:birch_leaves", false}, + {"moretrees:cedar_leaves", false}, + {"moretrees:date_palm_leaves", false}, {"moretrees:fir_leaves", false}, {"moretrees:fir_leaves_bright", false}, - {"moretrees:sequoia_leaves", false}, - {"moretrees:birch_leaves", false}, - {"moretrees:birch_leaves", false}, - {"moretrees:palm_leaves", false}, - {"moretrees:spruce_leaves", false}, - {"moretrees:spruce_leaves", false}, - {"moretrees:pine_leaves", false}, - {"moretrees:willow_leaves", false}, {"moretrees:jungletree_leaves_green", false}, {"moretrees:jungletree_leaves_yellow", false}, {"moretrees:jungletree_leaves_red", false}, - {"moretrees:acorn", false}, - {"moretrees:coconut", false}, - {"moretrees:spruce_cone", false}, - {"moretrees:pine_cone", false}, - {"moretrees:fir_cone", false}, - {"moretrees:apple_blossoms", false}, + {"moretrees:oak_leaves", false}, + {"moretrees:palm_leaves", false}, {"moretrees:poplar_leaves", false}, + {"moretrees:pine_leaves", false}, + {"moretrees:sequoia_leaves", false}, + {"moretrees:spruce_leaves", false}, + {"moretrees:willow_leaves", false}, + -- Support moretrees (fruit) + {"moretrees:acorn", false}, + {"moretrees:apple_blossoms", false}, + {"moretrees:cedar_cone", false}, + {"moretrees:coconut", false}, + {"moretrees:coconut_0", false}, + {"moretrees:coconut_1", false}, + {"moretrees:coconut_2", false}, + {"moretrees:coconut_3", false}, + {"moretrees:dates_f0", false}, + {"moretrees:dates_f1", false}, + {"moretrees:dates_f2", false}, + {"moretrees:dates_f3", false}, + {"moretrees:dates_f4", false}, + {"moretrees:dates_fn", false}, + {"moretrees:dates_m0", false}, + {"moretrees:dates_n", false}, + {"moretrees:fir_cone", false}, + {"moretrees:pine_cone", false}, + {"moretrees:spruce_cone", false}, -- Support growing_trees {"growing_trees:trunk", true}, @@ -161,6 +194,18 @@ local S = technic.getter technic.register_power_tool("technic:chainsaw", chainsaw_max_charge) +-- This function checks if the specified node should be sawed +local function check_if_node_sawed(pos) + local node_name = minetest.get_node(pos).name + if timber_nodenames[node_name] + or (chainsaw_leaves and minetest.get_item_group(node_name, "leaves") ~= 0) + or minetest.get_item_group(node_name, "tree") ~= 0 then + return true + end + + return false +end + -- Table for saving what was sawed down local produced = {} @@ -237,7 +282,7 @@ local function recursive_dig(pos, remaining_charge) end local node = minetest.get_node(pos) - if not timber_nodenames[node.name] then + if not check_if_node_sawed(pos) then return remaining_charge end @@ -251,8 +296,10 @@ local function recursive_dig(pos, remaining_charge) if remaining_charge < chainsaw_charge_per_node then break end - if timber_nodenames[minetest.get_node(npos).name] then + if check_if_node_sawed(npos) then remaining_charge = recursive_dig(npos, remaining_charge) + else + minetest.check_for_falling(npos) end end return remaining_charge diff --git a/titanium/init.lua b/titanium/init.lua index ecaa2d4b..a9d4eff8 100644 --- a/titanium/init.lua +++ b/titanium/init.lua @@ -105,10 +105,10 @@ minetest.register_tool("titanium:sword", { full_punch_interval = 1.0, max_drop_level=1, groupcaps={ - fleshy={times={[1]=2.00, [2]=0.60, [3]=0.20}, uses=100, maxlevel=2}, - snappy={times={[2]=0.60, [3]=0.20}, uses=100, maxlevel=1}, - choppy={times={[3]=0.70}, uses=100, maxlevel=0} - } + snappy={times={[2]=0.60, [3]=0.20}, uses=1000, maxlevel=1}, + choppy={times={[3]=0.70}, uses=1000, maxlevel=0} + }, + damage_groups = {fleshy=6}, } }) diff --git a/unifieddyes/init.lua b/unifieddyes/init.lua index e8f388e0..8924294e 100644 --- a/unifieddyes/init.lua +++ b/unifieddyes/init.lua @@ -161,7 +161,8 @@ minetest.register_on_placenode( if not def or not def.palette - or def.after_place_node then + or def.after_place_node + or not placer then return false end @@ -192,6 +193,7 @@ minetest.register_on_placenode( -- The complementary function: strip-off the color if the node being dug is still white/neutral local function move_item(item, pos, inv, digger) + if not digger then return end local creative = creative_mode or minetest.check_player_privs(digger, "creative") if inv:room_for_item("main", item) and (not creative or not inv:contains_item("main", item, true)) then @@ -203,7 +205,7 @@ local function move_item(item, pos, inv, digger) end function unifieddyes.on_dig(pos, node, digger) - + if not digger then return end local playername = digger:get_player_name() if minetest.is_protected(pos, playername) then minetest.record_protection_violation(pos, playername) diff --git a/willow/init.lua b/willow/init.lua index f35208ff..ad0e2ab7 100644 --- a/willow/init.lua +++ b/willow/init.lua @@ -28,17 +28,17 @@ end if mg_name ~= "v6" and mg_name ~= "singlenode" then minetest.register_decoration({ deco_type = "schematic", - place_on = {"default:dirt_with_rainforest_litter"}, + place_on = {"default:dirt"}, sidelen = 16, noise_params = { - offset = 0.005, - scale = 0.002, + offset = 0.0005, + scale = 0.0002, spread = {x = 250, y = 250, z = 250}, seed = 2, octaves = 3, persist = 0.66 }, - biomes = {"savanna_shore"}, + biomes = {"deciduous_forest_shore"}, height = 2, y_min = -1, y_max = 62, diff --git a/willow/textures/willow_sapling.png b/willow/textures/willow_sapling.png index 93a3b479..abcab083 100644 Binary files a/willow/textures/willow_sapling.png and b/willow/textures/willow_sapling.png differ diff --git a/worldedit/common.lua b/worldedit/common.lua index c62957f2..9a2215dd 100644 --- a/worldedit/common.lua +++ b/worldedit/common.lua @@ -46,6 +46,9 @@ end function worldedit.keep_loaded(pos1, pos2) + -- Create a vmanip and read the area from map, this + -- causes all MapBlocks to be loaded into memory. + -- This doesn't actually *keep* them loaded, unlike the name implies. local manip = minetest.get_voxel_manip() manip:read_from_map(pos1, pos2) end diff --git a/worldedit_commands/init.lua b/worldedit_commands/init.lua index 4e5edbe4..1cdb1077 100644 --- a/worldedit_commands/init.lua +++ b/worldedit_commands/init.lua @@ -154,6 +154,8 @@ local function string_endswith(full, part) return full:find(part, 1, true) == #full - #part + 1 end +local description_cache = nil + -- normalizes node "description" `nodename`, returning a string (or nil) worldedit.normalize_nodename = function(nodename) nodename = nodename:gsub("^%s*(.-)%s*$", "%1") -- strip spaces @@ -164,16 +166,30 @@ worldedit.normalize_nodename = function(nodename) return fullname end nodename = nodename:lower() - for key, value in pairs(minetest.registered_nodes) do - if string_endswith(key, ":" .. nodename) then -- matches name (w/o mod part) + + for key, _ in pairs(minetest.registered_nodes) do + if string_endswith(key:lower(), ":" .. nodename) then -- matches name (w/o mod part) return key end end - for key, value in pairs(minetest.registered_nodes) do - local desc = strip_escapes(value.description):gsub("\n.*", "", 1):lower() + + if description_cache == nil then + -- cache stripped descriptions + description_cache = {} + for key, value in pairs(minetest.registered_nodes) do + local desc = strip_escapes(value.description):gsub("\n.*", "", 1):lower() + if desc ~= "" then + description_cache[key] = desc + end + end + end + + for key, desc in pairs(description_cache) do if desc == nodename then -- matches description return key end + end + for key, desc in pairs(description_cache) do if desc == nodename .. " block" then -- fuzzy description match (e.g. "Steel" == "Steel Block") return key @@ -181,8 +197,8 @@ worldedit.normalize_nodename = function(nodename) end local match = nil - for key, value in pairs(minetest.registered_nodes) do - if value.description:lower():find(nodename, 1, true) ~= nil then + for key, value in pairs(description_cache) do + if value:find(nodename, 1, true) ~= nil then if match ~= nil then return nil end @@ -574,6 +590,9 @@ worldedit.register_command("mix", { nodes[#nodes + 1] = node end end + if #nodes == 0 then + return false + end return true, nodes end, nodes_needed = check_region, diff --git a/worldedit_gui/functionality.lua b/worldedit_gui/functionality.lua index 9dda5f54..2efbf9ae 100644 --- a/worldedit_gui/functionality.lua +++ b/worldedit_gui/functionality.lua @@ -461,8 +461,8 @@ worldedit.register_gui_handler("worldedit_gui_pyramid", function(name, fields) local n = worldedit.normalize_nodename(gui_nodename1[name]) if n then execute_worldedit_command(submit, name, - axis_values[gui_axis1[name]] .. " " .. gui_distance1[name] .. - " " .. n) + string.format("%s %s %s", axis_values[gui_axis1[name]], + gui_distance1[name], n)) end return true end @@ -691,7 +691,7 @@ worldedit.register_gui_handler("worldedit_gui_rotate", function(name, fields) worldedit.show_page(name, "worldedit_gui_rotate") execute_worldedit_command("rotate", name, - axis_values[gui_axis1[name]] .. angle_values[gui_angle[name]]) + axis_values[gui_axis1[name]] .. " " .. angle_values[gui_angle[name]]) return true end return ret