From 18b7b3cfe135100bca121db11e378f1a06b2bedb Mon Sep 17 00:00:00 2001 From: Lily-129 <68935009+Lily-129@users.noreply.github.com> Date: Mon, 7 Feb 2022 02:00:01 -0500 Subject: [PATCH 1/2] updated behaviors and added res. ender --- mods/some_tf_liquids.js | 162 +++++++++++++++------------------------- 1 file changed, 61 insertions(+), 101 deletions(-) diff --git a/mods/some_tf_liquids.js b/mods/some_tf_liquids.js index bb5647dc..8f104224 100644 --- a/mods/some_tf_liquids.js +++ b/mods/some_tf_liquids.js @@ -1,5 +1,3 @@ -//signalum doesn't require tick function fuckery - elements.destabilized_redstone = { color: ["#9e0303", "#98061a", "#b80704", "#c4020c", "#f70008", "#9e0303", "#98061a", "#b80704", "#e3020a", "#8c0303", "#8c0303"], behavior: [ @@ -7,8 +5,9 @@ elements.destabilized_redstone = { "M2 AND SH|XX|M2 AND SH", "M1|M1 AND SH|M1", ], - viscosity: 1.5, + viscosity: 1.5**4, category: "liquids", + state: "liquid", density:1200, }, @@ -20,6 +19,7 @@ elements.signalum = { conduct: 1, tempHigh: 550, stateHigh: "molten_signalum", + state: "solid", }, elements.molten_sterling = { @@ -37,6 +37,7 @@ elements.molten_signalum = { tempLow: 550, stateLow: "signalum", category: "liquids", + state: "liquid", hidden: true, }, @@ -44,58 +45,21 @@ elements.molten_signalum = { elements.blazing_pyrotheum = { color: "#ffdd55", + behavior: [ + "HT:10%2|CR:fire%0.5 AND HT:10%2|HT:10%2", + "M2 AND CR:fire%0.5 AND HT:10%2|HT:10%2|M2 AND CR:fire%0.5 AND HT:10%2", + "M1 AND HT:10%2|M1 AND CR:fire%0.5 AND HT:10%2|M1 AND HT:10%2", + ], tick: function(pixel) { - ddd = Math.random() - eee = Math.random() - doHeat(pixel); - if(ddd < 1/3 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { //"bottom M1|M1|M1" and viscosity copied from M1 code - if(tryMove(pixel, pixel.x-1, pixel.y+1)) { mOne = true } else { mOne = false } //left M1 - } else if(ddd < 2/3 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x, pixel.y+1)) { mOne = true } else { mOne = false } //middle M1 - } else if(ddd < 3/3 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x+1, pixel.y+1)) { mOne = true } else { mOne = false } //right M1 - } - if(!mOne) { //"middle M2|XX|M2" - if(eee < 1/2 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x+1, pixel.y)) { mTwo = true } else { mTwo = false } //left M2 - } else if(eee < 2/2 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x-1, pixel.y)) { mTwo = true } else { mTwo = false } //right M2 - } - } if(pixel.temp >= -273 && pixel.temp <= 3707) { //temperature minimum of 3727 pixel.temp += 20 } else if(pixel.temp > 3717 && pixel.temp < 3727) { pixel.temp = 3727 } - if(Math.random() < 0.025 && isEmpty(pixel.x,pixel.y-1)) { //"XX|CR:fire%2.5|XX","CR:fire%2.5|XX|CR:fire%2.5","XX|CR:fire%2.5|XX" - createPixel("fire",pixel.x,pixel.y-1) - } - if(Math.random() < 0.025 && isEmpty(pixel.x+1,pixel.y)) { - createPixel("fire",pixel.x+1,pixel.y) - } - if(Math.random() < 0.025 && isEmpty(pixel.x-1,pixel.y)) { - createPixel("fire",pixel.x-1,pixel.y) - } - if(Math.random() < 0.025 && isEmpty(pixel.x,pixel.y+1)) { - createPixel("fire",pixel.x-1,pixel.y) - } - for (let i = -1; i < 2; i++) { //HT:10%2 on whole grid - for (let j = -1; j < 2; j++) { - if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) { - if(Math.random() < 0.02) { - pixelMap[pixel.x+j][pixel.y+i].temp += 10 - } - } - } - } - if(!isEmpty(pixel.x,pixel.y+1) && !outOfBounds(pixel.x,pixel.y+1)) { - if((pixelMap[pixel.x][pixel.y+1]).element == "fire") { //manual swap down with fire since density wouldn't work - swapPixels(pixelMap[pixel.x][pixel.y],pixelMap[pixel.x][pixel.y+1]) - } - } }, - viscosity: 1.2, + viscosity: 1.2**4, category: "liquids", + state: "liquid", density:1994, insulate:false, temp: 3727, @@ -103,61 +67,21 @@ elements.blazing_pyrotheum = { elements.gelid_cryotheum = { color: "#00ddff", + behavior: [ + " AND CR:snow%0.35HT:10%2|HT:10%2| AND CR:snow%0.35HT:10%2", + "M2 AND CR:snow%0.35 AND HT:10%2|HT:10%2|M2 AND CR:snow%0.35 AND HT:10%2", + "M1 AND HT:10%2|M1 AND CR:snow%0.25 AND HT:10%2|M1 AND HT:10%2", + ], tick: function(pixel) { - ddd = Math.random() - eee = Math.random() - doHeat(pixel); - if(ddd < 1/3 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { //"bottom M1|M1|M1" and viscosity copied from M1 code - if(tryMove(pixel, pixel.x-1, pixel.y+1)) { mOne = true } else { mOne = false } //left M1 - } else if(ddd < 2/3 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x, pixel.y+1)) { mOne = true } else { mOne = false } //middle M1 - } else if(ddd < 3/3 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x+1, pixel.y+1)) { mOne = true } else { mOne = false } //right M1 - } - if(!mOne) { //"middle M2|XX|M2" - if(eee < 1/2 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x+1, pixel.y)) { mTwo = true } else { mTwo = false } //left M2 - } else if(eee < 2/2 && !((Math.random()*100) < 100 / ((pixel.viscosity) ** 0.25))) { - if(tryMove(pixel, pixel.x-1, pixel.y)) { mTwo = true } else { mTwo = false } //right M2 - } - } if(pixel.temp >= -243) { //temperature maximum of -223 pixel.temp -= 20 } else if(pixel.temp > -223 && pixel.temp < -243) { pixel.temp = -223 } - if(Math.random() < 0.01 && isEmpty(pixel.x-1,pixel.y-1)) { //"CR:snow%1|XX|CR:snow%0.35","CR:snow%0.35|XX|CR:snow%0.35","XX|CR:snow%0.35|XX" - createPixel("snow",pixel.x-1,pixel.y-1) - } - if(Math.random() < 0.0035 && isEmpty(pixel.x+1,pixel.y-1)) { - createPixel("snow",pixel.x+1,pixel.y-1) - } - if(Math.random() < 0.0035 && isEmpty(pixel.x-1,pixel.y)) { // - createPixel("snow",pixel.x-1,pixel.y) - } - if(Math.random() < 0.0035 && isEmpty(pixel.x+1,pixel.y)) { - createPixel("snow",pixel.x+1,pixel.y) - } - if(Math.random() < 0.0035 && isEmpty(pixel.x,pixel.y+1)) { - createPixel("snow",pixel.x+1,pixel.y) - } - for (let i = -1; i < 2; i++) { //CO:10%2 on whole grid - for (let j = -1; j < 2; j++) { - if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) { - if(Math.random() < 0.02) { - pixelMap[pixel.x+j][pixel.y+i].temp -= 10 - } - } - } - } - if(!isEmpty(pixel.x,pixel.y-1) && !outOfBounds(pixel.x,pixel.y-1)) { - if((pixelMap[pixel.x][pixel.y-1]).element == "snow") { //manual swap up with snow - swapPixels(pixelMap[pixel.x][pixel.y],pixelMap[pixel.x][pixel.y-1]) - } - } }, - viscosity: 3, + viscosity: 3**4, category: "liquids", + state: "liquid", density:3988, insulate:false, temp: -223, @@ -186,8 +110,9 @@ elements.tectonic_petrotheum = { "chalcopyrite_ore": { "elem2": "chalcopyrite_dust" } }, temp: 120, - viscosity: 1.5, + viscosity: 1.5**4, category: "liquids", + state: "liquid", density:3988, insulate:false, }, @@ -231,9 +156,10 @@ elements.acid.reactions.limestone_gravel = { "elem1":"neutral_acid", "elem2":nul elements.zephyrean_aerotheum = { color: ["#FFFCD9","#FEFFFC","#FDFFDB","#FFFFE8","#FBF6D3","#F1EDD0"], behavior: behaviors.AGLIQUID, - viscosity: 0.1, + viscosity: 0.1**4, category: "liquids", - density:-797.6, + state: "liquid", + density:-800, insulate:false, }, @@ -244,10 +170,44 @@ elements.energized_glowstone = { "M2 AND CR:light%40|XX|M2 AND CR:light%40", "XX|CR:light%40|XX", ], - viscosity: 0.1, + viscosity: 0.1**4, category: "liquids", - density:-797.6, + state: "liquid", + density:-500, insulate:false, -} +}, -//no resonant ender (yet?) \ No newline at end of file +elements.resonant_ender = { + color: ["#062c2c", "#062c2c", "#19a8a8", "#0a4646", "#1f8c8e", "#0c5c54", "#0c5c54"], + behavior: behaviors.LIQUID, + tick: function(pixel) { + for (let i = -2; i < 3; i++) { + for (let j = -2; j < 3; j++) { + if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) { + if (lifeArray.includes(pixelMap[pixel.x+j][pixel.y+i].element)) { + pixel.eeex = pixel.x + Math.floor(Math.random() * ((2 * 8) + 1)) - 8 + pixel.eeey = pixel.y + Math.floor(Math.random() * ((2 * 8) + 1)) - 8 + //if human + //handle heads + if(pixelMap[pixel.x+j][pixel.y+i].element == "head") { + if(isEmpty(pixel.eeex,pixel.eeey) && !outOfBounds(pixel.eeex,pixel.eeey) && isEmpty(pixel.eeex,pixel.eeey+1) && !outOfBounds(pixel.eeex,pixel.eeey+1)) { + tryMove(pixelMap[pixel.x+j][pixel.y+i],pixel.eeex,pixel.eeey) + tryMove(pixelMap[pixel.x+j][pixel.y+i+1],pixel.eeex,pixel.eeey+1) + } + } else if(pixelMap[pixel.x+j][pixel.y+i].element == "body") { + + } else { + if(isEmpty(pixel.eeex,pixel.eeey) && !outOfBounds(pixel.eeex,pixel.eeey)) { + tryMove(pixelMap[pixel.x+j][pixel.y+i],pixel.eeex,pixel.eeey) + } + } + } + } + } + } + }, + category: "liquids", + density: 3000, + state: "liquid", + viscosity: 3**4, +} From 49014d4858ab4761f435aef0e16cd2b27138cd69 Mon Sep 17 00:00:00 2001 From: Lily-129 <68935009+Lily-129@users.noreply.github.com> Date: Mon, 7 Feb 2022 02:11:25 -0500 Subject: [PATCH 2/2] buffed bp and gc --- mods/some_tf_liquids.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mods/some_tf_liquids.js b/mods/some_tf_liquids.js index 8f104224..91ad2450 100644 --- a/mods/some_tf_liquids.js +++ b/mods/some_tf_liquids.js @@ -1,3 +1,5 @@ +//signalum doesn't require tick function fuckery + elements.destabilized_redstone = { color: ["#9e0303", "#98061a", "#b80704", "#c4020c", "#f70008", "#9e0303", "#98061a", "#b80704", "#e3020a", "#8c0303", "#8c0303"], behavior: [ @@ -52,8 +54,8 @@ elements.blazing_pyrotheum = { ], tick: function(pixel) { if(pixel.temp >= -273 && pixel.temp <= 3707) { //temperature minimum of 3727 - pixel.temp += 20 - } else if(pixel.temp > 3717 && pixel.temp < 3727) { + pixel.temp += 50 + } else if(pixel.temp > 3677 && pixel.temp < 3727) { pixel.temp = 3727 } }, @@ -73,9 +75,9 @@ elements.gelid_cryotheum = { "M1 AND HT:10%2|M1 AND CR:snow%0.25 AND HT:10%2|M1 AND HT:10%2", ], tick: function(pixel) { - if(pixel.temp >= -243) { //temperature maximum of -223 - pixel.temp -= 20 - } else if(pixel.temp > -223 && pixel.temp < -243) { + if(pixel.temp >= -223) { //temperature maximum of -223 + pixel.temp -= 50 + } else if(pixel.temp > -223 && pixel.temp < -273) { pixel.temp = -223 } }, @@ -174,7 +176,7 @@ elements.energized_glowstone = { category: "liquids", state: "liquid", density:-500, - insulate:false, + insulate:false, //TODO: > Energized glowstone source blocks will gradually float upwards if there are no blocks above them. If they float at high levels (layers 120 and above by default) they will condense back into solid glowstone. They will also condense at 80% of this height if the fluid has no space to flow. }, elements.resonant_ender = {