Cleanup codes [needs testing]

master
SmallJoker 2014-09-28 19:01:27 +02:00
parent 8592aaa7e9
commit 1ff1124c69
2 changed files with 52 additions and 58 deletions

View File

@ -1,3 +1,3 @@
A first test of a mod that tries to imitate that scurril rail corridors of Minecraft.
This mod tries to imitate the known rail corridors of Minecraft.
Dies ist eine Testversion eines Mods, der versucht, die aus Minecraft bekannten Minenschächte mit Schienen nachzubilden.
Diese Modifikation versucht die aus Minecraft bekannten Minenschächte mit Schienen nachzubilden.

View File

@ -17,7 +17,7 @@ local probability_up_or_down = 0.27
-- Zufallsgenerator / random generator
local pr
local pr_initialized = false;
local pr_initialized = false
function InitRandomizer(seeed)
pr = PseudoRandom(seeed)
@ -49,50 +49,45 @@ function corridor_part(start_point, segment_vector, segment_count)
for segmentindex = 0, segment_count-1 do
Cube(p, 1, {name="air"})
-- Diese komischen Holz-Konstruktionen
-- These funny wood structs
-- These strange wood structs
if segmentindex % 2 == 1 and segment_vector.y == 0 then
minetest.set_node({x=p.x, y=p.y+1, z=p.z}, {name="default:wood"})
local dir = {0, 0}
local node_wood = {name="default:wood"}
local node_fence = {name="default:fence_wood"}
if segment_vector.x == 0 and segment_vector.z ~= 0 then
minetest.set_node({x=p.x+1, y=p.y+1, z=p.z}, {name="default:wood"})
minetest.set_node({x=p.x-1, y=p.y+1, z=p.z}, {name="default:wood"})
minetest.set_node({x=p.x-1, y=p.y, z=p.z}, {name="default:fence_wood"})
minetest.set_node({x=p.x+1, y=p.y, z=p.z}, {name="default:fence_wood"})
minetest.set_node({x=p.x+1, y=p.y-1, z=p.z}, {name="default:fence_wood"})
minetest.set_node({x=p.x-1, y=p.y-1, z=p.z}, {name="default:fence_wood"})
if minetest.get_node({x=p.x,y=p.y-2,z=p.z}).name=="air" then
minetest.set_node({x=p.x+1, y=p.y-2, z=p.z}, {name="default:fence_wood"})
minetest.set_node({x=p.x-1, y=p.y-2, z=p.z}, {name="default:fence_wood"})
end
if torches then
minetest.set_node({x=p.x, y=p.y+1, z=p.z+1}, {name="default:torch", param2=1})
minetest.set_node({x=p.x, y=p.y+1, z=p.z-1}, {name="default:torch", param2=1})
end
dir = {1, 0}
elseif segment_vector.x ~= 0 and segment_vector.z == 0 then
minetest.set_node({x=p.x, y=p.y+1, z=p.z+1}, {name="default:wood"})
minetest.set_node({x=p.x, y=p.y+1, z=p.z-1}, {name="default:wood"})
minetest.set_node({x=p.x, y=p.y, z=p.z+1}, {name="default:fence_wood"})
minetest.set_node({x=p.x, y=p.y, z=p.z-1}, {name="default:fence_wood"})
minetest.set_node({x=p.x, y=p.y-1, z=p.z+1}, {name="default:fence_wood"})
minetest.set_node({x=p.x, y=p.y-1, z=p.z-1}, {name="default:fence_wood"})
dir = {0, 1}
end
local calc = {
p.x+dir[1], p.z+dir[2], -- X and Z, added by direction
p.x-dir[1], p.z-dir[2], -- subtracted
}
minetest.set_node({x=p.x, y=p.y+1, z=p.z}, node_wood)
minetest.set_node({x=calc[1], y=p.y+1, z=calc[2]}, node_wood)
minetest.set_node({x=calc[1], y=p.y , z=calc[2]}, node_fence)
minetest.set_node({x=calc[1], y=p.y-1, z=calc[2]}, node_fence)
minetest.set_node({x=calc[3], y=p.y+1, z=calc[4]}, node_wood)
minetest.set_node({x=calc[3], y=p.y , z=calc[4]}, node_fence)
minetest.set_node({x=calc[3], y=p.y-1, z=calc[4]}, node_fence)
if minetest.get_node({x=p.x,y=p.y-2,z=p.z}).name=="air" then
minetest.set_node({x=p.x, y=p.y-2, z=p.z+1}, {name="default:fence_wood"})
minetest.set_node({x=p.x, y=p.y-2, z=p.z-1}, {name="default:fence_wood"})
minetest.set_node({x=calc[1], y=p.y-2, z=calc[2]}, node_fence)
minetest.set_node({x=calc[3], y=p.y-2, z=calc[4]}, node_fence)
end
if torches then
minetest.set_node({x=p.x+1, y=p.y+1, z=p.z}, {name="default:torch", param2=1})
minetest.set_node({x=p.x-1, y=p.y+1, z=p.z}, {name="default:torch", param2=1})
end
minetest.set_node({x=calc[1], y=p.y+1, z=calc[2]}, {name="default:torch", param2=1})
minetest.set_node({x=calc[3], y=p.y+1, z=calc[4]}, {name="default:torch", param2=1})
end
end
-- nächster Punkt durch vektoraddition
-- next way point
p.x = p.x + segment_vector.x
p.y = p.y + segment_vector.y
p.z = p.z + segment_vector.z
p = vector.add(p, segment_vector)
end
p.x = p.x - segment_vector.x
p.y = p.y - segment_vector.y
p.z = p.z - segment_vector.z
p = vector.subtract(p, segment_vector)
end
function corridor_func(waypoint, coord, sign, up_or_down, up)
@ -207,7 +202,6 @@ function place_corridors(main_cave_coords, psra)
if nextrandom(0, 2) < 1 then
start_corridor(main_cave_coords, "z", not zs, psra)
end
end
minetest.register_on_generated(function(minp, maxp, seed)