Forge Api ;-;
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
invhud.js:
public static int InventoryHudX = 10, InventoryHudY = 300;
@SubscribeEvent
public void onUpdate(RenderGameOverlayEvent.Text e) {
if (e.getType() != RenderGameOverlayEvent.ElementType.TEXT) return;
if (mc.player != null && mc.level != null) {
float rectWidth = 180;
float rectHeight = 80;
DrawHelper.drawRoundedGradientRect(InventoryHudX - 1, InventoryHudY + 63, rectWidth - 8, rectHeight, 2,
new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()),
new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()));
DrawHelper.drawRoundedGradientBlurredRect(InventoryHudX, InventoryHudY + 62, rectWidth - 10, rectHeight - 2.5f, 3, 6,
new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()),
new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()));
DrawHelper.drawRoundedRect(InventoryHudX - 0.5f, InventoryHudY + 62.5f, rectWidth - 9, rectHeight - 1, 2, new Color(ColorUtil.interpolateColor(light, color1.getRGB(), 0.02f)));
FontUtil.drawAstolfoString(e.getMatrixStack(), Font.hud_icons, "F", InventoryHudX + 5, InventoryHudY - 4.5f);
FontUtil.drawAstolfoString(e.getMatrixStack(), Font.big, "Инвентарь", InventoryHudX + (rectWidth / 2) - 25, InventoryHudY - 5.5f);
DrawHelper.drawRoundedRect(InventoryHudX - 0.5f, InventoryHudY - 1.5f, rectWidth - 9, 0.5f, 1, new Color(75, 75, 75));
assert mc.player != null;
try {
NonNullList<ItemStack> inventory = mc.player.inventory.items;
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
float startX = InventoryHudX + 5;
float startY = InventoryHudY + 5;
for (int i = 9; i < 36; i++) {
int row = (i - 9) / 9;
int col = (i - 9) % 9;
float x = startX + col * 18;
float y = startY + row * 18;
ItemStack item = inventory.get(i);
DrawHelper.drawRoundedRect(x, y + 15.5f, 16, 16, 1, new Color(0, 0, 0, 100));
if (!item.isEmpty()) {
RenderSystem.pushMatrix();
RenderSystem.translatef(x, y, 0);
RenderSystem.scalef(1.0f, 1.0f, 1.0f);
mc.getItemRenderer().renderGuiItem(item, 0, 0);
mc.getItemRenderer().renderGuiItemDecorations(mc.font, item, 0, 0, null);
if (item.getCount() > 1) {
String countString = String.valueOf(item.getCount());
// тут по сути можно рендерить кастомным фонтов но мне так по кайфу
mc.font.draw(e.getMatrixStack(), countString, 17 - mc.font.width(countString), 9, 0xFFFFFF);
}
RenderSystem.popMatrix();
}
}
RenderSystem.disableBlend();
} catch (Exception ignored) {
}
}
}
color util method:
public static Color twoColorEffect(Color color1, Color color2, float alpha) {
float val = MathHelper.clamp((float) Math.sin(19 * ((Math.abs(System.currentTimeMillis() / 15) / 100.2) / 4 % 1)) / 2 + 0.5f, 0, 1);
return new Color(MathUtil.lerp((float) color1.getRed() / 255, (float) color2.getRed() / 255, val), MathUtil.lerp((float) color1.getGreen() / 255, (float) color2.getGreen() / 255, val), MathUtil.lerp((float) color1.getBlue() / 255, (float) color2.getBlue() / 255, val), alpha / 255);
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
SS: