Merge branch 'main' of https://github.com/R74nCom/sandboxels
This commit is contained in:
commit
b4b0f3f5ac
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
130
mods/nirmod.js
130
mods/nirmod.js
|
|
@ -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();
|
||||
|
|
@ -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 },
|
||||
}
|
||||
Loading…
Reference in New Issue