Начинающий
- Статус
- Оффлайн
- Регистрация
- 17 Июл 2024
- Сообщения
- 122
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
- Прочие моды
Деф Цепи как в дебуды я пытался сделать 1 в 1 по мне нормально (Тутор как добавить:надо добавить в AuraComponent заместо 8 на то что вам надо и в килауру добавляете например
public final ModeSetting targetesp = new ModeSetting("Отображения Цели", "1", new String[]{"1", "2", "3", "4", "5", "6", "7","как вам надо", "Не Отоброжать"}); и добавляете в src\resources\assets\minecraft\litka\images\world chain.png и запускаете и работает)
public final ModeSetting targetesp = new ModeSetting("Отображения Цели", "1", new String[]{"1", "2", "3", "4", "5", "6", "7","как вам надо", "Не Отоброжать"}); и добавляете в src\resources\assets\minecraft\litka\images\world chain.png и запускаете и работает)
Пожалуйста, авторизуйтесь для просмотра ссылки.
Код:
if (attackAura.targetesp.is("8")) {
if (currentTarget == null) return;
MatrixStack ms = e.getMatrix();
ms.push();
ActiveRenderInfo cam = mc.getRenderManager().info;
Vector3d interpolated = MathUtil.interpolate(currentTarget.getPositionVec(), new Vector3d(currentTarget.lastTickPosX, currentTarget.lastTickPosY, currentTarget.lastTickPosZ), e.getPartialTicks());
double entX = interpolated.x - cam.getProjectedView().getX();
double entY = interpolated.y - cam.getProjectedView().getY() - 0.5f;
double entZ = interpolated.z - cam.getProjectedView().getZ();
float movingValue = getMovingValue();
float gradusX = (float) (20 * Math.min(1 + Math.sin(Math.toRadians(movingValue)), 1));
float gradusZ = (float) (20 * (Math.min(1 + Math.sin(Math.toRadians(movingValue)), 2) - 1));
float width = currentTarget.getWidth() * 1.5f;
RenderSystem.enableBlend();
RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
float hitProgress = hurtProgress;
int redColor = 0xFFFF0000;
int baseColor = Theme.ClientColor();
int blendedColor = (hitProgress > 0) ? lerpColor(new Color(baseColor), new Color(255,0,0), hitProgress) : baseColor;
Tessellator tess = Tessellator.getInstance();
BufferBuilder builder = tess.getBuffer();
GL11.glDisable(GL11.GL_CULL_FACE);
depthMask(true);
ResourceLocation chainTexture = new ResourceLocation("litka/images/world/chain.png");
mc.getTextureManager().bindTexture(chainTexture);
int linksStep = 18;
int totalAngle = 360 * 2;
float chainSize = 4f;
float down = 1f;
for (int chain = 0; chain < 2; chain++) {
float val = 1.2f - 0.5f * (chain == 0 ? 1.0f : 0.9f);
for (int glowLayer = 2; glowLayer >= 0; glowLayer--) {
ms.push();
ms.translate(entX, entY + currentTarget.getHeight() / 2.0f, entZ);
float x = 0, y = 0, z = 0;
Matrix4f matrix = ms.getLast().getMatrix();
ms.rotate(Vector3f.ZP.rotationDegrees(chain == 0 ? gradusX : -gradusX));
ms.rotate(Vector3f.XP.rotationDegrees(chain == 0 ? gradusZ : -gradusZ));
int alphaVal = MathHelper.clamp((int) this.alpha.getOutput(), 0, 255);
if (glowLayer == 0) {
mc.getTextureManager().bindTexture(chainTexture);
int color = ColorUtil.setAlpha(blendedColor, alphaVal);
builder.begin(GL11.GL_QUADS, POSITION_COLOR_TEX_LIGHTMAP);
int modif = linksStep / 2;
for (int i = 0; i < totalAngle; i += modif) {
float prevSin = (float) (x + (chain == 0 ? gradusX : -gradusX) / 100F + Math.sin(Math.toRadians(i - modif + movingValue * 0.5f)) * width * val);
float prevCos = (float) (z + (chain == 0 ? -gradusZ : gradusZ) / 100F + Math.cos(Math.toRadians(i - modif + movingValue * 0.5f)) * width * val);
float sin = (float) (x + (chain == 0 ? gradusX : -gradusX) / 100F + Math.sin(Math.toRadians(i + movingValue * 0.5f)) * width * val);
float cos = (float) (z + (chain == 0 ? -gradusZ : gradusZ) / 100F + Math.cos(Math.toRadians(i + movingValue * 0.5f)) * width * val);
int r = ColorUtil.getRed(color);
int g = ColorUtil.getGreen(color);
int b = ColorUtil.getBlue(color);
int a = ColorUtil.getAlpha(color);
builder.pos(matrix, prevSin, y, prevCos).color(r, g, b, a).tex(1f / 360f * (float) (i - modif) * chainSize, 0).lightmap(0, 240).endVertex();
builder.pos(matrix, sin, y, cos).color(r, g, b, a).tex(1f / 360f * (float) (i) * chainSize, 0).lightmap(0, 240).endVertex();
builder.pos(matrix, sin, y + down, cos).color(r, g, b, a).tex(1f / 360f * (float) (i) * chainSize, 1 - 0.01f).lightmap(0, 240).endVertex();
builder.pos(matrix, prevSin, y + down, prevCos).color(r, g, b, a).tex(1f / 360f * (float) (i - modif) * chainSize, 1 - 0.01f).lightmap(0, 240).endVertex();
}
} else {
RenderSystem.disableTexture();
float glowSize = 1.0f + glowLayer * 0.4f;
float glowAlpha = MathHelper.clamp(alphaVal * (0.6f - glowLayer * 0.2f), 0f, 255f);
int glowColor = ColorUtil.setAlpha(blendedColor, (int) glowAlpha);
builder.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
int modif = linksStep / 2;
for (int i = 0; i < totalAngle; i += modif) {
float prevSin = (float) (x + (chain == 0 ? gradusX : -gradusX) / 100F + Math.sin(Math.toRadians(i - modif + movingValue * 0.5f)) * width * val * glowSize);
float prevCos = (float) (z + (chain == 0 ? -gradusZ : gradusZ) / 100F + Math.cos(Math.toRadians(i - modif + movingValue * 0.5f)) * width * val * glowSize);
float sin = (float) (x + (chain == 0 ? gradusX : -gradusX) / 100F + Math.sin(Math.toRadians(i + movingValue * 0.5f)) * width * val * glowSize);
float cos = (float) (z + (chain == 0 ? -gradusZ : gradusZ) / 100F + Math.cos(Math.toRadians(i + movingValue * 0.5f)) * width * val * glowSize);
int r = ColorUtil.getRed(glowColor);
int g = ColorUtil.getGreen(glowColor);
int b = ColorUtil.getBlue(glowColor);
int a = ColorUtil.getAlpha(glowColor);
float glowDown = down * glowSize;
builder.pos(matrix, prevSin, y - glowDown * 0.1f, prevCos).color(r, g, b, a).endVertex();
builder.pos(matrix, sin, y - glowDown * 0.1f, cos).color(r, g, b, a).endVertex();
builder.pos(matrix, sin, y + glowDown * 1.1f, cos).color(r, g, b, a).endVertex();
builder.pos(matrix, prevSin, y + glowDown * 1.1f, prevCos).color(r, g, b, a).endVertex();
}
RenderSystem.enableTexture();
}
tess.draw();
ms.pop();
}
}
RenderSystem.defaultBlendFunc();
RenderSystem.disableBlend();
RenderSystem.enableDepthTest();
GL11.glEnable(GL11.GL_CULL_FACE);
ms.pop();
}
Вложения
Последнее редактирование:
