added crosshair mod

This commit is contained in:
2025-04-05 19:18:44 +02:00
parent 333975c036
commit 563a68e9f1
7 changed files with 96 additions and 3 deletions
@@ -0,0 +1,47 @@
/*
* Code from: https://github.com/Selyss
* Repo: https://github.com/Selyss/CrosshairIndicator/tree/main
*/
package org.saturnclient.saturnclient.mixin;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.RenderTickCounter;
import net.minecraft.util.Identifier;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.client.gui.DrawContext;
@Mixin(InGameHud.class)
public class Crosshair {
@Shadow
@Final
private MinecraftClient client;
@Unique
Identifier textureLocation = Identifier.of("saturnclient", "textures/gui/hud/crosshair_range.png");
@Inject(method = "renderCrosshair", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawGuiTexture(Ljava/util/function/Function;Lnet/minecraft/util/Identifier;IIII)V", ordinal = 0))
private void drawCrosshair(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci) {
if (org.saturnclient.saturnmods.mods.Crosshair.enabled.value
&& org.saturnclient.saturnmods.mods.Crosshair.range_indicator.value
&& this.client.targetedEntity != null
&& this.client.targetedEntity.isAlive()) {
RenderSystem.setShaderTexture(0, textureLocation);
int scaledWidth = 15;
int scaledHeight = 15;
context.drawTexture(RenderLayer::getCrosshair, textureLocation,
(context.getScaledWindowWidth() - scaledWidth) / 2,
(context.getScaledWindowHeight() - scaledHeight) / 2, 0.0F, 0.0F, scaledWidth, scaledHeight,
scaledWidth, scaledHeight);
}
}
}
@@ -14,7 +14,8 @@ public class ModManager {
new Coordinates(), new Coordinates(),
new ArmorDisplay(), new ArmorDisplay(),
new FpsDisplay(), new FpsDisplay(),
new Particles() new Particles(),
new Crosshair()
}; };
public static void init() { public static void init() {
@@ -0,0 +1,44 @@
package org.saturnclient.saturnmods.mods;
import net.minecraft.util.Identifier;
import org.saturnclient.saturnclient.config.ConfigManager;
import org.saturnclient.saturnclient.config.Property;
import org.saturnclient.saturnmods.SaturnMod;
import org.saturnclient.ui.Textures;
public class Crosshair implements SaturnMod {
public static ConfigManager config = new ConfigManager("Crosshair");
public static Property<Boolean> enabled = config.property(
"Enabled",
new Property<>(false));
public static Property<Boolean> range_indicator = config.property(
"Hit range indicator",
new Property<>(false));
@Override
public boolean isEnabled() {
return enabled.value;
}
@Override
public void setEnabled(boolean e) {
enabled.value = e;
}
@Override
public String getName() {
return "Crosshair";
}
@Override
public Identifier getIconTexture() {
return Textures.getModIcon("crosshair");
}
@Override
public ConfigManager getConfig() {
return config;
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

+1 -1
View File
@@ -9,7 +9,7 @@
"website": "https://kleo-dev.netlify.app", "website": "https://kleo-dev.netlify.app",
"sources": "https://github.com/saturnclientmc/saturnclient" "sources": "https://github.com/saturnclientmc/saturnclient"
}, },
"license": "GPL-3.0", "license": "Apache-2.0",
"icon": "assets/saturnclient/icon.png", "icon": "assets/saturnclient/icon.png",
"environment": "client", "environment": "client",
"entrypoints": { "entrypoints": {
+2 -1
View File
@@ -10,7 +10,8 @@
"PlayerEntityRendererMixin", "PlayerEntityRendererMixin",
"WhoAmI", "WhoAmI",
"SaturnReload", "SaturnReload",
"TotemParticleMixin" "TotemParticleMixin",
"Crosshair"
], ],
"injectors": { "injectors": {
"defaultRequire": 1 "defaultRequire": 1