Начинающий
			
			
				
					
				
			
		- Статус
- Оффлайн
- Регистрация
- 6 Янв 2025
- Сообщения
- 148
- Реакции
- 0
- Выберите загрузчик игры
- Forge
- Fabric
- NeoForge
 
			
				ShulkerChecker.java:
			
		
		
		package im.nucker.functions.impl.render;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import im.nucker.events.EventDisplay;
import im.nucker.functions.api.Category;
import im.nucker.functions.api.Function;
import im.nucker.functions.api.FunctionRegister;
import im.nucker.utils.math.MathUtil;
import im.nucker.utils.projections.ProjectionUtil;
import im.nucker.utils.render.ColorUtils;
import im.nucker.utils.render.DisplayUtils;
import net.minecraft.block.Block;
import net.minecraft.block.ShulkerBoxBlock;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.vector.Vector2f;
@FunctionRegister(name = "ShulkerShower", type = Category.Render)
public class ShulkerChecker extends Function {
    [USER=1474073]@Subscribe[/USER]
    public void onRender(EventDisplay e) {
        for (Entity entity : mc.world.getAllEntities()) {
            double x = 0, y = 0, z = 0;
            ItemStack stack = null;
            
            if (entity instanceof PlayerEntity) {
                PlayerEntity player = (PlayerEntity) entity;
                if (player.getName().equals(mc.player.getName())) continue;
                stack = player.inventory.getStackInSlot(player.inventory.currentItem);
                x = player.getPosX();
                y = player.getPosY() + player.getHeight() + 1.25f;
                z = player.getPosZ();
            }
            
            if (entity instanceof ItemEntity) {
                ItemStack s = ((ItemEntity) entity).getItem();
                if (Block.getBlockFromItem(s.getItem()) instanceof ShulkerBoxBlock) {
                    stack = s;
                    x = entity.getPosX();
                    y = entity.getPosY() + 0.5f;
                    z = entity.getPosZ();
                }
            }
            
            if (stack == null || !(Block.getBlockFromItem(stack.getItem()) instanceof ShulkerBoxBlock)) continue;
            CompoundNBT tag = stack.getTag();
            if (tag == null || !tag.contains("BlockEntityTag", 10)) continue;
            CompoundNBT blocksTag = tag.getCompound("BlockEntityTag");
            if (!blocksTag.contains("Items", 9)) continue;
            NonNullList<ItemStack> items = NonNullList.withSize(27, ItemStack.EMPTY);
            ItemStackHelper.loadAllItems(blocksTag, items);
            if (items.isEmpty()) continue;
            GlStateManager.pushMatrix();
            Vector2f vec = ProjectionUtil.project((float) x, (float) y, (float) z);
            
            double dx = mc.player.getPosX() - x;
            double dy = mc.player.getPosY() - y;
            double dz = mc.player.getPosZ() - z;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            double scale = Math.max(0.4, Math.min(1.5, 2.0 / distance));
            float startX = vec.x;
            float startY = vec.y;
            float posX = startX;
            float posY = startY;
            GlStateManager.translated(startX, startY, 0);
            GlStateManager.scaled(scale, scale, scale);
            DisplayUtils.drawRoundedRect(0, 0, (20 * 9f) + 4.5f, (20 * 3) + 1.5f, 3, ColorUtils.rgb(50, 50, 50));
            for (ItemStack item : items) {
                mc.getItemRenderer().renderItemAndEffectIntoGUI(item, (int) (posX - startX), (int) (posY - startY));
                mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, item, (int) (posX - startX), (int) (posY - startY), null);
                posX += 20;
                if (posX >= startX + 20 * 9f) {
                    posX = startX;
                    posY += 20;
                }
            }
            GlStateManager.popMatrix();
        }
    }
}короче вот
	Пожалуйста, авторизуйтесь для просмотра ссылки.
работает на фт нарисуйте там ректы разделение типа сделайте красивее мне лень и да жду в таких пастах как Hudas Client(noad) убогое говно и DellSide(noad) P.S он спрашивал где библиотека майнкрафта

 
				 
	 
 
		 
 
		
 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		