Часть функционала Простой ShulkerVisible exp 3.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Июн 2025
Сообщения
42
Реакции
0
Выберите загрузчик игры
  1. Vanilla
  2. Forge
  3. Fabric
  4. NeoForge
  5. OptiFine
  6. ForgeOptiFine
  7. Прочие моды

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

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

Спасибо!

Простой ShulkerVisible exp 3.1

ShulkerVisible 1.16.5:
Expand Collapse Copy
public class ShulkerVisible extends Module {

@Subscribe
    public void onRender(EventDisplay event) {
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);

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.getUniqueID().equals(mc.player.getUniqueID())                     ) continue;

stack = player.inventory.getCurrentItem();
                x = player.getPosX();
y = player.getPosY() + player.getHeight() + 1.5f;
                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.75f;
                    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;

Vector2f vec = ProjectionUtil.project((float) x, (float) y, (float) z);
if (vec == null) continue;

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 = MathUtil.lerp(0.5, 1.75, 2.5 / distance);

GlStateManager.pushMatrix();
GlStateManager.translatef(vec.x, vec.y, 0);
GlStateManager.scalef((float) scale, (float) scale, 1.0f);

float slotSize = 18.0f;
float slotSpacing = 2.0f;
float padding = 4.0f;
float width = (slotSize * 9) + (slotSpacing * 8) + (padding * 2);
float height = (slotSize * 3) + (slotSpacing * 2) + (padding * 2);
float shadowOffset = 2.0f          ;

RenderUtility.drawRect(shadowOffset, shadowOffset, width, height, ColorUtils.rgba(0, 0, 0, 0));

RenderUtility.drawRoundedRect(0, 0, width, height,
ColorUtils.rgba(30, 30, 30, 100),
ColorUtils.rgba(50, 50, 50, 200));

RenderUtility.drawRoundedRect(0, 0, width, height, 3.0f, ColorUtils.rgba(100, 100, 100, 50));

 float posX = padding ;
 float posY = padding;
for (int i = 0; i < 27; i++) {
RenderUtility.drawRoundedRect(posX, posY, slotSize, slotSize, 1.0f, ColorUtils.rgba(80, 80, 80, 80));

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }


            }

            posX = padding;
            posY = padding;
for (int i = 0; i < items.size(); i++) {
                ItemStack item = items.get(i);
 if (!item.isEmpty()) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(item, (int) posX, (int) posY);
mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, item, (int) posX, (int) posY, null);
                }

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }
            }

            String   title = stack.getDisplayName().getString();
float titleX = (width - mc.fontRenderer.getStringWidth(title)) / 2;

GlStateManager.popMatrix();
        }

RenderSystem.disableBlend();
    }
}
 
Простой ShulkerVisible exp 3.1

ShulkerVisible 1.16.5:
Expand Collapse Copy
public class ShulkerVisible extends Module {

@Subscribe
    public void onRender(EventDisplay event) {
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);

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.getUniqueID().equals(mc.player.getUniqueID())                     ) continue;

stack = player.inventory.getCurrentItem();
                x = player.getPosX();
y = player.getPosY() + player.getHeight() + 1.5f;
                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.75f;
                    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;

Vector2f vec = ProjectionUtil.project((float) x, (float) y, (float) z);
if (vec == null) continue;

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 = MathUtil.lerp(0.5, 1.75, 2.5 / distance);

GlStateManager.pushMatrix();
GlStateManager.translatef(vec.x, vec.y, 0);
GlStateManager.scalef((float) scale, (float) scale, 1.0f);

float slotSize = 18.0f;
float slotSpacing = 2.0f;
float padding = 4.0f;
float width = (slotSize * 9) + (slotSpacing * 8) + (padding * 2);
float height = (slotSize * 3) + (slotSpacing * 2) + (padding * 2);
float shadowOffset = 2.0f          ;

RenderUtility.drawRect(shadowOffset, shadowOffset, width, height, ColorUtils.rgba(0, 0, 0, 0));

RenderUtility.drawRoundedRect(0, 0, width, height,
ColorUtils.rgba(30, 30, 30, 100),
ColorUtils.rgba(50, 50, 50, 200));

RenderUtility.drawRoundedRect(0, 0, width, height, 3.0f, ColorUtils.rgba(100, 100, 100, 50));

 float posX = padding ;
 float posY = padding;
for (int i = 0; i < 27; i++) {
RenderUtility.drawRoundedRect(posX, posY, slotSize, slotSize, 1.0f, ColorUtils.rgba(80, 80, 80, 80));

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }


            }

            posX = padding;
            posY = padding;
for (int i = 0; i < items.size(); i++) {
                ItemStack item = items.get(i);
 if (!item.isEmpty()) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(item, (int) posX, (int) posY);
mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, item, (int) posX, (int) posY, null);
                }

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }
            }

            String   title = stack.getDisplayName().getString();
float titleX = (width - mc.fontRenderer.getStringWidth(title)) / 2;

GlStateManager.popMatrix();
        }

