made the mod actually good

This commit is contained in:
Nekonico 2024-09-20 20:28:54 -07:00 committed by GitHub
parent b6e635347b
commit ab4e5a69a2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 351 additions and 7 deletions

View File

@ -11,15 +11,17 @@ elements.sandboxels_screen_off = {
stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
conduct: 1,
breakInto: "glass_shard",
tempLow: -50,
tempLow: -80,
stateLow: "glass_shard",
category: "digital",
state: "solid",
density: 1200,
},
desc: "Shock to turn on."
},
elements.sandboxels_screen = {
elements.sandboxels_screen = {
name:"screen",
hidden:true,
color: "#1D1D1D",
behavior: [
"XX|XX|XX",
@ -35,16 +37,20 @@ elements.sandboxels_screen_off = {
category: "digital",
state: "solid",
density: 1200,
},
},
elements.sand_screen = {
elements.sand_screen = {
name:"screen",
hidden:true,
color: "#e6d577",
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"SW:sandboxels_screen|SW:sandboxels_screen|SW:sandboxels_screen",
"XX|XX|XX",
],
properties: {
dtemp: 20,
},
tempHigh: 1500,
stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
conduct: 1,
@ -52,7 +58,345 @@ elements.sandboxels_screen_off = {
tempLow: -45,
stateLow: "sandboxels_screen_off",
category: "digital",
tick: function(pixel) {
if (!isEmpty(pixel.x,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"sand_screen");
changePixel(pixel,"sandboxels_screen");
}
else if (newPixel.element === "water_screen") {
changePixel(newPixel,"sand_screen");
pixel.dtemp = newPixel.dtemp;
newPixel.dtemp = pixel.dtemp;
changePixel(pixel,"water_screen");
}
else if (Math.random() > 0.5 && !isEmpty(pixel.x+1,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x+1][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"sand_screen");
changePixel(pixel,"sandboxels_screen");
}
else if (newPixel.element === "water_screen") {
changePixel(newPixel,"sand_screen");
pixel.dtemp = newPixel.dtemp;
newPixel.dtemp = pixel.dtemp;
changePixel(pixel,"sandboxels_screen");
}
}
else if (!isEmpty(pixel.x-1,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x-1][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"sand_screen");
changePixel(pixel,"sandboxels_screen");
}
else if (newPixel.element === "water_screen") {
changePixel(newPixel,"sand_screen");
pixel.dtemp = newPixel.dtemp;
newPixel.dtemp = pixel.dtemp;
changePixel(pixel,"water_screen");
}
}
}
},
state: "solid",
density: 1200,
};
},
elements.rock_screen = {
name:"screen",
hidden:true,
color: ["#808080","#4f4f4f","#949494"],
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"XX|XX|XX",
],
properties: {
dtemp: 20,
},
tempHigh: 1500,
stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
conduct: 1,
breakInto: ["glass_shard","glass_shard","glass_shard","glass_shard","glass_shard","glass_shard","sand"],
tempLow: -45,
stateLow: "sandboxels_screen_off",
category: "digital",
tick: function(pixel) {
if (!isEmpty(pixel.x,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"rock_screen");
changePixel(pixel,"sandboxels_screen");
}
else if (newPixel.element === "water_screen") {
changePixel(newPixel,"rock_screen");
pixel.dtemp = newPixel.dtemp;
newPixel.dtemp = pixel.dtemp;
changePixel(pixel,"water_screen");
}
else if (Math.random() > 0.5 && !isEmpty(pixel.x+1,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x+1][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"rock_screen");
changePixel(pixel,"sandboxels_screen");
}
else if (newPixel.element === "water_screen") {
changePixel(newPixel,"rock_screen");
pixel.dtemp = newPixel.dtemp;
newPixel.dtemp = pixel.dtemp;
changePixel(pixel,"sandboxels_screen");
}
}
else if (!isEmpty(pixel.x-1,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x-1][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"rock_screen");
changePixel(pixel,"sandboxels_screen");
}
else if (newPixel.element === "water_screen") {
changePixel(newPixel,"rock_screen");
pixel.dtemp = newPixel.dtemp;
newPixel.dtemp = pixel.dtemp;
changePixel(pixel,"water_screen");
}
}
}
},
state: "solid",
density: 1200,
},
elements.water_screen = {
name:"screen",
hidden:true,
color: "#2167ff",
behavior: [
"XX|XX|XX",
"SW:sandboxels_screen|XX|SW:sandboxels_screen",
"SW:sandboxels_screen|XX|SW:sandboxels_screen",
],
properties: {
dtemp: 20,
},
tempHigh: 1500,
stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
conduct: 1,
breakInto: ["glass_shard","glass_shard","glass_shard","glass_shard","glass_shard","glass_shard","water"],
tempLow: -45,
stateLow: "sandboxels_screen_off",
category: "digital",
tick: function(pixel) {
if (Math.random() > 0.2 && !isEmpty(pixel.x,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"water_screen");
changePixel(pixel,"sandboxels_screen");
}
else if (Math.random() > 0.5 && !isEmpty(pixel.x+1,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x+1][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"water_screen");
changePixel(pixel,"sandboxels_screen");
}
}
else if (!isEmpty(pixel.x-1,pixel.y+1,true)) {
var newPixel = pixelMap[pixel.x-1][pixel.y+1];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"water_screen");
changePixel(pixel,"sandboxels_screen");
}
}
}
else if (Math.random() > 0.5 && !isEmpty(pixel.x+1,pixel.y,true)) {
var newPixel = pixelMap[pixel.x+1][pixel.y];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"water_screen");
changePixel(pixel,"sandboxels_screen");
}
}
else if (!isEmpty(pixel.x-1,pixel.y,true)) {
var newPixel = pixelMap[pixel.x-1][pixel.y];
if (newPixel.element === "sandboxels_screen") {
changePixel(newPixel,"water_screen");
changePixel(pixel,"sandboxels_screen");
}
}
if (pixel.dtemp < 1) { changePixel(pixel,"ice_screen") }
},
state: "solid",
density: 1200,
},
elements.ice_screen = {
name:"screen",
hidden:true,
color: "#b2daeb",
behavior: behaviors.WALL,
properties: {
dtemp: 0,
},
tempHigh: 1500,
stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
conduct: 1,
breakInto: ["glass_shard","glass_shard","glass_shard","glass_shard","glass_shard","glass_shard","ice"],
tempLow: -45,
stateLow: "sandboxels_screen_off",
category: "digital",
tick: function(pixel) {
if (pixel.dtemp > 0) { changePixel(pixel,"water_screen") }
},
state: "solid",
density: 1200,
},
elements.digital_sand = {
color: "#e6d577",
behavior: [
"CH:sandboxels_screen>sand_screen|CH:sandboxels_screen>sand_screen|CH:sandboxels_screen>sand_screen",
"CH:sandboxels_screen>sand_screen|CH:sandboxels_screen>sand_screen|CH:sandboxels_screen>sand_screen",
"CH:sandboxels_screen>sand_screen|CH:sandboxels_screen>sand_screen|CH:sandboxels_screen>sand_screen",
],
tool: function(pixel) {
if (elements[pixel.element].id === elements.sandboxels_screen.id) {
changePixel(pixel,"sand_screen");
}
},
insulate:true,
canPlace: false,
category: "digital",
desc: "Use on screen to place digital sand."
},
elements.digital_rock = {
color: ["#808080","#4f4f4f","#949494"],
behavior: [
"CH:sandboxels_screen>rock_screen|CH:sandboxels_screen>rock_screen|CH:sandboxels_screen>rock_screen",
"CH:sandboxels_screen>rock_screen|CH:sandboxels_screen>rock_screen|CH:sandboxels_screen>rock_screen",
"CH:sandboxels_screen>rock_screen|CH:sandboxels_screen>rock_screen|CH:sandboxels_screen>rock_screen",
],
tool: function(pixel) {
if (elements[pixel.element].id === elements.sandboxels_screen.id) {
changePixel(pixel,"rock_screen");
}
},
insulate:true,
canPlace: false,
category: "digital",
desc: "Use on screen to place digital sand."
},
elements.digital_water = {
color: "#2167ff",
behavior: [
"CH:sandboxels_screen>water_screen|CH:sandboxels_screen>water_screen|CH:sandboxels_screen>water_screen",
"CH:sandboxels_screen>water_screen|CH:sandboxels_screen>water_screen|CH:sandboxels_screen>water_screen",
"CH:sandboxels_screen>water_screen|CH:sandboxels_screen>water_screen|CH:sandboxels_screen>water_screen",
],
tool: function(pixel) {
if (elements[pixel.element].id === elements.sandboxels_screen.id) {
changePixel(pixel,"water_screen");
}
},
insulate:true,
canPlace: false,
category: "digital",
desc: "Use on a screen to place digital water."
},
elements.digital_ice = {
color: "#b2daeb",
behavior: [
"CH:sandboxels_screen>ice_screen|CH:sandboxels_screen>ice_screen|CH:sandboxels_screen>ice_screen",
"CH:sandboxels_screen>ice_screen|CH:sandboxels_screen>ice_screen|CH:sandboxels_screen>ice_screen",
"CH:sandboxels_screen>ice_screen|CH:sandboxels_screen>ice_screen|CH:sandboxels_screen>ice_screen",
],
tool: function(pixel) {
if (elements[pixel.element].id === elements.sandboxels_screen.id) {
changePixel(pixel,"ice_screen");
}
},
insulate:true,
canPlace: false,
category: "digital",
desc: "Use on a screen to place digital ice."
},
elements.digital_heat = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"XX|XX|XX",
],
tool: function(pixel) {
if (elements[pixel.element].id === elements.sand_screen.id) {
pixel.dtemp += 2
}
else if (elements[pixel.element].id === elements.rock_screen.id) {
pixel.dtemp += 2
}
else if (elements[pixel.element].id === elements.water_screen.id) {
pixel.dtemp += 2
}
else if (elements[pixel.element].id === elements.ice_screen.id) {
pixel.dtemp += 2
}
},
insulate:true,
canPlace: false,
category: "digital",
desc: "Use on a screen to heat digital elements."
},
elements.digital_cool = {
color: "#0000ff",
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"XX|XX|XX",
],
tool: function(pixel) {
if (elements[pixel.element].id === elements.sand_screen.id) {
pixel.dtemp -= 2
}
else if (elements[pixel.element].id === elements.rock_screen.id) {
pixel.dtemp -= 2
}
else if (elements[pixel.element].id === elements.water_screen.id) {
pixel.dtemp -= 2
}
else if (elements[pixel.element].id === elements.ice_screen.id) {
pixel.dtemp -= 2
}
},
insulate:true,
canPlace: false,
category: "digital",
desc: "Use on a screen to cool digital elements."
},
elements.digital_smash = {
color: ["#666666","#888888","#666666"],
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"XX|XX|XX",
],
tool: function(pixel) {
if (elements[pixel.element].id === elements.rock_screen.id) {
changePixel(pixel,"sand_screen");
}
},
insulate:true,
canPlace: false,
category: "digital",
desc: "Use on a screen to smash digital elements."
};