updated kubejs-tfc in pakku, fixed climate stuff to work with the new api changes

This commit is contained in:
Pyritie 2025-06-24 00:45:55 +01:00
parent 6ff62d3f9e
commit 82312a6dec
2 changed files with 37 additions and 64 deletions

View file

@ -84,98 +84,75 @@ function calcAverage(playerZ, scale, min, max) {
}
// This will be fighting between TFC, which wants to melt everything when the average
// temp is above 0, and Ad Astra, which wants to freeze everything that isn't in an
// oxygenated bubble.
// Is there a way to disable TFC's system here?
// Alternatively, is there a way to tell if a block is oxygenated and then give it a different average temp?
// That'd let you grow tfc crops on other planets
TFCEvents.registerClimateModel(event => {
event.registerClimateModel('tfg:nether_climate', model => {
event.register('tfg:nether_climate', builder => {
model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => {
builder.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => {
return lerp(100, 25, pos.y / 128);
})
model.setAverageTemperatureCalculation((level, pos) => {
builder.setAverageTemperatureCalculation((level, pos) => {
return lerp(100, 25, pos.y / 128);
})
model.setAverageRainfallCalculation((level, pos) => {
builder.setAverageRainfallCalculation((level, pos) => {
return lerp(-200, 200, pos.y / 128);
})
model.setAirFog((level, pos, calendarTicks) => 0)
model.setWaterFog((level, pos, calendarTicks) => 0.6)
model.setWindVector((block, calendarTicks) => event.newVec2(0, 0))
builder.setAirFog((level, pos, calendarTicks) => 0)
builder.setWaterFog((level, pos, calendarTicks) => 0.6)
builder.setWindVector((level, block, calendarTicks) => builder.vector(0, 0))
})
event.registerClimateModel('tfg:orbit_climate', model => {
event.register('tfg:orbit_climate', builder => {
// There's basically no heat diffusion in space so we can pretend this is your spacesuit temp
model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => 15)
model.setAverageTemperatureCalculation((level, pos) => -270)
model.setAverageRainfallCalculation((level, pos) => 0)
model.setAirFog((level, pos, calendarTicks) => 0)
model.setWaterFog((level, pos, calendarTicks) => 0.25)
model.setWindVector((block, calendarTicks) => event.newVec2(0, 0))
builder.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => 15)
builder.setAverageTemperatureCalculation((level, pos) => -270)
builder.setAverageRainfallCalculation((level, pos) => 0)
builder.setAirFog((level, pos, calendarTicks) => 0)
builder.setWaterFog((level, pos, calendarTicks) => 0.25)
builder.setWindVector((level, block, calendarTicks) => builder.vector(0, 0))
})
event.registerClimateModel('tfg:moon_climate', model => {
event.register('tfg:moon_climate', builder => {
// A source says the moon's equator is 120c at day and -130c at night
model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => {
builder.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => {
return calcCurrentTemp(-5, 60, pos.y, calendarTicks, 125, 0, 0)
})
model.setAverageTemperatureCalculation((level, pos) => -5)
model.setAverageRainfallCalculation((level, pos) => 0)
model.setAirFog((level, pos, calendarTicks) => 0)
model.setWaterFog((level, pos, calendarTicks) => 0.25)
model.setWindVector((block, calendarTicks) => event.newVec2(0, 0))
//model.setCreateChunkData((level, chunkAccess, chunkData) => {
// const rainfallLayer = new $LerpFloatLayer(0, 0, 0, 0);
// const tempLayer = new $LerpFloatLayer(-5, -5, -5, -5);
// chunkData.generatePartial(rainfallLayer, tempLayer, "none", 0, 0);
// let heightArray = [];
// let aquiferArray = [];
// for (var i = 0; i < 16 * 16; i++) {
// heightArray[i] = 64;
// aquiferArray[i] = 0;
// }
// chunkData.generateFull(heightArray, aquiferArray);
//})
builder.setAverageTemperatureCalculation((level, pos) => -5)
builder.setAverageRainfallCalculation((level, pos) => 0)
builder.setAirFog((level, pos, calendarTicks) => 0)
builder.setWaterFog((level, pos, calendarTicks) => 0.25)
builder.setWindVector((level, block, calendarTicks) => builder.vector(0, 0))
})
event.registerClimateModel('tfg:mars_climate', model => {
event.register('tfg:mars_climate', builder => {
model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => {
builder.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => {
let avgTemp = calcAverage(pos.z, 10000, -110, -15);
return calcCurrentTemp(avgTemp, 65, pos.y, calendarTicks, 45, -10, 0.5);
})
model.setAverageTemperatureCalculation((level, pos) => {
builder.setAverageTemperatureCalculation((level, pos) => {
// Earth is 10k to each pole, and mars is about half as big as earth, so 5k to each pole sounds good
return calcAverage(pos.z, 10000, -110, -15);
})
model.setAverageRainfallCalculation((level, pos) => {
builder.setAverageRainfallCalculation((level, pos) => {
// irl mars' poles have a snowfall of 0.13mm but that's barely noticeable here.
// Use a negative rainfall to stop it snowing closer to the equator. TFC clamps negatives to zero so it's fine
return calcAverage(pos.z, 10000, 13, -25)
})
model.setAirFog((level, pos, calendarTicks) => 0)
model.setWaterFog((level, pos, calendarTicks) => 0.25)
model.setWindVector((block, calendarTicks) => event.newVec2(0.25, 0.25))
builder.setAirFog((level, pos, calendarTicks) => 0)
builder.setWaterFog((level, pos, calendarTicks) => 0.25)
builder.setWindVector((level, block, calendarTicks) => builder.vector(0.25, 0.25))
})
})

View file

@ -2738,7 +2738,7 @@
{
"pakku_id": "SG15bUHPcW2KqNGd",
"type": "MOD",
"side": "BOTH",
"side": "CLIENT",
"slug": {
"curseforge": "detected-setblock-be-gone"
},
@ -5442,7 +5442,7 @@
"files": [
{
"type": "curseforge",
"file_name": "kubejs_tfc-1.20.1-1.2.6.jar",
"file_name": "kubejs_tfc-1.20.1-1.3.0.jar",
"mc_versions": [
"1.20.1"
],
@ -5451,19 +5451,16 @@
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6477/814/kubejs_tfc-1.20.1-1.2.6.jar",
"id": "6477814",
"url": "https://edge.forgecdn.net/files/6685/35/kubejs_tfc-1.20.1-1.3.0.jar",
"id": "6685035",
"parent_id": "841001",
"hashes": {
"sha1": "c6acc8f35677889e552d4452eb9632a9a9265b55",
"md5": "7346fba12f2797dadd185546ccebf34f"
"sha1": "079a5e5e2f68cc0c34f60cfc16e1d4a75e9575aa",
"md5": "6fcfb2e20f8ffad1e7428c3bd3f032c0"
},
"required_dependencies": [
"238086",
"302973"
],
"size": 738216,
"date_published": "2025-04-29T20:07:20.147Z"
"required_dependencies": [],
"size": 827928,
"date_published": "2025-06-22T22:52:30.673Z"
}
]
},
@ -6836,7 +6833,6 @@
"id": {
"curseforge": "585406"
},
"export": false,
"files": [
{
"type": "curseforge",