// deep sea anglerfish on the seabed
// seabed
fill(4, 0, 4, 76, 0, 92, 'stone');
fill(4, 1, 4, 76, 2, 92, 'deepslate');
fill(4, 3, 4, 76, 3, 92, 'gravel');
var cx = 40;
var groundY = 3;
// body - big sphere
makeSphere(cx, 18, 46, 'black_concrete', 14, true);
// make it a bit longer toward the tail
makeSphere(cx, 18, 56, 'black_concrete', 11, true);
makeSphere(cx, 18, 64, 'black_concrete', 7, true);
makeSphere(cx, 18, 70, 'black_concrete', 4, true);
// head front
makeSphere(cx, 18, 36, 'black_concrete', 12, true);
// mouth - cut a big wedge out of the front
for (var z = 22; z <= 38; z++) {
var gap = Math.round((38 - z) / 2) + 1;
for (var y = 18 - gap; y <= 18 + gap; y++) {
for (var x = cx - 10; x <= cx + 10; x++) {
pb(x, y, z, 'air');
}
}
}
// teeth
for (var tz = 24; tz <= 36; tz += 3) {
var g = Math.round((38 - tz) / 2) + 1;
for (var tx = cx - 8; tx <= cx + 8; tx += 2) {
pb(tx, 18 + g, tz, 'bone_block[axis=y]');
pb(tx, 18 + g - 1, tz, 'bone_block[axis=y]');
pb(tx, 18 - g, tz, 'bone_block[axis=y]');
pb(tx, 18 - g + 1, tz, 'bone_block[axis=y]');
}
}
// eyes
pb(cx - 11, 24, 38, 'white_concrete');
pb(cx + 11, 24, 38, 'white_concrete');
pb(cx - 11, 24, 39, 'black_concrete');
pb(cx + 11, 24, 39, 'black_concrete');
// dorsal stalk with the lure
for (var s = 0; s <= 16; s++) {
pb(cx, 30 + s, 40 - s);
pb(cx, 30 + s, 40 - s, 'gray_concrete');
}
makeSphere(cx, 46, 24, 'glowstone', 3, true);
// pectoral fins
for (var f = 0; f <= 5; f++) {
fill(cx - 14 - f, 14, 50 + f, cx - 14 - f, 16, 54, 'gray_concrete');
fill(cx + 14 + f, 14, 50 + f, cx + 14 + f, 16, 54, 'gray_concrete');
}
// tail fin
for (var tf = 74; tf <= 84; tf++) {
var h = (tf - 72);
fill(cx, 18 - h, tf, cx, 18 + h, tf, 'gray_concrete');
}
// dorsal fin
for (var df = 52; df <= 64; df++) {
fill(cx, 25, df, cx, 29, df, 'gray_concrete');
}
// rocks
makeSphere(16, 3, 30, 'blackstone', 5, true);
makeSphere(64, 3, 36, 'blackstone', 4, true);
makeSphere(20, 3, 76, 'blackstone', 5, true);
makeSphere(62, 3, 74, 'blackstone', 5, true);
// tube worms
for (var w = 0; w < 10; w++) {
var wx = [14, 20, 26, 58, 64, 70, 16, 66, 30, 52][w];
var wz = [20, 84, 16, 20, 86, 40, 60, 62, 88, 14][w];
fill(wx, 4, wz, wx, 7, wz, 'white_terracotta');
pb(wx, 8, wz, 'shroomlight');
}
// some glowing spots
for (var gx = 8; gx <= 72; gx += 6) {
for (var gz = 8; gz <= 88; gz += 6) {
if ((gx + gz) % 4 === 0) {
pb(gx, 3, gz, 'sea_lantern');
}
}
}