sandboxels/mods/building.js

119 lines
2.9 KiB
JavaScript

// elements.mud_brick = {
// color: "#8a6249",
// colorPattern: textures.BRICK,
// colorKey: {
// "l": "#986c51",
// "r": "#8a6249",
// "d": "#7f5943",
// "w": "#634933"},
// behavior: behaviors.WALL,
// category: "solids",
// state: "solid",
// tempHigh: 1200,
// stateHigh: "molten_dirt",
// hardness: 0.33,
// breakInto: "dirt"
// }
var materials = ["brick","concrete","wood","glass","steel"];
elements.tower = {
color: [],
behavior: [
"XX|XX|XX",
"XX|CH:"+materials.join("_tower,")+"_tower|XX",
"XX|XX|XX",
],
category: "spawners",
maxSize: 1,
cooldown: defaultCooldown,
}
materials.forEach((elem) => {
if (Array.isArray(elements[elem].color)) {
elements.tower.color.push(elements[elem].color[0]);
}
else {
elements.tower.color.push(elements[elem].color);
}
elements[elem+"_tower"] = {
color: elements[elem].color,
behavior: [
`XX|M2|XX`,
`XX|C2:${elem}_room|XX`,
`XX|M1|XX`,
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners"
}
elements[elem+"_room"] = {
color: elements[elem].color,
behavior: [
`XX|XX|CR:${elem}_room,${elem}_room,${elem}_room,${elem}_room,tower_antenna,wood_roof%80|XX|XX`,
`XX|XX|XX|XX|XX`,
`CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}`,
`CR:glass|XX|XX|CR:human%25|CR:glass`,
`CR:glass|CR:human%25|DL|CR:human%25|CR:glass`,
`CR:${elem}|XX|XX|XX|CR:${elem}`,
`CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}`,
`XX|XX|XX|XX|XX`,
`XX|XX|XX|XX|XX`
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners",
hidden: true
}
})
elements.tower.color = elements.tower.color.sort();
elements.tower_antenna = {
color: "#bababa",
behavior: [
"CR:steel%30",
"CR:steel",
"CR:steel",
"CR:steel",
"CH:steel",
"CR:steel",
"XX",
"XX",
"XX",
"XX",
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners",
hidden: true
}
elements.wood_roof = {
color: "#965829",
behavior: [
"XX|XX|XX|XX|XX|XX|XX",
"XX|XX|XX|CR:wood|XX|XX|XX",
"XX|XX|CR:wood|CH:wood|CR:wood|XX|XX",
"XX|CR:wood|XX|XX|XX|CR:wood|XX",
"CR:wood|XX|XX|XX|XX|XX|CR:wood",
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners",
hidden: true
}
worldgentypes.city = {
layers: [
[0.95, "grass"],
[0.50, "dirt"],
[0.05, "rock"],
[0, "basalt"],
],
decor: [ // [element, chance, distance from top]
["tower", 0.08],
// ["bird", 0.025, 10],
],
baseHeight: 0.25
}