Merge branch 'R74nCom:main' into main

This commit is contained in:
SquareScreamYT 2024-03-30 13:40:15 +08:00 committed by GitHub
commit 1a3a8740ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 554 additions and 1 deletions

View File

@ -27,8 +27,116 @@ elements.morphine = {
color: "#c4dcf2",
state: "solid",
behavior: behaviors.POWDER,
tempHigh: 10000,
stateHigh: "n_explosion",
reactions: {
"head": {elem1: "n_explosion", elem2: "n_explosion", chance: 0.00008},
"body": {elem1: "n_explosion", elem2: "n_explosion", chance: 0.00008},
},
};
};
elements.cigarette = {
category: "solids",
color: ["#754531", "#e1e1dd"],
state: "solid",
behavior: [
"XX|CR:smoke%1 AND CR:carbon_dioxide%0.5|XX",
"CR:smoke%1 AND CR:carbon_dioxide%0.5|XX|CR:smoke%1 AND CR:carbon_dioxide%0.5",
"XX|CR:smoke%1 AND CR:carbon_dioxide%0.5|XX",
],
tempHigh: 233,
stateHigh: ["ash", "fire"],
breakInto: ["dust", "ash", "ash", "ash", "charcoal"],
};
elements.cannabis = {
category: "powders",
state: "solid",
tempHigh: 100,
stateHigh: "dead_plant",
burn: 15,
burnTime: 60,
burnInto: "dead_plant",
breakInto: "dead_plant",
behavior: behaviors.POWDER,
color: ["#2C7415", "#1D5F00", "#B2DC29", "#B2DC29", "#2C7415"],
reactions: {
"head": { elem1: null, elem2: "fly" }
},
}
elements.cannabis_seed = {
category: "life",
state: "solid",
tempHigh: 120,
stateHigh: "dead_plant",
breakInto: "cannabis",
behavior: [
"CR:cannabis_branch%2|CR:cannabis_branch%2|CR:cannabis_branch%2",
"XX|XX|XX",
"XX|M1|XX",
],
color: "#57272C",
}
elements.cannabis_branch = {
category: "life",
hidden: true,
state: "solid",
tempHigh: 120,
stateHigh: "dead_plant",
breakInto: "dead_plant",
behavior: [
"CR:cannabis_branch%0.7|CR:cannabis_branch%3|CR:cannabis_branch%0.7",
"CR:cannabis%4|XX|CR:cannabis%4",
"CR:cannabis%4|XX|CR:cannabis%4",
],
color: "#57272C",
}
elements.weed = {
category: "powders",
behavior: behaviors.POWDER,
state: "solid",
tempHigh: 150,
stateHigh: "dead_plant",
breakInto: "dead_plant",
burn: 15,
burnTime: 60,
burnInto: "dead_plant",
color: ["#71B441", "#416201", "#426D06", "#91CA6F"]
}
elements.weed_seed = {
category: "life",
state: "solid",
tempHigh: 150,
stateHigh: "dead_plant",
breakInto: "weed",
burn: 10,
burnTime: 60,
burnInto: "dead_plant",
color: "#5c4532",
behavior: [
"CR:weed_branch%0.2|CR:weed_branch%0.2|CR:weed_branch%0.2",
"XX|XX|XX",
"XX|M1|XX",
],
}
elements.weed_branch = {
category: "life",
hidden: true,
state: "solid",
tempHigh: 150,
stateHigh: "dead_plant",
breakInto: "weed",
burn: 10,
burnTime: 60,
color: "#5c4532",
behavior: [
"CR:weed_branch%0.7|CR:weed_branch%3|CR:weed_branch%0.7",
"CR:cannabis%4|XX|CR:cannabis%4",
"CR:cannabis%4|XX|CR:cannabis%4"
],
}

334
mods/musicMod.js Normal file
View File