RenderSystem.disableBlend();
    }
}
/del no ss
 
Простой ShulkerVisible exp 3.1

ShulkerVisible 1.16.5:
Expand Collapse Copy
public class ShulkerVisible extends Module {

@Subscribe
    public void onRender(EventDisplay event) {
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);

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.getUniqueID().equals(mc.player.getUniqueID())                     ) continue;

stack = player.inventory.getCurrentItem();
                x = player.getPosX();
y = player.getPosY() + player.getHeight() + 1.5f;
                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.75f;
                    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;

Vector2f vec = ProjectionUtil.project((float) x, (float) y, (float) z);
if (vec == null) continue;

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 = MathUtil.lerp(0.5, 1.75, 2.5 / distance);

GlStateManager.pushMatrix();
GlStateManager.translatef(vec.x, vec.y, 0);
GlStateManager.scalef((float) scale, (float) scale, 1.0f);

float slotSize = 18.0f;
float slotSpacing = 2.0f;
float padding = 4.0f;
float width = (slotSize * 9) + (slotSpacing * 8) + (padding * 2);
float height = (slotSize * 3) + (slotSpacing * 2) + (padding * 2);
float shadowOffset = 2.0f          ;

RenderUtility.drawRect(shadowOffset, shadowOffset, width, height, ColorUtils.rgba(0, 0, 0, 0));

RenderUtility.drawRoundedRect(0, 0, width, height,
ColorUtils.rgba(30, 30, 30, 100),
ColorUtils.rgba(50, 50, 50, 200));

RenderUtility.drawRoundedRect(0, 0, width, height, 3.0f, ColorUtils.rgba(100, 100, 100, 50));

 float posX = padding ;
 float posY = padding;
for (int i = 0; i < 27; i++) {
RenderUtility.drawRoundedRect(posX, posY, slotSize, slotSize, 1.0f, ColorUtils.rgba(80, 80, 80, 80));

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }


            }

            posX = padding;
            posY = padding;
for (int i = 0; i < items.size(); i++) {
                ItemStack item = items.get(i);
 if (!item.isEmpty()) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(item, (int) posX, (int) posY);
mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, item, (int) posX, (int) posY, null);
                }

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }
            }

            String   title = stack.getDisplayName().getString();
float titleX = (width - mc.fontRenderer.getStringWidth(title)) / 2;

GlStateManager.popMatrix();
        }

RenderSystem.disableBlend();
    }
}
спастите с литки, нахуя ебатся?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хуйня, у мя по факту лучше
 
спастите с литки, нахуя ебатся?
какой литки ты ебень блять?
1754204807990.png
 
Последнее редактирование:
хуцня, надо пастить
 
Простой ShulkerVisible exp 3.1

ShulkerVisible 1.16.5:
Expand Collapse Copy
public class ShulkerVisible extends Module {

@Subscribe
    public void onRender(EventDisplay event) {
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);

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.getUniqueID().equals(mc.player.getUniqueID())                     ) continue;

stack = player.inventory.getCurrentItem();
                x = player.getPosX();
y = player.getPosY() + player.getHeight() + 1.5f;
                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.75f;
                    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;

Vector2f vec = ProjectionUtil.project((float) x, (float) y, (float) z);
if (vec == null) continue;

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 = MathUtil.lerp(0.5, 1.75, 2.5 / distance);

GlStateManager.pushMatrix();
GlStateManager.translatef(vec.x, vec.y, 0);
GlStateManager.scalef((float) scale, (float) scale, 1.0f);

float slotSize = 18.0f;
float slotSpacing = 2.0f;
float padding = 4.0f;
float width = (slotSize * 9) + (slotSpacing * 8) + (padding * 2);
float height = (slotSize * 3) + (slotSpacing * 2) + (padding * 2);
float shadowOffset = 2.0f          ;

RenderUtility.drawRect(shadowOffset, shadowOffset, width, height, ColorUtils.rgba(0, 0, 0, 0));

RenderUtility.drawRoundedRect(0, 0, width, height,
ColorUtils.rgba(30, 30, 30, 100),
ColorUtils.rgba(50, 50, 50, 200));

RenderUtility.drawRoundedRect(0, 0, width, height, 3.0f, ColorUtils.rgba(100, 100, 100, 50));

 float posX = padding ;
 float posY = padding;
for (int i = 0; i < 27; i++) {
RenderUtility.drawRoundedRect(posX, posY, slotSize, slotSize, 1.0f, ColorUtils.rgba(80, 80, 80, 80));

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }


            }

            posX = padding;
            posY = padding;
for (int i = 0; i < items.size(); i++) {
                ItemStack item = items.get(i);
 if (!item.isEmpty()) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(item, (int) posX, (int) posY);
mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, item, (int) posX, (int) posY, null);
                }

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }
            }

            String   title = stack.getDisplayName().getString();
float titleX = (width - mc.fontRenderer.getStringWidth(title)) / 2;

GlStateManager.popMatrix();
        }

RenderSystem.disableBlend();
    }
}
/del no ss
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Простой ShulkerVisible exp 3.1

ShulkerVisible 1.16.5:
Expand Collapse Copy
public class ShulkerVisible extends Module {

@Subscribe
    public void onRender(EventDisplay event) {
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);

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.getUniqueID().equals(mc.player.getUniqueID())                     ) continue;

stack = player.inventory.getCurrentItem();
                x = player.getPosX();
y = player.getPosY() + player.getHeight() + 1.5f;
                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.75f;
                    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;

Vector2f vec = ProjectionUtil.project((float) x, (float) y, (float) z);
if (vec == null) continue;

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 = MathUtil.lerp(0.5, 1.75, 2.5 / distance);

GlStateManager.pushMatrix();
GlStateManager.translatef(vec.x, vec.y, 0);
GlStateManager.scalef((float) scale, (float) scale, 1.0f);

float slotSize = 18.0f;
float slotSpacing = 2.0f;
float padding = 4.0f;
float width = (slotSize * 9) + (slotSpacing * 8) + (padding * 2);
float height = (slotSize * 3) + (slotSpacing * 2) + (padding * 2);
float shadowOffset = 2.0f          ;

RenderUtility.drawRect(shadowOffset, shadowOffset, width, height, ColorUtils.rgba(0, 0, 0, 0));

RenderUtility.drawRoundedRect(0, 0, width, height,
ColorUtils.rgba(30, 30, 30, 100),
ColorUtils.rgba(50, 50, 50, 200));

RenderUtility.drawRoundedRect(0, 0, width, height, 3.0f, ColorUtils.rgba(100, 100, 100, 50));

 float posX = padding ;
 float posY = padding;
for (int i = 0; i < 27; i++) {
RenderUtility.drawRoundedRect(posX, posY, slotSize, slotSize, 1.0f, ColorUtils.rgba(80, 80, 80, 80));

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }


            }

            posX = padding;
            posY = padding;
for (int i = 0; i < items.size(); i++) {
                ItemStack item = items.get(i);
 if (!item.isEmpty()) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(item, (int) posX, (int) posY);
mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, item, (int) posX, (int) posY, null);
                }

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }
            }

            String   title = stack.getDisplayName().getString();
float titleX = (width - mc.fontRenderer.getStringWidth(title)) / 2;

GlStateManager.popMatrix();
        }

RenderSystem.disableBlend();
    }
}
а импорты где блять
 
Простой ShulkerVisible exp 3.1

ShulkerVisible 1.16.5:
Expand Collapse Copy
public class ShulkerVisible extends Module {

@Subscribe
    public void onRender(EventDisplay event) {
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);

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.getUniqueID().equals(mc.player.getUniqueID())                     ) continue;

stack = player.inventory.getCurrentItem();
                x = player.getPosX();
y = player.getPosY() + player.getHeight() + 1.5f;
                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.75f;
                    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;

Vector2f vec = ProjectionUtil.project((float) x, (float) y, (float) z);
if (vec == null) continue;

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 = MathUtil.lerp(0.5, 1.75, 2.5 / distance);

GlStateManager.pushMatrix();
GlStateManager.translatef(vec.x, vec.y, 0);
GlStateManager.scalef((float) scale, (float) scale, 1.0f);

float slotSize = 18.0f;
float slotSpacing = 2.0f;
float padding = 4.0f;
float width = (slotSize * 9) + (slotSpacing * 8) + (padding * 2);
float height = (slotSize * 3) + (slotSpacing * 2) + (padding * 2);
float shadowOffset = 2.0f          ;

RenderUtility.drawRect(shadowOffset, shadowOffset, width, height, ColorUtils.rgba(0, 0, 0, 0));

RenderUtility.drawRoundedRect(0, 0, width, height,
ColorUtils.rgba(30, 30, 30, 100),
ColorUtils.rgba(50, 50, 50, 200));

RenderUtility.drawRoundedRect(0, 0, width, height, 3.0f, ColorUtils.rgba(100, 100, 100, 50));

 float posX = padding ;
 float posY = padding;
for (int i = 0; i < 27; i++) {
RenderUtility.drawRoundedRect(posX, posY, slotSize, slotSize, 1.0f, ColorUtils.rgba(80, 80, 80, 80));

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }


            }

            posX = padding;
            posY = padding;
for (int i = 0; i < items.size(); i++) {
                ItemStack item = items.get(i);
 if (!item.isEmpty()) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(item, (int) posX, (int) posY);
mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, item, (int) posX, (int) posY, null);
                }

                posX += slotSize + slotSpacing;
if ((i + 1) % 9 == 0) {
                    posX = padding;
                    posY += slotSize + slotSpacing;
                }
            }

            String   title = stack.getDisplayName().getString();
float titleX = (width - mc.fontRenderer.getStringWidth(title)) / 2;

GlStateManager.popMatrix();
        }

RenderSystem.disableBlend();
    }
}


понял брат
 
Назад
Сверху Снизу