neuralgia/kubejs/server_scripts/tfg/events.mars.js
Pyritie 153ae76522
Feature/mars piles and layers (#1975)
* changes for some sand layer/pile stuff

* Martian wind (#1883)

* add texture for wind

* add multiple martian wind types

* fix semiheavy concurrent with tfg core

* rename wind to match convention

* fix blockstate registration error

* why is this even turned on by default

* translate code regions + placeholder bundle recipe

* add mars climate controller

* add debug stick functions

* cleanup

* add layer block models

* add jsons

* cleanup

---------

Signed-off-by: Zippity <i.wa.anderson.86@gmail.com>

* refactor

* undo bundle

* added a bunch of missing snow pile tags

* item model changes

* more snow piled tags

* add dust storm severity biome tags

* some cleanup

---------

Signed-off-by: Zippity <i.wa.anderson.86@gmail.com>
Co-authored-by: Zippity <i.wa.anderson.86@gmail.com>
2025-10-07 18:22:41 +01:00

78 lines
No EOL
3.3 KiB
JavaScript

//"use strict";
//const $Vec2 = Java.loadClass("net.minecraft.world.phys.Vec2")
//ItemEvents.firstLeftClicked('gtceu:long_copper_rod', event => {
// //if (event.getItem().getHoverName().getString() !== "zippity") return;
// let player = event.player;
// player.sendSystemMessage(event.getItem().getHoverName());
// let biome = event.getLevel().getBiome(player.blockPosition());
// // player.sendSystemMessage("debug stick of dooooom!");
// let currentWind = TFC.climate.getWindVector(player.level, player.blockPosition());
// let tags = Array(
// ResourceLocation.tryParse("tfg:has_light_sand_particles"),
// ResourceLocation.tryParse("tfg:has_medium_sand_particles"),
// ResourceLocation.tryParse("tfg:has_dark_sand_particles")
// )
// // player.sendSystemMessage(`current biome tags are ${biome.getTagKeys().toString()}`);
// player.sendSystemMessage(biome.tags().map(tag => tag.location()).filter(element => tags.indexOf(element) > -1).toList());
// let text = `current wind vector is x: ${currentWind.x.toPrecision(2)} z: ${currentWind.y.toPrecision(2)}`;
// player.sendSystemMessage(text);
//});
//// scale wind up (down) on (crouch +) left click
//ItemEvents.firstLeftClicked('gtceu:long_tin_rod', event => {
// //if (event.getItem().getHoverName().getString() !== "zippity") return;
// const player = event.getPlayer()
// const climateManager = global.getMarsClimateController();
// const wind = climateManager.getWind();
// const windVec = new $Vec2(wind.x, wind.z);
// const increment = player.isCrouching() ? -0.1 : 0.1;
// player.sendSystemMessage(`current x: ${windVec.x.toFixed(1)}, z: ${windVec.y.toFixed(1)}`);
// let scaledVec = windVec.add(increment);
// let newX = 0.0;
// let newY = 0.0;
// // i can't modify windVec's properties without rhino throwing a shitfit so here have some extra variables
// newX = scaledVec.x
// newY = scaledVec.y
// if (scaledVec.lengthSquared() >= 1.0) {
// newX = scaledVec.normalized().scale(0.99).x;
// newY = scaledVec.normalized().scale(0.99).y;
// }
// newX = newX <= 0.1 ? 0.1 : newX
// newY = newY <= 0.1 ? 0.1 : newY
// climateManager.setWind({x: newX, z: newY})
// player.sendSystemMessage(`new x: ${newX.toFixed(1)}, z: ${newY.toFixed(1)}`);
//});
//ItemEvents.firstRightClicked('gtceu:long_tin_rod', event => {
// //if (event.getItem().getHoverName().getString() !== "zippity") return;
// const player = event.getPlayer();
// const climateManager = global.getMarsClimateController();
// const wind = climateManager.getWind();
// const windVec = new $Vec2(wind.x, wind.z);
// const initAngle = Math.atan2(windVec.y, windVec.x); // angle to x axis
// let increment = player.isCrouching() ? 15 : -15;
// increment = JavaMath.toRadians(increment)
// player.sendSystemMessage(`current angle: ${JavaMath.toDegrees(initAngle).toFixed(1)}`);
// let newX = (windVec.x * JavaMath.cos(increment)) - (windVec.y * JavaMath.sin(increment))
// let newY = (windVec.x * JavaMath.sin(increment)) + (windVec.y * JavaMath.cos(increment))
// player.sendSystemMessage(`new x: ${newX.toFixed(1)}, z: ${newY.toFixed(1)}`);
// climateManager.setWind({x: newX, z: newY});
// player.sendSystemMessage(`new angle: ${JavaMath.toDegrees(Math.atan2(newY, newX)).toFixed(1)}`);
//});