@ -0,0 +1,334 @@
= new AudioContext()
//orbit-loona made the note block mod but then I just added more, so dont credit me for making a note block system.audioContext
oscillatorDefaults = {
frequency: 440,
type: "sine",
endType: "none",
length: 0.5,
volume: 1,
delay: 0,
};
audioObject = {};
function oscillator(name="test",parameterObject=oscillatorDefaults){
var defaultKeys = Object.keys(oscillatorDefaults); //readability variable
for(i = 0; i < defaultKeys.length; i++) {
var key = defaultKeys[i]; //the indexed keyname
if(typeof(parameterObject[key]) === "undefined") {
parameterObject[key] = oscillatorDefaults[key];
};
};
var oscillatorNodeName = `${name}Oscillator`;
var gainNodeName = `${name}Gain`;
audioObject[oscillatorNodeName] = audioContext.createOscillator()
audioObject[gainNodeName] = audioContext.createGain()
audioObject[gainNodeName].gain.value = parameterObject.volume;
audioObject[oscillatorNodeName].type = parameterObject.type
audioObject[oscillatorNodeName].connect(audioObject[gainNodeName])
audioObject[oscillatorNodeName].frequency.value = parameterObject.frequency
audioObject[gainNodeName].connect(audioContext.destination)
audioObject[oscillatorNodeName].start(audioContext.currentTime + parameterObject.delay)
//stopping handler
if(parameterObject.endType === "exponential") { //starts fading immediately
audioObject[gainNodeName].gain.exponentialRampToValueAtTime(
0.00001, audioContext.currentTime + parameterObject.length
);
} else if(parameterObject.endType === "linear") { //starts fading immediately
audioObject[gainNodeName].gain.linearRampToValueAtTime(
0.00001, audioContext.currentTime + parameterObject.length
);
} else { //waits to stop
audioObject[oscillatorNodeName].stop(audioContext.currentTime + parameterObject.delay + parameterObject.length);
};
};
elements.note_block_very_high = {
color: #dc1212",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 600,
type: "sine",
endType: "none",
length: 0.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
},
elements.note_block_high = {
color: "#e5359f",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 500,
type: "sine",
endType: "none",
length: 0.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
},
elements.note_block = {
color: "#ee33ee",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 400,
type: "sine",
endType: "none",
length: 0.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
},
elements.note_block_low = {
color: "#7310a7",
behavior: behaviors.WALL,
state: "solid",
category: "machines",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 300,
type: "sine",
endType: "music",
length: 0.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
},
elements.note_block_very_low = {
color: "#3310d8",
behavior: behaviors.WALL,
state: "solid",
category: "music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 200,
type: "sine",
endType: "none",
length: 0.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
},
elements.note_block_super_low = {
color: #12c6dc",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 200,
type: "sine",
endType: "none",
length: 0.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
},
elements.note_block_test = {
color: #ffffff",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 400,
type: "square",
endType: "none",
length: 0.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
},
elements.note_block_loud = {
color: "#000000",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 440,
type: "sine",
endType: "none",
length: 1,
volume: 10,
delay: 0,
debounce: 0,
debounceLength: tps,
tick: function(pixel) {
elements.note_block_long = {
color: "#23ab0f",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 400,
type: "sine",
endType: "none",
length: 2.5,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
tick: function(pixel) {
elements.note_block_beep = {
color: "#f8e258",
behavior: behaviors.WALL,
state: "solid",
category: music",
density: 1200,
hardness: 0.2,
breakInto: ["plastic","metal_scrap","metal_scrap","metal_scrap"],
conduct: 1,
properties: {
frequency: 1000,
type: "sine",
endType: "none",
length: 0.1,
volume: 1,
delay: 0,
debounce: 0,
debounceLength: tps,
tick: function(pixel) {
elements.note_connecter_fast = {
color: "#ac2b2b",
behavior: behaviors.WALL,
category: "music",
insulate: true,
conduct: 2,
noMix: true,
},
elements.note_connecter = {
color: "#c8c22d",
behavior: behaviors.WALL,
category: "music",
insulate: true,
conduct: 1,
noMix: true,
},
elements.note_connecter_slow = {
color: "#2d6fc8",
behavior: behaviors.WALL,
category: "music",
insulate: true,
conduct: 0.5,
noMix: true,
},
elements.note_connecter_very_slow = {
color: "#184584",
behavior: behaviors.WALL,
category: "music",
insulate: true,
conduct: 0.1,
noMix: true,
},
elements.generator= {
color: "#989888",
behavior: [
"XX|SH|XX",
"SH|XX|SH",
"XX|SH|XX",
category: "machines",
],
var pixelSoundName = `x${pixel.x}y${pixel.y}`; //Generate unique-enough name
var pixelPropertyObject = { //Load sound properties from pixel as object;
frequency: pixel.frequency,
type: pixel.type,
endType: pixel.endType,
length: pixel.length,
volume: pixel.volume,
delay: pixel.delay,
};
//console.log(pixelPropertyObject);
if(pixel.debounce < 1) {
//console.log(`${pixel.debounce} not debounced, play`);
if(pixel.charge) {
oscillator(pixelSoundName,pixelPropertyObject);
delete pixel.charge;
pixel.debounce = pixel.debounceLength;
};
} else if(pixel.debounce > 0) {
//console.log(`${pixel.debounce} debounced, don't play`);
pixel.debounce--;
};
},
};
runAfterLoad(function() {
elements.note_block.movable = false;
});
if(runAfterAutogen) {
runAfterAutogen(function() {
elements.note_block.movable = false;
});
};

111
mods/radioactive.js Normal file
View File

@ -0,0 +1,111 @@
elements.technetium = {
category: "powders",
state: "solid",
color: "#D3D3D3",
tempHigh: 2157,
stateHigh: "molten_technetium",
density: 11359,
temp: 20,
behavior: [
"XX|CR:radiation%3 AND CR:fallout%0.2|XX",
"CR:radiation%3 AND CR:fallout%0.2|XX|CR:radiation%3 AND CR:fallout%0.2",
"M1|CR:radiation%3 AND M2 AND CR:fallout%0.2|M1",
],
reactions: {
"water": { elem1: null, elem2: "dirty_water" },
},
}
elements.molten_technetium = {
category: "states",
hidden: true,
state: "liquid",
color: ["#F2F2E5", "#E0C29F", "#D0CFC7", "#BDB7B0", "#A0958C", "#FFB300", "#F0E68C", "#BD10E0", "#FFF0F5"],
behavior: [
"XX|CR:radiation%3 AND CR:fallout%0.2 AND CR:plasma,fire,fire,fire,fire%0.5|XX",
"M2 AND CR:radiation%3 AND CR:fallout%0.2 AND CR:plasma,fire,fire,fire,fire%0.5|XX|M2 AND CR:radiation%3 AND CR:fallout%0.2 AND CR:plasma,fire,fire,fire,fire%0.5",
"M1|M1 AND CR:radiation%3 AND CR:fallout%0.2|M1",
],
tempLow: 2157,
stateLow: "technetium",
density: 11359,
}
elements.francium = {
category: "powders",
state: "solid",
color: ["#DE0047", "#4169E1", "#007FFF", "#9ACD32", "#FFD700", "#C800C8"],
behavior: [
"XX|CR:radiation%1.5|XX",
"CR:radiation%1.5|XX|CR:radiation%1.5",
"M2|M1 AND CR:radiation%1.5|M2",
],
tempHigh: 27,
stateHigh: "molten_francium",
density: 2480,
}
elements.molten_francium = {
category: "states",
hidden: true,
tempLow: 27,
stateLow: "francium",
density: 2480,
color: ["#C71585", "#FF00FF", "#A020F0", "#4B0082", "#EE82EE", "#FF9933", "#F97A3E", "#F05945"],
behavior: [
"XX|CR:fire,fire,fire,fire,plasma%2 AND CR:radiation%0.6|XX",
"M2 AND CR:fire,fire,fire,fire,plasma%2 AND CR:radiation%0.6|XX|M2 AND CR:fire,fire,fire,fire,plasma%2 AND CR:radiation%0.6",
"M1|M1 AND CR:fire,fire,fire,fire,plasma%2 AND CR:radiation%0.6|M1",
],
}
elements.radium = {
category: "powders",
tempHigh: 700,
stateHigh: "molten_radium",
density: 5500,
state: "solid",
color: ["#F0F0F0", "#C0C0C0", "#A9A9A9", "#707070", "#303030"],
behavior: [
"XX|CR:radiation%3|XX",
"CR:radiation%3|XX|CR:radiation%3",
"M2|M1 AND CR:radiation%3|M2",
],
}
elements.molten_radium = {
category: "states",
hidden: true,
tempLow: 700,
density: 5500,
stateLow: "radium",
color: ["#F0E0D6", "#D3B29E", "#B78473", "#A0534A", "#FFB300", "#F05945"],
behavior: [
"XX|CR:fire,fire,fire,fire,plasma%1 AND CR:radiation%3|XX",
"M2 AND CR:fire,fire,fire,fire,plasma%1 AND CR:radiation%3|XX|M2 AND CR:fire,fire,fire,fire,plasma%1 AND CR:radiation%3",
"M1|M1 AND CR:fire,fire,fire,fire,plasma%1 AND CR:radiation%3|M1",
],
}
elements.rutherfordium = {
category: "powders",
state: "solid",
tempHigh: 2100,
stateHigh: "molten_rutherfordium",
density: 17000,
color: ["#C0C0C0", "#B3B3B3", "#A6A6A6", "#8C8C8C", "#737373"],
behavior: [
"XX|CR:radiation%5 AND CR:fallout%0.3|XX",
"CR:radiation%5 AND CR:fallout%0.3|XX|CR:radiation%5 AND CR:fallout%0.3",
"M2|M1 AND CR:radiation%5 AND CR:fallout%0.3|M2",
],
}
elements.molten_rutherfordium = {
category: "states",
state: "liquid",
hidden: true,
tempLow: 2100,
stateLow: "rutherfordium",
density: 17000,
}