another set of conveyors

This commit is contained in:
Melecie 2022-02-08 15:57:36 +08:00 committed by GitHub
parent 67b5d60c0f
commit 7e864e06c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 95 additions and 0 deletions

95
mods/conveyance.js Normal file
View File

@ -0,0 +1,95 @@
// Sandboxels: Conveyance Mod, v1.0
// Author: MelecieDiancie
elements.r_conveyor = {
name: "Right Conveyor",
color: "#2a2a36",
colorOn: "#3b3b4a",
state: "solid",
category: "machines",
conduct: 1,
tick: function(pixel) {
doHeat(pixel)
doBurning(pixel)
doElectricity(pixel)
let pixelAbove = pixelMap[pixel.x][pixel.y-1]
if (!isEmpty(pixel.x, pixel.y-1) && pixel.charge > 0.5 && elements[pixelAbove.element].movable == true ) {
tryMove(pixelAbove,pixel.x+1,pixel.y-1)
}
}
};
elements.l_conveyor = {
name: "Left Conveyor",
color: "#2a2a36",
colorOn: "#3b3b4a",
state: "solid",
category: "machines",
conduct: 1,
tick: function(pixel) {
doHeat(pixel)
doBurning(pixel)
doElectricity(pixel)
let pixelAbove = pixelMap[pixel.x][pixel.y-1]
if (!isEmpty(pixel.x, pixel.y-1) && pixel.charge > 0.5 && elements[pixelAbove.element].movable == true ) {
tryMove(pixelAbove,pixel.x-1,pixel.y-1)
}
}
};
elements.r_autoconveyor = {
name: "Right Autoconveyor",
color: "#3b3b4a",
state: "solid",
category: "machines",
tick: function(pixel) {
doHeat(pixel)
doBurning(pixel)
doElectricity(pixel)
let pixelAbove = pixelMap[pixel.x][pixel.y-1]
if (!isEmpty(pixel.x, pixel.y-1) && elements[pixelAbove.element].movable == true ) {
tryMove(pixelAbove,pixel.x+1,pixel.y-1)
}
}
};
elements.l_autoconveyor = {
name: "Left Autoconveyor",
color: "#3b3b4a",
state: "solid",
category: "machines",
tick: function(pixel) {
doHeat(pixel)
doBurning(pixel)
doElectricity(pixel)
let pixelAbove = pixelMap[pixel.x][pixel.y-1]
if (!isEmpty(pixel.x, pixel.y-1) && elements[pixelAbove.element].movable == true ) {
tryMove(pixelAbove,pixel.x-1,pixel.y-1)
}
}
};
runAfterLoad(function() {
for (element in elements) {
let behavior = elements[element].behavior
let movable = false
for (line in behavior) { // check if element has a M1 or M2 in their behavior
line = behavior[line]
if (line.includes("M1") || line.includes("M2")) {
movable = true
}
else {
}
}
if (movable != false) { // if element has M1 or M2, set movable to true, makes them movable by conveyors
elements[element].movable = true
}
}
});