Начинающий
- Статус
- Оффлайн
- Регистрация
- 23 Сен 2024
- Сообщения
- 292
- Реакции
- 0
- Выберите загрузчик игры
- Прочие моды
вроде это одни из самых лучших arrows на YouGame
SS : Прикрепил внизу
DW : Также внизу
Код Arrows:
DrawImageAlpha (метод в классе DisplayUtils)
Одобрите тему имба же))
SS : Прикрепил внизу
DW : Также внизу
Код Arrows:
Код:
package vesence.recode.modules.impl.render;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import vesence.recode.commandstorage.FriendStorage;
import vesence.recode.events.EventDisplay;
import vesence.recode.modules.api.Category;
import vesence.recode.modules.api.Module;
import vesence.recode.modules.api.ModuleRegister;
import vesence.recode.modules.settings.impl.ModeSetting;
import vesence.recode.utils.math.MathUtil;
import vesence.recode.utils.math.Vector4i;
import vesence.recode.utils.player.PlayerUtils;
import vesence.recode.utils.render.color.ColorUtils;
import vesence.recode.utils.render.rect.DisplayUtils;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.screen.inventory.InventoryScreen;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import org.lwjgl.opengl.GL11;
import java.awt.*;
@ModuleRegister(name = "Pointers", category = Category.Visuals, description = "123")
public class Arrows extends Module {
public static ModeSetting design = new ModeSetting("Дизайн стрелки", "Client", "Client", "Celestial", "Nursultan");
public float animationStep;
public Arrows() {
addSettings(design);
}
private float lastYaw;
private float lastPitch;
private float animatedYaw;
private float animatedPitch;
@Subscribe
public void onDisplay(EventDisplay e) {
if (mc.player == null || mc.world == null || e.getType() != EventDisplay.Type.PRE) {
return;
}
float size = 60;
if (mc.currentScreen instanceof InventoryScreen) {
size += 100;
}
animationStep = MathUtil.fast(animationStep, size, 6);
if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
for (AbstractClientPlayerEntity player : mc.world.getPlayers()) {
if (!PlayerUtils.isNameValid(player.getNameClear()) || mc.player == player)
continue;
double x = player.lastTickPosX + (player.getPosX() - player.lastTickPosX) * mc.getRenderPartialTicks()
- mc.getRenderManager().info.getProjectedView().getX();
double z = player.lastTickPosZ + (player.getPosZ() - player.lastTickPosZ) * mc.getRenderPartialTicks()
- mc.getRenderManager().info.getProjectedView().getZ();
double cos = MathHelper.cos((float) (mc.getRenderManager().info.getYaw() * (Math.PI * 2 / 360)));
double sin = MathHelper.sin((float) (mc.getRenderManager().info.getYaw() * (Math.PI * 2 / 360)));
double rotY = -(z * cos - x * sin);
double rotX = -(x * cos + z * sin);
float angle = (float) (Math.atan2(rotY, rotX) * 180 / Math.PI);
double x2 = animationStep * MathHelper.cos((float) Math.toRadians(angle)) + window.getScaledWidth() / 2f;
double y2 = animationStep * MathHelper.sin((float) Math.toRadians(angle)) + window.getScaledHeight() / 2f;
x2 += animatedYaw;
y2 += animatedPitch;
GlStateManager.pushMatrix();
GlStateManager.disableBlend();
GlStateManager.translated(x2, y2, 0);
GlStateManager.rotatef(angle, 0, 0, 1);
int color = FriendStorage.isFriend(player.getGameProfile().getName()) ? FriendStorage.getColor() : ColorUtils.rgb(255,255,255);
//ColorUtils.getColor(1);
DisplayUtils.drawShadowCircle(1, 0, 14, ColorUtils.setAlpha(ColorUtils.getColor(0), 55));
drawTriangle(-4, -1F, 6F, 9F, new Color(0, 0, 0, 32));
drawTriangle(-3F, 0F, 5F, 7F, new Color(color));
GlStateManager.enableBlend();
GlStateManager.popMatrix();
}
}
lastYaw = mc.player.rotationYaw;
lastPitch = mc.player.rotationPitch;
}
public static void drawTriangle(float x, float y, float width, float height, Color color) {
if(design.is("Client")) {
DisplayUtils.drawImageAlpha(new ResourceLocation("vesence/images/triangle2.png"), -8.0F, -9.0F, 18, 18, new Vector4i(ColorUtils.setAlpha(Theme.getColor(0, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(90, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(180, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(270, 1.0F), 125)));
}
if(design.is("Celestial")){
DisplayUtils.drawImageAlpha(new ResourceLocation("vesence/images/triangle.png"), -8.0F, -9.0F, 18, 18, new Vector4i(ColorUtils.setAlpha(Theme.getColor(0, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(90, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(180, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(270, 1.0F), 125)));
}
if(design.is("Nursultan")){
DisplayUtils.drawImageAlpha(new ResourceLocation("vesence/images/arrows.png"), -8.0F, -9.0F, 18, 18, new Vector4i(ColorUtils.setAlpha(Theme.getColor(0, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(90, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(180, 1.0F), 125), ColorUtils.setAlpha(Theme.getColor(270, 1.0F), 125)));
}
GL11.glPushMatrix();
GL11.glPopMatrix();
}
}
DrawImageAlpha (метод в классе DisplayUtils)
Код:
public static void drawImageAlpha(ResourceLocation resourceLocation, float x, float y, float width, float height, Vector4i color) {
RenderSystem.pushMatrix();
RenderSystem.disableLighting();
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.shadeModel(7425);
RenderSystem.disableCull();
RenderSystem.disableAlphaTest();
RenderSystem.blendFuncSeparate(770, 1, 0, 1);
mc.getTextureManager().bindTexture(resourceLocation);
buffer.begin(7, POSITION_TEX_COLOR);
{
buffer.pos(x, y, 0).tex(0, 1 - 0.01f).lightmap(0, 240).color(color.x).endVertex();
buffer.pos(x, y + height, 0).tex(1, 1 - 0.01f).lightmap(0, 240).color(color.y).endVertex();
buffer.pos(x + width, y + height, 0).tex(1, 0).lightmap(0, 240).color(color.z).endVertex();
buffer.pos(x + width, y, 0).tex(0, 0).lightmap(0, 240).color(color.w).endVertex();
}
tessellator.draw();
RenderSystem.defaultBlendFunc();
RenderSystem.disableBlend();
RenderSystem.enableCull();
RenderSystem.enableAlphaTest();
RenderSystem.depthMask(true);
RenderSystem.popMatrix();
}