Начинающий
- Статус
- Онлайн
- Регистрация
- 23 Сен 2024
- Сообщения
- 321
- Реакции
- 0
Блять ты не можешь создать 2 болеана в BetterMinecraft?ет идеально только зделай функцией
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Блять ты не можешь создать 2 болеана в BetterMinecraft?ет идеально только зделай функцией
так и не понял куда сувать я понял что ingame,а вот метод найти не могу...Сразу скажу = deep seek, но вышло прикольно
SS: ниже
Желаю удачки вам в пастингеrenderHotBar:static int targetSlot = 0; static float currentPosition = 0; static long lastUpdateTime = System.currentTimeMillis(); protected void renderHotbar(float partialTicks, MatrixStack matrixStack) { PlayerEntity playerentity = this.getRenderViewPlayer(); if (playerentity != null) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(WIDGETS_TEX_PATH); ItemStack itemstack = playerentity.getHeldItemOffhand(); HandSide handside = playerentity.getPrimaryHand().opposite(); int i = this.scaledWidth / 2; int j = this.getBlitOffset(); boolean k = true; boolean l = true; int firstColor = ColorUtils.getColor(0); int secondColor = ColorUtils.getColor(90); ModuleRegistry functionRegistry = LunaWare.getInstance().getFunctionRegistry(); BetterMinecraft hotbar = functionRegistry.getBetterMinecraft(); boolean customHotbar = hotbar.isState() && (Boolean)hotbar.hotBar.get(); int blitStandartY = this.scaledHeight - 22; int blitItemY = blitStandartY + 3; this.setBlitOffset(-90); byte x2 = 0; // Добавляем переменные для анимации // Обновляем целевую позицию int newTargetSlot = playerentity.inventory.currentItem; if (newTargetSlot != targetSlot) { targetSlot = newTargetSlot; lastUpdateTime = System.currentTimeMillis(); } // Вычисляем текущую позицию с плавным переходом long currentTime = System.currentTimeMillis(); float delta = (currentTime - lastUpdateTime) / 1000f; // 200ms - время анимации delta = Math.min(delta, 1.0f); // Ограничиваем до 1.0 currentPosition = lerp(currentPosition, targetSlot, delta); if (customHotbar) { int i2 = i - 91; int k2 = 182; int l1 = 22; int finalL = l1; int finalI = i2; Runnable var10000 = () -> DisplayUtils.drawRoundedRect((float) finalI, (float)blitStandartY, (float)k2, (float)(finalL - 2), 3.0F, java.awt.Color.WHITE.getRGB()); if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(3.0F, 1.0F); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 6.0F, ColorUtils.getColor(90)); } else { DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 4.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 7.0F, ColorUtils.getColor(90)); } // Используем currentPosition вместо playerentity.inventory.currentItem для плавного перемещения i2 = (int)(i - 91 - 1 + currentPosition * 20); int j2 = blitStandartY - 1; x2 = 24; l1 = 22; if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(1.0F, 4.0F); DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } else { DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } } else { this.blit(matrixStack, i - 91, blitStandartY, 0, 0, 182, 22); this.blit(matrixStack, (int)(i - 91 - 1 + currentPosition * 20), blitStandartY - 1, 0, 22, 24, 22); } // Остальной код остается без изменений if (!itemstack.isEmpty()) { if (handside == HandSide.LEFT) { if (!customHotbar) { this.blit(matrixStack, i - 91 - 29, blitStandartY - 1, 24, 22, 29, 24); } else { int i2 = i - 91 - 28; x2 = 20; int l1 = 21; byte finalX = x2; Runnable var40 = () -> DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float) finalX, (float)(l1 - 1), 3.0F, java.awt.Color.WHITE.getRGB()); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)x2, (float)(l1 - 1), 3.0F, ColorUtils.rgba(0, 0, 0, 150)); } } else { this.blit(matrixStack, i + 91, blitStandartY - 1, 53, 22, 29, 24); } } this.setBlitOffset(j); RenderSystem.enableRescaleNormal(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); GL11.glEnable(2929); CustomItems.setRenderOffHand(false); for(int i2 = 0; i2 < 9; ++i2) { int j2 = i - 90 + i2 * 20 + 2; int k2 = blitItemY - 1; this.renderHotbarItem(j2, k2, partialTicks, playerentity, (ItemStack)playerentity.inventory.mainInventory.get(i2)); } if (!itemstack.isEmpty()) { CustomItems.setRenderOffHand(true); int finalI = blitItemY - 1; if (handside == HandSide.LEFT) { this.renderHotbarItem(i - 91 - 26, finalI, partialTicks, playerentity, itemstack); } else { this.renderHotbarItem(i + 91 + 10, finalI, partialTicks, playerentity, itemstack); } CustomItems.setRenderOffHand(false); } if (this.mc.gameSettings.attackIndicator == AttackIndicatorStatus.HOTBAR) { Minecraft var41 = this.mc; float f = Minecraft.player.getCooledAttackStrength(0.0F); if (f < 1.0F) { int j2 = blitStandartY - 2; int k2 = i + 91 + 6; if (handside == HandSide.RIGHT) { k2 = i - 91 - 22; } this.mc.getTextureManager().bindTexture(AbstractGui.GUI_ICONS_LOCATION); int l1 = (int)(f * 19.0F); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.blit(matrixStack, k2, j2, 0, 94, 18, 18); this.blit(matrixStack, k2, j2 + 18 - l1, 18, 112 - l1, 18, l1); } } RenderSystem.disableRescaleNormal(); RenderSystem.disableBlend(); } } // Метод для линейной интерполяции private float lerp(float start, float end, float delta) { return start + (end - start) * delta; } // Добавьте эти поля в ваш класс: private int lastHotbarSlot = 0; private float lastAnimatedPos = 0; private float animationProgress = 1.0f; // Метод для линейной интерполяции
Там написано название методатак и не понял куда сувать я понял что ingame,а вот метод найти не могу...
чувак это имба почаще бы таких постовСразу скажу = deep seek, но вышло прикольно
SS: ниже
Желаю удачки вам в пастингеrenderHotBar:static int targetSlot = 0; static float currentPosition = 0; static long lastUpdateTime = System.currentTimeMillis(); protected void renderHotbar(float partialTicks, MatrixStack matrixStack) { PlayerEntity playerentity = this.getRenderViewPlayer(); if (playerentity != null) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(WIDGETS_TEX_PATH); ItemStack itemstack = playerentity.getHeldItemOffhand(); HandSide handside = playerentity.getPrimaryHand().opposite(); int i = this.scaledWidth / 2; int j = this.getBlitOffset(); boolean k = true; boolean l = true; int firstColor = ColorUtils.getColor(0); int secondColor = ColorUtils.getColor(90); ModuleRegistry functionRegistry = LunaWare.getInstance().getFunctionRegistry(); BetterMinecraft hotbar = functionRegistry.getBetterMinecraft(); boolean customHotbar = hotbar.isState() && (Boolean)hotbar.hotBar.get(); int blitStandartY = this.scaledHeight - 22; int blitItemY = blitStandartY + 3; this.setBlitOffset(-90); byte x2 = 0; // Добавляем переменные для анимации // Обновляем целевую позицию int newTargetSlot = playerentity.inventory.currentItem; if (newTargetSlot != targetSlot) { targetSlot = newTargetSlot; lastUpdateTime = System.currentTimeMillis(); } // Вычисляем текущую позицию с плавным переходом long currentTime = System.currentTimeMillis(); float delta = (currentTime - lastUpdateTime) / 1000f; // 200ms - время анимации delta = Math.min(delta, 1.0f); // Ограничиваем до 1.0 currentPosition = lerp(currentPosition, targetSlot, delta); if (customHotbar) { int i2 = i - 91; int k2 = 182; int l1 = 22; int finalL = l1; int finalI = i2; Runnable var10000 = () -> DisplayUtils.drawRoundedRect((float) finalI, (float)blitStandartY, (float)k2, (float)(finalL - 2), 3.0F, java.awt.Color.WHITE.getRGB()); if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(3.0F, 1.0F); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 6.0F, ColorUtils.getColor(90)); } else { DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 4.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 7.0F, ColorUtils.getColor(90)); } // Используем currentPosition вместо playerentity.inventory.currentItem для плавного перемещения i2 = (int)(i - 91 - 1 + currentPosition * 20); int j2 = blitStandartY - 1; x2 = 24; l1 = 22; if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(1.0F, 4.0F); DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } else { DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } } else { this.blit(matrixStack, i - 91, blitStandartY, 0, 0, 182, 22); this.blit(matrixStack, (int)(i - 91 - 1 + currentPosition * 20), blitStandartY - 1, 0, 22, 24, 22); } // Остальной код остается без изменений if (!itemstack.isEmpty()) { if (handside == HandSide.LEFT) { if (!customHotbar) { this.blit(matrixStack, i - 91 - 29, blitStandartY - 1, 24, 22, 29, 24); } else { int i2 = i - 91 - 28; x2 = 20; int l1 = 21; byte finalX = x2; Runnable var40 = () -> DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float) finalX, (float)(l1 - 1), 3.0F, java.awt.Color.WHITE.getRGB()); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)x2, (float)(l1 - 1), 3.0F, ColorUtils.rgba(0, 0, 0, 150)); } } else { this.blit(matrixStack, i + 91, blitStandartY - 1, 53, 22, 29, 24); } } this.setBlitOffset(j); RenderSystem.enableRescaleNormal(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); GL11.glEnable(2929); CustomItems.setRenderOffHand(false); for(int i2 = 0; i2 < 9; ++i2) { int j2 = i - 90 + i2 * 20 + 2; int k2 = blitItemY - 1; this.renderHotbarItem(j2, k2, partialTicks, playerentity, (ItemStack)playerentity.inventory.mainInventory.get(i2)); } if (!itemstack.isEmpty()) { CustomItems.setRenderOffHand(true); int finalI = blitItemY - 1; if (handside == HandSide.LEFT) { this.renderHotbarItem(i - 91 - 26, finalI, partialTicks, playerentity, itemstack); } else { this.renderHotbarItem(i + 91 + 10, finalI, partialTicks, playerentity, itemstack); } CustomItems.setRenderOffHand(false); } if (this.mc.gameSettings.attackIndicator == AttackIndicatorStatus.HOTBAR) { Minecraft var41 = this.mc; float f = Minecraft.player.getCooledAttackStrength(0.0F); if (f < 1.0F) { int j2 = blitStandartY - 2; int k2 = i + 91 + 6; if (handside == HandSide.RIGHT) { k2 = i - 91 - 22; } this.mc.getTextureManager().bindTexture(AbstractGui.GUI_ICONS_LOCATION); int l1 = (int)(f * 19.0F); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.blit(matrixStack, k2, j2, 0, 94, 18, 18); this.blit(matrixStack, k2, j2 + 18 - l1, 18, 112 - l1, 18, l1); } } RenderSystem.disableRescaleNormal(); RenderSystem.disableBlend(); } } // Метод для линейной интерполяции private float lerp(float start, float end, float delta) { return start + (end - start) * delta; } // Добавьте эти поля в ваш класс: private int lastHotbarSlot = 0; private float lastAnimatedPos = 0; private float animationProgress = 1.0f; // Метод для линейной интерполяции
теперь все в ошибкахСразу скажу = deep seek, но вышло прикольно
SS: ниже
Желаю удачки вам в пастингеrenderHotBar:static int targetSlot = 0; static float currentPosition = 0; static long lastUpdateTime = System.currentTimeMillis(); protected void renderHotbar(float partialTicks, MatrixStack matrixStack) { PlayerEntity playerentity = this.getRenderViewPlayer(); if (playerentity != null) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(WIDGETS_TEX_PATH); ItemStack itemstack = playerentity.getHeldItemOffhand(); HandSide handside = playerentity.getPrimaryHand().opposite(); int i = this.scaledWidth / 2; int j = this.getBlitOffset(); boolean k = true; boolean l = true; int firstColor = ColorUtils.getColor(0); int secondColor = ColorUtils.getColor(90); ModuleRegistry functionRegistry = LunaWare.getInstance().getFunctionRegistry(); BetterMinecraft hotbar = functionRegistry.getBetterMinecraft(); boolean customHotbar = hotbar.isState() && (Boolean)hotbar.hotBar.get(); int blitStandartY = this.scaledHeight - 22; int blitItemY = blitStandartY + 3; this.setBlitOffset(-90); byte x2 = 0; // Добавляем переменные для анимации // Обновляем целевую позицию int newTargetSlot = playerentity.inventory.currentItem; if (newTargetSlot != targetSlot) { targetSlot = newTargetSlot; lastUpdateTime = System.currentTimeMillis(); } // Вычисляем текущую позицию с плавным переходом long currentTime = System.currentTimeMillis(); float delta = (currentTime - lastUpdateTime) / 1000f; // 200ms - время анимации delta = Math.min(delta, 1.0f); // Ограничиваем до 1.0 currentPosition = lerp(currentPosition, targetSlot, delta); if (customHotbar) { int i2 = i - 91; int k2 = 182; int l1 = 22; int finalL = l1; int finalI = i2; Runnable var10000 = () -> DisplayUtils.drawRoundedRect((float) finalI, (float)blitStandartY, (float)k2, (float)(finalL - 2), 3.0F, java.awt.Color.WHITE.getRGB()); if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(3.0F, 1.0F); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 6.0F, ColorUtils.getColor(90)); } else { DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 4.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 7.0F, ColorUtils.getColor(90)); } // Используем currentPosition вместо playerentity.inventory.currentItem для плавного перемещения i2 = (int)(i - 91 - 1 + currentPosition * 20); int j2 = blitStandartY - 1; x2 = 24; l1 = 22; if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(1.0F, 4.0F); DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } else { DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } } else { this.blit(matrixStack, i - 91, blitStandartY, 0, 0, 182, 22); this.blit(matrixStack, (int)(i - 91 - 1 + currentPosition * 20), blitStandartY - 1, 0, 22, 24, 22); } // Остальной код остается без изменений if (!itemstack.isEmpty()) { if (handside == HandSide.LEFT) { if (!customHotbar) { this.blit(matrixStack, i - 91 - 29, blitStandartY - 1, 24, 22, 29, 24); } else { int i2 = i - 91 - 28; x2 = 20; int l1 = 21; byte finalX = x2; Runnable var40 = () -> DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float) finalX, (float)(l1 - 1), 3.0F, java.awt.Color.WHITE.getRGB()); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)x2, (float)(l1 - 1), 3.0F, ColorUtils.rgba(0, 0, 0, 150)); } } else { this.blit(matrixStack, i + 91, blitStandartY - 1, 53, 22, 29, 24); } } this.setBlitOffset(j); RenderSystem.enableRescaleNormal(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); GL11.glEnable(2929); CustomItems.setRenderOffHand(false); for(int i2 = 0; i2 < 9; ++i2) { int j2 = i - 90 + i2 * 20 + 2; int k2 = blitItemY - 1; this.renderHotbarItem(j2, k2, partialTicks, playerentity, (ItemStack)playerentity.inventory.mainInventory.get(i2)); } if (!itemstack.isEmpty()) { CustomItems.setRenderOffHand(true); int finalI = blitItemY - 1; if (handside == HandSide.LEFT) { this.renderHotbarItem(i - 91 - 26, finalI, partialTicks, playerentity, itemstack); } else { this.renderHotbarItem(i + 91 + 10, finalI, partialTicks, playerentity, itemstack); } CustomItems.setRenderOffHand(false); } if (this.mc.gameSettings.attackIndicator == AttackIndicatorStatus.HOTBAR) { Minecraft var41 = this.mc; float f = Minecraft.player.getCooledAttackStrength(0.0F); if (f < 1.0F) { int j2 = blitStandartY - 2; int k2 = i + 91 + 6; if (handside == HandSide.RIGHT) { k2 = i - 91 - 22; } this.mc.getTextureManager().bindTexture(AbstractGui.GUI_ICONS_LOCATION); int l1 = (int)(f * 19.0F); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.blit(matrixStack, k2, j2, 0, 94, 18, 18); this.blit(matrixStack, k2, j2 + 18 - l1, 18, 112 - l1, 18, l1); } } RenderSystem.disableRescaleNormal(); RenderSystem.disableBlend(); } } // Метод для линейной интерполяции private float lerp(float start, float end, float delta) { return start + (end - start) * delta; } // Добавьте эти поля в ваш класс: private int lastHotbarSlot = 0; private float lastAnimatedPos = 0; private float animationProgress = 1.0f; // Метод для линейной интерполяции
Задрочили 3.1 опять, с кайфом принципе)Сразу скажу = deep seek, но вышло прикольно
SS: ниже
Желаю удачки вам в пастингеrenderHotBar:static int targetSlot = 0; static float currentPosition = 0; static long lastUpdateTime = System.currentTimeMillis(); protected void renderHotbar(float partialTicks, MatrixStack matrixStack) { PlayerEntity playerentity = this.getRenderViewPlayer(); if (playerentity != null) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(WIDGETS_TEX_PATH); ItemStack itemstack = playerentity.getHeldItemOffhand(); HandSide handside = playerentity.getPrimaryHand().opposite(); int i = this.scaledWidth / 2; int j = this.getBlitOffset(); boolean k = true; boolean l = true; int firstColor = ColorUtils.getColor(0); int secondColor = ColorUtils.getColor(90); ModuleRegistry functionRegistry = LunaWare.getInstance().getFunctionRegistry(); BetterMinecraft hotbar = functionRegistry.getBetterMinecraft(); boolean customHotbar = hotbar.isState() && (Boolean)hotbar.hotBar.get(); int blitStandartY = this.scaledHeight - 22; int blitItemY = blitStandartY + 3; this.setBlitOffset(-90); byte x2 = 0; // Добавляем переменные для анимации // Обновляем целевую позицию int newTargetSlot = playerentity.inventory.currentItem; if (newTargetSlot != targetSlot) { targetSlot = newTargetSlot; lastUpdateTime = System.currentTimeMillis(); } // Вычисляем текущую позицию с плавным переходом long currentTime = System.currentTimeMillis(); float delta = (currentTime - lastUpdateTime) / 1000f; // 200ms - время анимации delta = Math.min(delta, 1.0f); // Ограничиваем до 1.0 currentPosition = lerp(currentPosition, targetSlot, delta); if (customHotbar) { int i2 = i - 91; int k2 = 182; int l1 = 22; int finalL = l1; int finalI = i2; Runnable var10000 = () -> DisplayUtils.drawRoundedRect((float) finalI, (float)blitStandartY, (float)k2, (float)(finalL - 2), 3.0F, java.awt.Color.WHITE.getRGB()); if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(3.0F, 1.0F); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 3.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 6.0F, ColorUtils.getColor(90)); } else { DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)k2, (float)(l1 - 2), 4.0F, (new java.awt.Color(0, 0, 0, 150)).getRGB()); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(blitStandartY + 2), (float)(x2 - 4), (float)(l1 - 4), 7.0F, ColorUtils.getColor(90)); } // Используем currentPosition вместо playerentity.inventory.currentItem для плавного перемещения i2 = (int)(i - 91 - 1 + currentPosition * 20); int j2 = blitStandartY - 1; x2 = 24; l1 = 22; if ((Boolean)hotbar.hotBarBlur.get()) { GaussianBlur.startBlur(); DisplayUtils.drawRoundedRect((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, (new java.awt.Color(0, 0, 0, 255)).getRGB()); GaussianBlur.endBlur(1.0F, 4.0F); DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } else { DisplayUtils.drawRoundedRectOutline((float)(i2 + 2), (float)(j2 + 2), (float)(x2 - 4), (float)(l1 - 4), 2.0F, 1.2F, InterFace.getColor(0)); } } else { this.blit(matrixStack, i - 91, blitStandartY, 0, 0, 182, 22); this.blit(matrixStack, (int)(i - 91 - 1 + currentPosition * 20), blitStandartY - 1, 0, 22, 24, 22); } // Остальной код остается без изменений if (!itemstack.isEmpty()) { if (handside == HandSide.LEFT) { if (!customHotbar) { this.blit(matrixStack, i - 91 - 29, blitStandartY - 1, 24, 22, 29, 24); } else { int i2 = i - 91 - 28; x2 = 20; int l1 = 21; byte finalX = x2; Runnable var40 = () -> DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float) finalX, (float)(l1 - 1), 3.0F, java.awt.Color.WHITE.getRGB()); DisplayUtils.drawRoundedRect((float)i2, (float)blitStandartY, (float)x2, (float)(l1 - 1), 3.0F, ColorUtils.rgba(0, 0, 0, 150)); } } else { this.blit(matrixStack, i + 91, blitStandartY - 1, 53, 22, 29, 24); } } this.setBlitOffset(j); RenderSystem.enableRescaleNormal(); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); GL11.glEnable(2929); CustomItems.setRenderOffHand(false); for(int i2 = 0; i2 < 9; ++i2) { int j2 = i - 90 + i2 * 20 + 2; int k2 = blitItemY - 1; this.renderHotbarItem(j2, k2, partialTicks, playerentity, (ItemStack)playerentity.inventory.mainInventory.get(i2)); } if (!itemstack.isEmpty()) { CustomItems.setRenderOffHand(true); int finalI = blitItemY - 1; if (handside == HandSide.LEFT) { this.renderHotbarItem(i - 91 - 26, finalI, partialTicks, playerentity, itemstack); } else { this.renderHotbarItem(i + 91 + 10, finalI, partialTicks, playerentity, itemstack); } CustomItems.setRenderOffHand(false); } if (this.mc.gameSettings.attackIndicator == AttackIndicatorStatus.HOTBAR) { Minecraft var41 = this.mc; float f = Minecraft.player.getCooledAttackStrength(0.0F); if (f < 1.0F) { int j2 = blitStandartY - 2; int k2 = i + 91 + 6; if (handside == HandSide.RIGHT) { k2 = i - 91 - 22; } this.mc.getTextureManager().bindTexture(AbstractGui.GUI_ICONS_LOCATION); int l1 = (int)(f * 19.0F); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.blit(matrixStack, k2, j2, 0, 94, 18, 18); this.blit(matrixStack, k2, j2 + 18 - l1, 18, 112 - l1, 18, l1); } } RenderSystem.disableRescaleNormal(); RenderSystem.disableBlend(); } } // Метод для линейной интерполяции private float lerp(float start, float end, float delta) { return start + (end - start) * delta; } // Добавьте эти поля в ваш класс: private int lastHotbarSlot = 0; private float lastAnimatedPos = 0; private float animationProgress = 1.0f; // Метод для линейной интерполяции
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz