This commit is contained in:
slweeb 2024-04-03 13:42:27 -04:00
commit b4b0f3f5ac
5 changed files with 361 additions and 29 deletions

View File

@ -20,7 +20,12 @@ elements.carbon_monoxide = {
"head": { elem2:"rotten_meat", chance:0.5 },
"body": { elem2:"rotten_meat", chance:0.5 },
"human": { elem2:"rotten_meat", chance:0.5 },
}
"plant": { elem1: null },
"bird": { elem2: "rotten_meat", },
"frog": { elem2: "slime", },
"grass": {elem1: null },
"water": {elem1: null },
}
};
elements.liquid_carbon_monoxide = {
color: "#b5b5b5",
@ -67,7 +72,7 @@ elements.computer = {
density: 8908,
tempHigh: 1414,
stateHigh: "explosion",
reactions: {
reactions: {
"virus": { elem1 : null , elem2:"malware", chance:0.9 },
"water": { elem1: null , elem2: "electric" },
}
@ -88,3 +93,19 @@ elements.carbon_monoxide_detector = {
darkText: true,
hardness: 1,
};
elements.electrons = {
color: "#b80606",
behavior: [
"XX|SH|XX", // shocks (adds charge)
"SH|DL%0.25|SH",
"XX|SH|XX",
],
tick: behaviors.BOUNCY,
reactions: {},
temp: 20,
category: "energy",
state: "gas",
density: 0.000003,
ignoreAir: true
}

View File

@ -2,7 +2,7 @@
Created by SquareScreamYT/sqec <@918475812884344852>
Thanks to RealerRaddler <@914371295561535508>, Alice <@697799964985786450>, nousernamefound <@316383921346707468>, Adora the Transfem <@778753696804765696>, ryan(R74n) <@101070932608561152> and Fioushemastor <@738828785482203189> for helping :)
v1.12
v1.12.2
you can support me at my youtube: https://youtube.com/@sqec
@ -400,6 +400,12 @@ Changelog (v1.12.1)
Changelog (v1.12.2)
- updated cooked meat behavior
*/
/*
@ -7049,27 +7055,19 @@ elements.burnt_marshmallow = {
density: 959.97,
hidden:true
}
eLists.FOODCOLORINGIGNORE = ["glass", "porcelain", "wall","iron","steel","copper","silver","aluminum","tungsten","gold","plastic"];
elements.food_coloring = {
color: ["#ff0000", "#ff8800", "#ffff00", "#00ff00", "#00ffff", "#0000ff", "#ff00ff"],
behavior: behaviors.LIQUID,
reactions: {
"water": { elem2: null, chance: 0.05 },
"salt_water": { elem1: null, chance: 0.05 },
"sugar_water": { elem1: null, chance: 0.05 },
"seltzer": { elem1: null, chance: 0.05 },
"dirty_water": { elem1: null, chance: 0.05 },
"pool_water": { elem1: null, chance: 0.05 }
},
customColor: true,
stain: 1,
stain: 0.5,
tempHigh: 100,
stateHigh: "steam",
category: "food",
state: "liquid",
density: 998,
stainSelf: true,
ignore: ["glass", "porcelain", "wall"],
ignore: ["glass", "porcelain", "wall","iron","steel","copper","silver","aluminum","tungsten","gold","plastic"],
desc: "coloring for food. color may fade when diluting with water.",
tick: function (pixel) {
for (var i = 0; i < squareCoords.length; i++) {
@ -7079,7 +7077,20 @@ elements.food_coloring = {
if (!isEmpty(x, y, true)) {
if (pixelMap[x][y].element === "water" || pixelMap[x][y].element === "salt_water" || pixelMap[x][y].element === "sugar_water" || pixelMap[x][y].element === "seltzer" || pixelMap[x][y].element === "dirty_water" || pixelMap[x][y].element === "pool_water") {
changePixel(pixelMap[x][y], "food_coloring");
pixelMap[x][y].color = pixel.color
let newrgb = interpolateRgb(getRGB(pixel.color), getRGB(pixelMap[x][y].color), 0.5);
pixel.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
pixelMap[x][y].color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
}
else {
if (!outOfBounds(pixelMap[x][y])) {
if (!eLists.FOODCOLORINGIGNORE.includes(pixelMap[x][y].element) && pixelMap[x][y].element !== "glass" && pixelMap[x][y].element !== "porcelain" && pixelMap[x][y].element !== "wall" && pixelMap[x][y].element !== "plastic") {
let newrgb2 = interpolateRgb(getRGB(pixel.color), getRGB(pixelMap[x][y].color), 0.9);
pixelMap[x][y].color = `rgb(${parseInt(newrgb2.r)},${parseInt(newrgb2.g)},${parseInt(newrgb2.b)})`;
if (Math.random() < 0.002) {
deletePixel(pixel.x,pixel.y)
}
}
}
}
}
}
@ -7089,4 +7100,4 @@ elements.food_coloring = {
},
}
elements.cooked_meat.behavior = behaviors.STURDYPOWDER;
elements.cooked_meat.behavior = behaviors.SUPPORT;

164
mods/blocks.js Normal file
View File

@ -0,0 +1,164 @@
elements.zogron = {
color: ["#ebde34", "#34dbeb", "#ebe834"],
colorPattern: [
"00055400",
"01111120",
"02111210",
"41152110",
"01121110",
"01211410",
"02151113",
"00000000",
],
colorKey: {
"0": "#ebde34",
"1": "#dbeb34",
"2": "#ebe834",
"3": "#3d34eb",
"4": "#34dbeb",
"5": "#34ebb7",
},
behavior: behaviors.WALL,
category: "Blocks",
}
elements.roro = {
color: ["#000000", "#F00000"],
colorPattern: [
"10000001",
"01111000",
"00111100",
"00011110",
"00001111",
"00011110",
"00111100",
"01111000",
],
colorKey: {
"0": "#000000",
"1": "#F00000"
},
behavior: behaviors.WALL,
category: "Blocks",
}
elements.foldtos = {
color: ["#00FF00", "#0000FF"],
colorPattern: [
"00100010",
"00100010",
"01111110",
"00100010",
"00100010",
"00100010",
"01111110",
"00100010"
],
colorKey: {
"0": "#00FF00",
"1": "#0000FF"
},
behavior: behaviors.WALL,
category: "Blocks"
};
elements.toyus = {
color: ["#FFFF00", "#00FF00", "#FFA500"],
colorPattern: [
"02101210",
"01210102",
"02101210",
"00120210",
"01201012",
"01021021",
"02101210",
"00120210"
],
colorKey: {
"0": "#FFFF00",
"1": "#00FF00",
"2": "#FFA500"
},
behavior: behaviors.WALL,
category: "Blocks"
};
elements.slingus = {
color: ["#800080", "#0000FF", "#ADD8E6", "#FF69B4"],
colorPattern: [
"01233210",
"12310213",
"23012301",
"30121230",
"12302312",
"23101203",
"30120123",
"01233210"
],
colorKey: {
"0": "#800080",
"1": "#0000FF",
"2": "#ADD8E6",
"3": "#FF69B4"
},
behavior: behaviors.WALL,
category: "Blocks"
};
elements.slingus_maximus = {
color: ["#800080", "#0000FF", "#ADD8E6", "#FF69B4"],
colorPattern: [
"11111223",
"11112233",
"11122233",
"11222233",
"12222333",
"22223333",
"22233333",
"22333333"
],
colorKey: {
"0": "#800080",
"1": "#0000FF",
"2": "#ADD8E6",
"3": "#FF69B4"
},
behavior: behaviors.WALL,
category: "Blocks"
};
elements.slinkusy = {
color: ["#4B0082", "#0000FF", "#6495ED", "#FF1493"],
colorPattern: [
"01223201",
"01223102",
"01022301",
"01022301",
"01223102",
"01223201",
"01223201",
"01223102"
],
colorKey: {
"0": "#4B0082",
"1": "#0000FF",
"2": "#6495ED",
"3": "#FF1493"
},
behavior: behaviors.WALL,
category: "Blocks"
};
worldgentypes.Mixy_blocks1 = {
layers: [
[0.75, "slinkusy"],
[0.15, "toyus"],
[0.05, "foldtos"],
[0.0, "roro"],
],
decor: [
["zogron", 0.04, 20],
["slingus_maximus", 0.25, 30],
],
baseHeight: 0.25
}

View File

@ -74,6 +74,14 @@ class Type {
this.temp = undefined;
this.reactions = undefined;
this.viscosity = undefined;
this.conduct = undefined;
this.burn = undefined;
this.burning = undefined;
this.burnTime = undefined;
this.burnInto = undefined;
this.breakInto = undefined;
this.properties = undefined;
this.maxSize = undefined;
}
setColor(color) {
@ -87,38 +95,80 @@ class Type {
}
}
function createPowders() {
function createNirmics() {
const Ni = new Type("nirme");
Ni.setColor("22b14c");
Ni.setColor(["#5fcf80", "#22b14c", "#157330"]);
Ni.behavior = bb.POWDER;
Ni.category = cat.POWDERS;
Ni.state = state.SOLID;
Ni.density = 1752;
Ni.tempHigh = 365;
Ni.stateHigh = "nirliquid";
Ni.reactions = {
"water": { elem1: "dull_nirme", elem2: null },
"salt_water": { elem1: "dull_nirme", elem2: null },
"sugar_water": { elem1: "dull_nirme", elem2: null },
"seltzer": { elem1: "dull_nirme", elem2: null },
"dirty_water": { elem1: "dull_nirme", elem2: null },
"pool_water": { elem1: "dull_nirme", elem2: null },
"slush": { elem1: "dull_nirme", elem2: null },
"diamond": { elem2: "emerald", chance: 0.002 },
"sulfur": { elem1: "pop", elem2: null },
}
Ni.Add();
const DNi = new Type("dull_nirme");
DNi.setColor("5c916c");
DNi.setColor(["#518a62", "#487355"]);
DNi.behavior = bb.STURDYPOWDER;
DNi.category = cat.STATES;
DNi.state = state.SOLID;
DNi.density = 1752;
DNi.tempHigh = 365;
DNi.stateHigh = "nirliquid";
DNi.hidden = true;
DNi.Add();
const Em = new Type("emerald");
Em.setColor(["#00f49f", "#2fe094", "#b3ffd6", "#5fd9c5"]);
Em.behavior = bb.POWDER;
Em.category = cat.POWDERS;
Em.state = state.SOLID;
Em.density = 2750;
Em.Add();
const Nl = new Type("nirliquid");
Nl.setColor(["#68cc86", "#60b378", "#579c6b"]);
Nl.behavior = bb.LIQUID;
Nl.category = cat.LIQUIDS;
Nl.state = state.LIQUID;
Nl.density = 1711;
Nl.tempLow = -17;
Nl.stateLow = "nirme";
Nl.Add();
const Nr = new Type("nirmoll");
Nr.setColor("22b14c");
Nr.behavior = [
"M2%2 |XX|M2%2 ",
"M2%10|XX|M2%10",
"M1%25|M1|M1%25",
]
Nr.category = cat.LIFE;
Nr.state = state.SOLID;
Nr.density = 40;
Nr.tempHigh = 50;
Nr.stateHigh = "nirme";
Nr.tempHigh = 0;
Nr.stateHigh = "nirme";
Nr.breakInto = ["nirme", "nirme", "blood"];
Nr.reactions = {
"water": { elem1: "nirme" },
"salt_water": { elem1: "nirme" },
"sugar_water": { elem1: "nirme" },
"seltzer": { elem1: "nirme" },
"dirty_water": { elem1: "nirme" },
"pool_water": { elem1: "nirme" },
"slush": { elem1: "nirme" },
"acid": { elem1: "nirme" },
"poison": { elem1: "nirme" },
"egg": { elem2: "nirmoll", chance: 0.001 },
}
Nr.Add();
}
function createMetals() {
function createMinerals() {
const Tg = new Type("thingite");
Tg.setColor("4f5263");
Tg.behavior = bb.WALL;
@ -127,6 +177,7 @@ function createMetals() {
Tg.density = 9408;
Tg.tempHigh = 700;
Tg.stateHigh = "molten_thingite";
Tg.conduct = 0.41;
Tg.Add();
const MTg = new Type("molten_thingite");
@ -149,6 +200,7 @@ function createMetals() {
Or.density = 12403;
Or.tempHigh = 1600;
Or.stateHigh = "molten_orangium";
Or.conduct = 0.26;
Or.Add();
const MOr = new Type("molten_orangium");
@ -162,7 +214,59 @@ function createMetals() {
MOr.stateLow = "orangium";
MOr.hidden = true;
MOr.Add();
const Em = new Type("emerald");
Em.setColor(["#30e389", "#3ac98c", "#b3ffd6", "#5fd9c5"]);
Em.behavior = bb.POWDER;
Em.category = cat.POWDERS;
Em.state = state.SOLID;
Em.density = 2750;
Em.Add();
}
createPowders();
createMetals();
function createOther() {
const Fw = new Type("firewall");
Fw.setColor(["#ff6b21","#ffa600","#ff4000"]);
Fw.behavior = bb.WALL;
Fw.category = cat.SOLIDS;
Fw.state = state.SOLID;
Fw.density = 100;
Fw.temp = 600;
Fw.tempLow = 100;
Fw.stateLow = "wall";
Fw.tempHigh = 7000;
Fw.stateHigh = "plasma";
Fw.breakInto = "fire";
Fw.reactions = {
"water": { elem1: "wall", chance: 0.2 },
"steam": { elem1: "wall", chance: 0.2 },
"carbon_dioxide": { elem1: "wall", chance: 0.2 },
"foam": { elem1: "wall", chance: 0.2 },
"dirty_water": { elem1: "wall", chance: 0.2 },
"salt_water": { elem1: "wall", chance: 0.2 },
"sugar_water": { elem1: "wall", chance: 0.2 },
"seltzer": { elem1: "wall", chance: 0.2 },
"pool_water": { elem1: "wall", chance: 0.2 },
},
Fw.Add();
const Nz = new Type("nirmizer");
Nz.setColor("425949");
Nz.behavior = [
"XX |CH:nirme>nirmoll%10|XX ",
"CH:nirme>nirmoll%10|XX |CH:nirme>nirmoll%10",
"XX |CH:nirme>nirmoll%10|XX ",
]
Nz.category = cat.MACHINES;
Nz.state = state.SOLID;
Nz.density = 1220;
Nz.tempLow = -273;
Nz.stateLow = "nirme";
Nz.tempHigh = 3000;
Nz.stateHigh = "nirliquid";
Nz.Add();
}
createNirmics();
createMinerals();
createOther();

View File

@ -0,0 +1,32 @@
elements.scissor = {
color: ["#CCCCCC","#999999","#808080","#71797E"],
category: "weapons",
behavior: behaviors.STURDYPOWDER,
state: "solid",
density: 7850,
tempHigh: 1455.5,
stateHigh: "molten_steel",
reactions: {
"rock": { elem1:null },
"paper": { elem2:null },
"head": { elem2:["blood","meat"], chance:0.005 },
"body": { elem2:["blood","meat"], chance:0.005 },
},
hardness: 0.75,
conduct: 0.32,
}
elements.rock.reactions = {
"fly": { elem2:"dead_bug", chance:0.25, oneway:true },
"firefly": { elem2:"dead_bug", chance:0.2, oneway:true },
"stink_bug": { elem2:"dead_bug", chance:0.15, oneway:true },
"bee": { elem2:"dead_bug", chance:0.1, oneway:true },
"bird": { elem2:"feather", chance:0.025, oneway:true },
"egg": { elem2:"yolk", oneway:true },
"bone": { elem2:"oil", tempMin:300, chance:0.005, oneway:true },
"dead_plant": { elem2:"charcoal", tempMin:200, chance:0.005, oneway:true },
"charcoal": { elem2:"diamond", tempMin:800, tempMax:900, chance:0.005, oneway:true },
"sand": { elem2:"packed_sand", tempMin:500, chance:0.005, oneway:true },
"wet_sand": { elem2:"packed_sand", chance:0.005, oneway:true },
"paper": { elem1:null },
}