Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 7 Фев 2024
- Сообщения
- 76
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
Простой перенос
Ориг тема 2.0 -> (клик)
Ориг тема 2.0 -> (клик)
TotemPopCounter:
package Fever.Visual.functions.impl.misc;
import Fever.Visual.events.EventPacket;
import Fever.Visual.functions.api.Category;
import Fever.Visual.functions.api.Function;
import Fever.Visual.functions.api.FunctionRegister;
import Fever.Visual.functions.impl.render.BabyBoy;
import Fever.Visual.functions.settings.impl.BooleanSetting;
import com.google.common.eventbus.Subscribe;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.server.SEntityStatusPacket;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.text.TextFormatting;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@FunctionRegister(name = "TotemPopCounter", type = Category.Misc)
public class TotemPopCounter extends Function {
private final BooleanSetting friendignor = new BooleanSetting("Игнор друзей", true);
private final Map<String, Integer> pops = new ConcurrentHashMap<>();
public TotemPopCounter() {
this.addSettings(friendignor);
}
@Subscribe
public boolean onEvent(EventPacket event) {
IPacket<?> packet = event.getPacket();
if (packet instanceof SEntityStatusPacket) {
SEntityStatusPacket status = (SEntityStatusPacket) packet;
if (status.getOpCode() == 35) {
if (mc.world == null) return false;
PlayerEntity player = (PlayerEntity) status.getEntity(mc.world);
if (player == null || player == mc.player) return false;
String name = player.getName().getString();
if (this.friendignor.get() && BabyBoy.FriendStorage.isFriend(name)) return false;
int count = pops.getOrDefault(name, 0) + 1;
pops.put(name, count);
sendPopMessage(name, count);
}
}
return false;
}
private void sendPopMessage(String playerName, int count) {
String msg = " " +
TextFormatting.RED + playerName +
TextFormatting.WHITE + " попнул " +
TextFormatting.RED + count +
TextFormatting.WHITE + " тотем" + (count > 1 ? "ов!" : "!");
print(msg);
}
}