transform param2 as well in transform_coordinates
This commit is contained in:
parent
75d0f49027
commit
f3f96e5141
@ -297,7 +297,6 @@ mg_villages.inhabitants.assign_mobs_to_beds = function( bpos, house_nr, village_
|
|||||||
bpos.beds[i].x = p.x;
|
bpos.beds[i].x = p.x;
|
||||||
bpos.beds[i].y = p.y;
|
bpos.beds[i].y = p.y;
|
||||||
bpos.beds[i].z = p.z;
|
bpos.beds[i].z = p.z;
|
||||||
-- TODO: let transform_coordinates rotate param2 correctly
|
|
||||||
bpos.beds[i].p2 = bed[4];
|
bpos.beds[i].p2 = bed[4];
|
||||||
end
|
end
|
||||||
-- lumberjack home
|
-- lumberjack home
|
||||||
@ -1040,6 +1039,31 @@ mg_villages.transform_coordinates = function( pos, bpos )
|
|||||||
p.z = p.z + rel.x;
|
p.z = p.z + rel.x;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- param2 is rotated the same way as in handle_schematics.generate_building_what_to_place_here_and_how
|
||||||
|
if( p[4] ) then -- param2
|
||||||
|
local mirror_x = false;
|
||||||
|
local mirror_z = false;
|
||||||
|
if( bpos.mirror ) then
|
||||||
|
if( building_data.axis and building_data.axis == 1 ) then
|
||||||
|
mirror_x = true;
|
||||||
|
mirror_z = false;
|
||||||
|
-- used for "restore original landscape"
|
||||||
|
elseif( building_data.axis and building_data.axis == 3 ) then
|
||||||
|
mirror_z = true;
|
||||||
|
mirror_x = true;
|
||||||
|
else
|
||||||
|
mirror_x = false;
|
||||||
|
mirror_z = true;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if( mirror_x ) then
|
||||||
|
p[4] = handle_schematics.rotation_table[ 'facedir' ][ p[4]+1 ][ bpos.brotate+1 ][ 2 ];
|
||||||
|
elseif( mirror_z ) then
|
||||||
|
p[4] = handle_schematics.rotation_table[ 'facedir' ][ p[4]+1 ][ bpos.brotate+1 ][ 3 ];
|
||||||
|
else
|
||||||
|
p[4] = handle_schematics.rotation_table[ 'facedir' ][ p[4]+1 ][ bpos.brotate+1 ][ 1 ];
|
||||||
|
end
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user