// simple diner
var i, j, y, x, z;
// ground
fill(0, 0, 0, 47, 0, 39, b('grass_block'));
fill(6, 1, 24, 42, 1, 36, b('gray_concrete'));
// ground floor box 10..38 x 6..22
fill(10, 1, 6, 38, 1, 22, b('white_concrete'));
// checkerboard floor
for (x = 10; x <= 38; x++) {
for (z = 6; z <= 22; z++) {
if ((x + z) % 2 === 0) pb(x, 1, z, 'black_concrete');
else pb(x, 1, z, 'white_concrete');
}
}
// walls
for (y = 2; y <= 7; y++) {
for (x = 10; x <= 38; x++) {
var mw;
if (y === 2) mw = 'red_concrete';
else if (y === 7) mw = 'red_concrete';
else if (y === 4 || y === 5) mw = 'glass';
else mw = 'white_concrete';
pb(x, y, 6, mw);
pb(x, y, 22, mw);
}
for (z = 6; z <= 22; z++) {
var mw2;
if (y === 2) mw2 = 'red_concrete';
else if (y === 7) mw2 = 'red_concrete';
else if (y === 4 || y === 5) mw2 = 'glass';
else mw2 = 'white_concrete';
pb(10, y, z, mw2);
pb(38, y, z, mw2);
}
}
// door
pb(24, 2, 22, 'air'); pb(24, 3, 22, 'air');
pb(25, 2, 22, 'air'); pb(25, 3, 22, 'air');
// ceiling / second floor slab
fill(10, 8, 6, 38, 8, 22, b('light_gray_concrete'));
// second floor small box
for (y = 9; y <= 13; y++) {
for (x = 20; x <= 34; x++) {
var m3 = (y === 11 || y === 12) ? 'glass' : 'white_concrete';
pb(x, y, 10, m3);
pb(x, y, 18, m3);
}
for (z = 10; z <= 18; z++) {
var m4 = (y === 11 || y === 12) ? 'glass' : 'white_concrete';
pb(20, y, z, m4);
pb(34, y, z, m4);
}
}
fill(20, 14, 10, 34, 14, 18, b('light_gray_concrete'));
// rooftop sign
for (i = 14; i <= 30; i++) {
pb(i, 9, 20, 'red_concrete');
pb(i, 10, 20, 'red_concrete');
pb(i, 11, 20, 'red_concrete');
}
pb(16, 10, 20, 'glowstone'); pb(20, 10, 20, 'glowstone'); pb(24, 10, 20, 'glowstone'); pb(28, 10, 20, 'glowstone');
// counter
for (i = 14; i <= 30; i++) {
pb(i, 2, 12, 'quartz_block');
pb(i, 3, 12, 'smooth_quartz_slab');
}
// stools
for (i = 14; i <= 30; i += 2) {
pb(i, 2, 13, 'oak_fence');
pb(i, 3, 13, 'red_carpet');
}
// booths
for (i = 14; i <= 34; i += 4) {
pb(i, 2, 19, 'oak_fence');
pb(i, 3, 19, 'oak_pressure_plate');
ps(i, 2, 18, 'red_concrete_stairs[facing=south]');
ps(i, 2, 20, 'red_concrete_stairs[facing=north]');
}
// kitchen
for (i = 14; i <= 22; i++) pb(i, 2, 8, 'furnace');
// stairs up (loop)
for (i = 0; i < 7; i++) {
ps(36 - i, 2 + i, 16, 'oak_stairs[facing=west]');
}
pb(29, 8, 16, 'air'); pb(30, 8, 16, 'air');
// lights
pb(16, 7, 10, 'glowstone'); pb(24, 7, 10, 'glowstone'); pb(32, 7, 10, 'glowstone');
pb(16, 7, 18, 'glowstone'); pb(24, 7, 18, 'glowstone'); pb(32, 7, 18, 'glowstone');
// office furniture
pb(24, 9, 12, 'oak_fence'); pb(24, 10, 12, 'oak_pressure_plate');
ps(24, 9, 13, 'oak_stairs[facing=north]');
pb(28, 9, 16, 'bookshelf'); pb(28, 10, 16, 'bookshelf');
pb(22, 9, 16, 'chest');