Исходник ArmorAlert | expensive 3.1

Начинающий
Статус
Оффлайн
Регистрация
23 Авг 2024
Сообщения
16
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

В данной функции можно выбрать порог прочности брони для оповещения о поломке.
У кого нет Manag, просто удалите.


Пожалуйста, авторизуйтесь для просмотра ссылки.





Код:
package xii.infinity.client.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import lombok.Getter;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import xii.infinity.client.events.EventUpdate;
import xii.infinity.client.functions.api.Category;
import xii.infinity.client.functions.api.Function;
import xii.infinity.client.functions.api.FunctionRegister;
import xii.infinity.client.functions.api.Manag;
import xii.infinity.client.functions.impl.render.NotificationManager;
import xii.infinity.client.functions.settings.impl.BooleanSetting;
import xii.infinity.client.functions.settings.impl.ModeListSetting;
import xii.infinity.client.functions.settings.impl.SliderSetting;
import xii.infinity.client.utils.client.IMinecraft;

@Getter
@FunctionRegister(name = "ArmorAlert", type = Category.Misc)
public class ArmorAlert extends Function implements IMinecraft {

private final ModeListSetting modes = new ModeListSetting("Тип",
new BooleanSetting("Шлем", true),
new BooleanSetting("Нагрудник", true),
new BooleanSetting("Штаны", true),
new BooleanSetting("Ботинки", true));

private final SliderSetting proch = new SliderSetting("Порог прочности", 70, 1, 100, 10);
private final BooleanSetting notification = new BooleanSetting("Notification", true);

private boolean hel = false;
private boolean ches = false;
private boolean leg = false;
private boolean boot = false;

public ArmorAlert() {
addSettings(modes, proch, notification);
}

@Subscribe
private void onUpdate(EventUpdate e) {
PlayerEntity player = Minecraft.getInstance().player;
if (player == null) return;

checkArmorDurability(player);
}

private void checkArmorDurability(PlayerEntity player) {
ItemStack helmet = player.getItemStackFromSlot(EquipmentSlotType.HEAD);
ItemStack chestplate = player.getItemStackFromSlot(EquipmentSlotType.CHEST);
ItemStack leggings = player.getItemStackFromSlot(EquipmentSlotType.LEGS);
ItemStack boots = player.getItemStackFromSlot(EquipmentSlotType.FEET);

checkArmorPiece(helmet, "Шлем", hel);
checkArmorPiece(chestplate, "Нагрудник", ches);
checkArmorPiece(leggings, "Штаны", leg);
checkArmorPiece(boots, "Ботинки", boot);
}

private void checkArmorPiece(ItemStack piece, String name, boolean alerted) {
if (modes.getValueByName(name).get() && piece.isDamageable() && piece.getDamage() >= piece.getMaxDamage() - proch.get() && !alerted) {
print("Внимание! " + name + " почти сломан!");
setAlerted(name, true);
if (notification.get()) {
Manag.NOTIFICATION_MANAGER.add("Внимание! " + name + " почти сломан!", "", 2, NotificationManager.ImageType.FIRST_PHOTO);
}
} else if (piece.getDamage() < piece.getMaxDamage() - proch.get()) {
setAlerted(name, false);
}
}

private void setAlerted(String name, boolean value) {
switch (name) {
case "Шлем":
hel = value;
break;
case "Нагрудник":
ches = value;
break;
case "Штаны":
leg = value;
break;
case "Ботинки":
boot = value;
break;
}
}


}
 
Забаненный
Статус
Оффлайн
Регистрация
31 Авг 2023
Сообщения
699
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Норм
 
Забаненный
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
826
Реакции[?]
9
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
код Manag:

Код:
package fun.ellant.ui.notifi;

public class Manag {
    public static NotificationManager NOTIFICATION_MANAGER;
}
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В данной функции можно выбрать порог прочности брони для оповещения о поломке.
У кого нет Manag, просто удалите.



Пожалуйста, авторизуйтесь для просмотра ссылки.





Код:
package xii.infinity.client.functions.impl.misc;

import com.google.common.eventbus.Subscribe;
import lombok.Getter;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import xii.infinity.client.events.EventUpdate;
import xii.infinity.client.functions.api.Category;
import xii.infinity.client.functions.api.Function;
import xii.infinity.client.functions.api.FunctionRegister;
import xii.infinity.client.functions.api.Manag;
import xii.infinity.client.functions.impl.render.NotificationManager;
import xii.infinity.client.functions.settings.impl.BooleanSetting;
import xii.infinity.client.functions.settings.impl.ModeListSetting;
import xii.infinity.client.functions.settings.impl.SliderSetting;
import xii.infinity.client.utils.client.IMinecraft;

@Getter
@FunctionRegister(name = "ArmorAlert", type = Category.Misc)
public class ArmorAlert extends Function implements IMinecraft {

private final ModeListSetting modes = new ModeListSetting("Тип",
new BooleanSetting("Шлем", true),
new BooleanSetting("Нагрудник", true),
new BooleanSetting("Штаны", true),
new BooleanSetting("Ботинки", true));

private final SliderSetting proch = new SliderSetting("Порог прочности", 70, 1, 100, 10);
private final BooleanSetting notification = new BooleanSetting("Notification", true);

private boolean hel = false;
private boolean ches = false;
private boolean leg = false;
private boolean boot = false;

public ArmorAlert() {
addSettings(modes, proch, notification);
}

@Subscribe
private void onUpdate(EventUpdate e) {
PlayerEntity player = Minecraft.getInstance().player;
if (player == null) return;

checkArmorDurability(player);
}

private void checkArmorDurability(PlayerEntity player) {
ItemStack helmet = player.getItemStackFromSlot(EquipmentSlotType.HEAD);
ItemStack chestplate = player.getItemStackFromSlot(EquipmentSlotType.CHEST);
ItemStack leggings = player.getItemStackFromSlot(EquipmentSlotType.LEGS);
ItemStack boots = player.getItemStackFromSlot(EquipmentSlotType.FEET);

checkArmorPiece(helmet, "Шлем", hel);
checkArmorPiece(chestplate, "Нагрудник", ches);
checkArmorPiece(leggings, "Штаны", leg);
checkArmorPiece(boots, "Ботинки", boot);
}

private void checkArmorPiece(ItemStack piece, String name, boolean alerted) {
if (modes.getValueByName(name).get() && piece.isDamageable() && piece.getDamage() >= piece.getMaxDamage() - proch.get() && !alerted) {
print("Внимание! " + name + " почти сломан!");
setAlerted(name, true);
if (notification.get()) {
Manag.NOTIFICATION_MANAGER.add("Внимание! " + name + " почти сломан!", "", 2, NotificationManager.ImageType.FIRST_PHOTO);
}
} else if (piece.getDamage() < piece.getMaxDamage() - proch.get()) {
setAlerted(name, false);
}
}

private void setAlerted(String name, boolean value) {
switch (name) {
case "Шлем":
hel = value;
break;
case "Нагрудник":
ches = value;
break;
case "Штаны":
leg = value;
break;
case "Ботинки":
boot = value;
break;
}
}


}
уже лучше notification или отрендерить новые что бы показывало картинку при мало хп на экране
 
Забаненный
Статус
Оффлайн
Регистрация
4 Апр 2024
Сообщения
69
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Hpalert
сделайте под 3.1 я не могу пределать
 
Забаненный
Статус
Оффлайн
Регистрация
4 Июн 2023
Сообщения
7
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
где взять NotificationManager и manag
 
Похожие темы
Сверху Снизу