flying_fish.js

Add mod of flying fish
This commit is contained in:
Daniil200707 2025-01-06 14:58:36 +02:00 committed by GitHub
parent 1fb0f79fb0
commit c0605dc965
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 49 additions and 0 deletions

49
mods/flying_fish.js Normal file
View File

@ -0,0 +1,49 @@
elements.flying_fish = {
color: ["#0077be", "#00aaff"], // Цвета для летающей рыбы
behavior: [
"SW:water AND M2%10|M2%10|SW:water AND M2%10", // Может прыгать в воздух и возвращаться в воду
"SW:water|XX|SW:water", // Движение влево и вправо в воде
"SW:water AND M1%10|M1%10|SW:water AND M1%10" // Лёгкое спускание, если в воздухе
],
category: "life", // Категория, в которой будет находиться элемент
state: "liquid", // Условное состояние рыбы
density: 997, // Плотность, близкая к воде
tempHigh: 50, // Температура, при которой рыба погибает
stateHigh: "meat",
tempLow: -10, // Температура, при которой рыба замерзает
stateLow: "frozen_fish",
reactions: {
"fire": {elem1: "meat"}, // Рыба "сгорает" при контакте с огнём
"acid": {elem1: null } // Рыба исчезает в кислоте
},
properties: {
energy: 100, // Энергия рыбы, уменьшается со временем
},
tick: function(pixel) {
// Уменьшение энергии
pixel.energy -= 0.1;
// Если энергия исчерпана, рыба превращается в "мертвую рыбу"
if (pixel.energy <= 0) {
changePixel(pixel, "dead_fish");
}
// Восстановление энергии в воде
if (pixel.currentState === "water") {
pixel.energy += 0.5;
}
// Поведение прыжков: при контакте с водой рыбка "прыгает" в воздух
if (pixel.y < height - 1 && isEmpty(pixel.x, pixel.y + 1)) {
pixel.energy += 0.2; // Лёгкое восстановление энергии
}
},
};
elements.dead_fish = {
color: "#555555", // Серый цвет для мертвой рыбы
behavior: behaviors.STATIC, // Никакого движения
category: "life", // Категория остаётся той же
state: "solid", // Мёртвая рыба становится твёрдой
density: 1100, // Немного плотнее воды
};