// walrus on an ice floe
var x, y, z, i;
var ice = 10;
// water and ice
fill(0, 0, 0, 63, 8, 63, b('water'));
fill(0, 0, 0, 63, 2, 63, b('gravel'));
fill(8, 9, 8, 56, ice, 56, b('packed_ice'));
fill(12, ice, 12, 52, ice, 52, b('snow_block'));
// body of the walrus - big rounded blob
var bodyY = ice + 1;
for (x = 16; x <= 46; x++) {
var r = 7;
if (x < 22) r = 3 + (x - 16);
if (x > 40) r = 7 - (x - 40);
for (z = 32 - r; z <= 32 + r; z++) {
for (y = bodyY; y <= bodyY + r + 2; y++) {
var dz = z - 32;
var dy = y - (bodyY + r);
if (dz * dz + dy * dy <= r * r) {
pb(x, y, z, 'brown_terracotta');
}
}
}
}
// head
makeSphere(48, bodyY + 6, 32, 'brown_terracotta', 5, false);
// eyes
pb(51, bodyY + 9, 30, 'black_wool');
pb(51, bodyY + 9, 34, 'black_wool');
// muzzle
makeSphere(52, bodyY + 5, 32, 'brown_terracotta', 3, false);
// tusks going down
for (i = 0; i < 8; i++) {
pb(52, bodyY + 3 - i, 30, 'bone_block');
pb(52, bodyY + 3 - i, 34, 'bone_block');
}
// front flippers
for (i = 0; i < 6; i++) {
for (z = 0; z < 3; z++) {
pb(40 + i, bodyY, 32 - 8 - z, 'brown_terracotta');
pb(40 + i, bodyY, 32 + 8 + z, 'brown_terracotta');
}
}
// rear flippers
for (i = 0; i < 6; i++) {
for (z = 0; z < 5; z++) {
pb(14 + i, bodyY, 32 - 3 - z, 'brown_terracotta');
pb(14 + i, bodyY, 32 + 3 + z, 'brown_terracotta');
}
}
// some snow around
for (i = 0; i < 40; i++) {
var sx = 12 + (i * 7) % 40;
var sz = 12 + (i * 13) % 40;
pb(sx, ice + 1, sz, 'snow_block');
}