-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
увидел у дельты прикольно звучало так что решил сделать
ес чо из инва или хотбара на фт не будет работать, и ещё в MathUtil добавьте это
Пожалуйста, авторизуйтесь для просмотра ссылки.
Java:
/**
* Автор Ieo117
* Дата создания: 15.09.2024, в 11:43:58
*/
@FunctionRegister(name = "ShulkerShower", type = Category.Util)
public class ShulkerChecker extends Function {
@Subscribe
public void onRender(EventDisplay e){
for(Entity entity : mc.world.getAllEntities()) {
if(entity instanceof PlayerEntity player) {
if(player.getName().equals(mc.player.getName())){ continue;}
ItemStack stack = player.inventory.getStackInSlot(player.inventory.currentItem);
if (Block.getBlockFromItem(stack.getItem()) instanceof ShulkerBoxBlock) {
CompoundNBT tag = stack.getTag();
if (tag != null && tag.contains("BlockEntityTag", 10)) {
CompoundNBT blocksTag = tag.getCompound("BlockEntityTag");
if (blocksTag.contains("Items", 9)) {
NonNullList<ItemStack> items = NonNullList.withSize(27, ItemStack.EMPTY);
ItemStackHelper.loadAllItems(blocksTag, items);
if (! items.isEmpty()) {
GlStateManager.pushMatrix();
Direction direction = mc.player.getHorizontalFacing();
Vector2f vec = ProjectionUtil.project((float) player.getPosX() - (direction.equals(Direction.NORTH) || direction.equals(Direction.WEST) ? (player.getWidth() * 3) : - (player.getWidth() * 3)), (float) player.getPosY() + player.getHeight() + 1.25f, (float) player.getPosZ());
double scale = MathUtil.getScale(player.getPositionVec(), 0.2f);
float startX = (float) vec.x();
float startY = (float) 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(255, 255, 255));
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();
}
}
}
}
// }
}
}
}
}
Java:
/**
* @return Scale который будет возвращать всегда статичный размер который не будет увеличиваться больше указанного в size создавая ощущения будто это в 3д.
*
* Нужно для 2д рендера что бы из за проекции оно на весь экран не становилось при отдалении
*
* Можно применить для партиклов, таргет есп, неймтегов и много чего ещё
*/
public double getScale(Vector3d position, double size){
Vector3d cam = mc.getRenderManager().info.getProjectedView();
double distance = cam.distanceTo(position);
double fov = mc.gameRenderer.getFOVModifier(mc.getRenderManager().info, mc.getRenderPartialTicks(), true);
return (float) Math.max(10f, 1000 / distance) * (size / 30f) / (float) (fov == 70 ? 1 : fov / 70.0f);
}