diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_side.png index 2e2de8dbe..2b57a0863 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_side.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_side.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_top.png index 0746884de..bd10499c8 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_top.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_side.png index a27739c1e..5eed80b39 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_side.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_side.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_top.png index e5290422d..69d2e0bfd 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_top.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_side.png index 9345a14dc..32a8bfebd 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_side.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_side.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_top.png index fbc45938f..48c6da9af 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_top.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_side.png index 74f9f03d5..c65669655 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_side.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_side.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_top.png index bfa54d8fe..028e37eaf 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_top.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_side.png index 3bdffd76e..c37220bb6 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_side.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_side.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_top.png index b07c72613..e060862e7 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_top.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_side.png index 11ea15beb..55cb4cec3 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_side.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_side.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_top.png index 7699612b6..ec0dd2da8 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_top.png and b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_top.png differ diff --git a/mods/ITEMS/mcl_end/chorus_plant.lua b/mods/ITEMS/mcl_end/chorus_plant.lua index 9622e618f..597842867 100644 --- a/mods/ITEMS/mcl_end/chorus_plant.lua +++ b/mods/ITEMS/mcl_end/chorus_plant.lua @@ -309,7 +309,7 @@ minetest.register_node("mcl_end:chorus_plant", { }) -- Grow a complete chorus plant at pos -mcl_end.grow_chorus_plant = function(pos, node) +mcl_end.grow_chorus_plant = function(pos, node, pr) local flowers = { pos } -- Plant initial flower (if it isn't there already) if not node then @@ -321,7 +321,7 @@ mcl_end.grow_chorus_plant = function(pos, node) while true do local new_flowers_list = {} for f=1, #flowers do - local new_flowers = mcl_end.grow_chorus_plant_step(flowers[f], minetest.get_node(flowers[f])) + local new_flowers = mcl_end.grow_chorus_plant_step(flowers[f], minetest.get_node(flowers[f]), pr) if #new_flowers > 0 then table.insert(new_flowers_list, new_flowers) end @@ -340,7 +340,7 @@ end -- Grow a single step of a chorus plant at pos. -- Pos must be a chorus flower. -mcl_end.grow_chorus_plant_step = function(pos, node) +mcl_end.grow_chorus_plant_step = function(pos, node, pr) local new_flower_buds = {} local above = { x = pos.x, y = pos.y + 1, z = pos.z } local node_above = minetest.get_node(above) @@ -396,7 +396,7 @@ mcl_end.grow_chorus_plant_step = function(pos, node) if grow_chance then local new_flowers = {} - local r = math.random(1, 100) + local r = pr:next(1, 100) local age = node.param2 if r <= grow_chance then table.insert(new_flowers, above) @@ -404,13 +404,13 @@ mcl_end.grow_chorus_plant_step = function(pos, node) age = age + 1 local branches if branching == false then - branches = math.random(1, 4) + branches = pr:next(1, 4) elseif branching == true then - branches = math.random(0, 3) + branches = pr:next(0, 3) end local branch_grown = false for b=1, branches do - local next_branch = math.random(1, #around) + local next_branch = pr:next(1, #around) local branch = vector.add(pos, around[next_branch]) local below_branch = vector.add(branch, {x=0,y=-1,z=0}) if minetest.get_node(below_branch).name == "air" then @@ -457,7 +457,7 @@ minetest.register_abm({ interval = 35.0, chance = 4.0, action = function(pos, node, active_object_count, active_object_count_wider) - mcl_end.grow_chorus_plant_step(pos, node) + mcl_end.grow_chorus_plant_step(pos, node, pr) end, }) diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index f583d87b6..3655be7eb 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -3974,9 +3974,16 @@ if mg_name ~= "singlenode" then mcl_mapgen_core.register_generator("chorus_grow", nil, function(minp, maxp, blockseed) local gennotify = minetest.get_mapgen_object("gennotify") --local poslist = {} + local pr = PseudoRandom(blockseed + 14) for _, pos in ipairs(gennotify["decoration#"..deco_id_chorus_plant] or {}) do - local realpos = { x = pos.x, y = pos.y + 1, z = pos.z } - mcl_end.grow_chorus_plant(realpos) + local x, y, z = pos.x, pos.y, pos.z + if x < -2 or x > 2 or z < -2 or z > 2 then + local realpos = { x = x, y = y + 1, z = z } + local node = minetest.get_node(realpos) + if node and node.name == "mcl_end:chorus_flower" then + mcl_end.grow_chorus_plant(realpos, node, pr) + end + end end end) end diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 90b272506..bdcdb1b4d 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -1248,9 +1248,14 @@ local function generate_clay(minp, maxp, blockseed, voxelmanip_data, voxelmanip_ end local function generate_end_exit_portal(pos) - local dragon_entity = minetest.add_entity(vector.add(pos, vector.new(3, 11, 3)), "mobs_mc:enderdragon"):get_luaentity() - dragon_entity._initial = true - dragon_entity._portal_pos = pos + local obj = minetest.add_entity(vector.add(pos, vector.new(3, 11, 3)), "mobs_mc:enderdragon") + if obj then + local dragon_entity = obj:get_luaentity() + dragon_entity._initial = true + dragon_entity._portal_pos = pos + else + minetest.log("error", "[mcl_mapgen_core] ERROR! Ender dragon doesn't want to spawn") + end mcl_structures.call_struct(pos, "end_exit_portal") end