Начинающий
			
			
				
					
				
			
		Начинающий
		- Статус
 - Оффлайн
 
- Регистрация
 - 7 Фев 2024
 
- Сообщения
 - 99
 
- Реакции
 - 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);
    }
}