day counter crosshair and coordinates
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
package org.saturnclient.modules.interfaces;
|
||||||
|
|
||||||
|
public interface CoordinatesInterface {
|
||||||
|
|
||||||
|
int getPlayerX();
|
||||||
|
|
||||||
|
int getPlayerY();
|
||||||
|
|
||||||
|
int getPlayerZ();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package org.saturnclient.modules.interfaces;
|
||||||
|
|
||||||
|
public interface CrosshairInterface {
|
||||||
|
|
||||||
|
boolean isTargetingLivingEntity();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package org.saturnclient.modules.interfaces;
|
||||||
|
|
||||||
|
public interface DayCounterInterface {
|
||||||
|
|
||||||
|
long getDay();
|
||||||
|
|
||||||
|
}
|
||||||
+36
-13
@@ -4,20 +4,27 @@ import org.saturnclient.modules.HudMod;
|
|||||||
import org.saturnclient.modules.ModDimensions;
|
import org.saturnclient.modules.ModDimensions;
|
||||||
import org.saturnclient.modules.Module;
|
import org.saturnclient.modules.Module;
|
||||||
import org.saturnclient.modules.ModuleDetails;
|
import org.saturnclient.modules.ModuleDetails;
|
||||||
import org.saturnclient.saturnclient.SaturnClient;
|
import org.saturnclient.modules.interfaces.CoordinatesInterface;
|
||||||
import org.saturnclient.config.manager.Property;
|
import org.saturnclient.config.manager.Property;
|
||||||
import org.saturnclient.ui.RenderScope;
|
import org.saturnclient.ui.RenderScope;
|
||||||
import org.saturnclient.ui.resources.Fonts;
|
import org.saturnclient.ui.resources.Fonts;
|
||||||
|
|
||||||
import net.minecraft.util.math.Vec3d;
|
|
||||||
|
|
||||||
public class Coordinates extends Module implements HudMod {
|
public class Coordinates extends Module implements HudMod {
|
||||||
|
|
||||||
private static Property<Boolean> enabled = Property.bool(false);
|
private static Property<Boolean> enabled = Property.bool(false);
|
||||||
private static Property<Integer> displayMethod = Property.select(0, "Flat", "Flat annotated", "Newline",
|
|
||||||
|
private static Property<Integer> displayMethod = Property.select(
|
||||||
|
0,
|
||||||
|
"Flat",
|
||||||
|
"Flat annotated",
|
||||||
|
"Newline",
|
||||||
"Newline annotated");
|
"Newline annotated");
|
||||||
|
|
||||||
private static ModDimensions dimensions = new ModDimensions(40, 18);
|
private static ModDimensions dimensions = new ModDimensions(40, 18);
|
||||||
|
|
||||||
public Coordinates() {
|
private final CoordinatesInterface minecraft;
|
||||||
|
|
||||||
|
public Coordinates(CoordinatesInterface minecraft) {
|
||||||
super(new ModuleDetails("Coordinates", "coords")
|
super(new ModuleDetails("Coordinates", "coords")
|
||||||
.description("Displays your current coordinates")
|
.description("Displays your current coordinates")
|
||||||
.version("v0.1.0")
|
.version("v0.1.0")
|
||||||
@@ -25,6 +32,8 @@ public class Coordinates extends Module implements HudMod {
|
|||||||
enabled.named("Enabled"),
|
enabled.named("Enabled"),
|
||||||
displayMethod.named("Display Method"),
|
displayMethod.named("Display Method"),
|
||||||
dimensions.prop());
|
dimensions.prop());
|
||||||
|
|
||||||
|
this.minecraft = minecraft;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -34,26 +43,40 @@ public class Coordinates extends Module implements HudMod {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderHud(RenderScope scope) {
|
public void renderHud(RenderScope scope) {
|
||||||
Vec3d pos = SaturnClient.client.player.getPos();
|
int x = minecraft.getPlayerX();
|
||||||
renderCoords((int) pos.x, (int) pos.y, (int) pos.z, scope);
|
int y = minecraft.getPlayerY();
|
||||||
|
int z = minecraft.getPlayerZ();
|
||||||
|
|
||||||
|
renderCoords(x, y, z, scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderCoords(int x, int y, int z, RenderScope scope) {
|
public void renderCoords(int x, int y, int z, RenderScope scope) {
|
||||||
String f = "%d %d %d"; // Flat
|
|
||||||
|
String f = "%d %d %d";
|
||||||
|
|
||||||
switch (displayMethod.value) {
|
switch (displayMethod.value) {
|
||||||
case 1: // Flat annotated
|
case 1:
|
||||||
f = "X: %d Y: %d Z: %d";
|
f = "X: %d Y: %d Z: %d";
|
||||||
break;
|
break;
|
||||||
case 2: // Newline
|
|
||||||
|
case 2:
|
||||||
f = "%d\n%d\n%d";
|
f = "%d\n%d\n%d";
|
||||||
break;
|
break;
|
||||||
case 3: // Newline annotated
|
|
||||||
|
case 3:
|
||||||
f = "X: %d\nY: %d\nZ: %d";
|
f = "X: %d\nY: %d\nZ: %d";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
String text = String.format(f, x, y, z);
|
String text = String.format(f, x, y, z);
|
||||||
scope.drawText(text,
|
|
||||||
0, 0, dimensions.font.value, dimensions.fgColor.value);
|
scope.drawText(
|
||||||
|
text,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
dimensions.font.value,
|
||||||
|
dimensions.fgColor.value);
|
||||||
|
|
||||||
dimensions.width = Fonts.getWidth(text, dimensions.font.value);
|
dimensions.width = Fonts.getWidth(text, dimensions.font.value);
|
||||||
dimensions.height = 18 * text.split("\n").length;
|
dimensions.height = 18 * text.split("\n").length;
|
||||||
}
|
}
|
||||||
+17
-7
@@ -2,34 +2,44 @@ package org.saturnclient.modules.mods;
|
|||||||
|
|
||||||
import org.saturnclient.modules.Module;
|
import org.saturnclient.modules.Module;
|
||||||
import org.saturnclient.modules.ModuleDetails;
|
import org.saturnclient.modules.ModuleDetails;
|
||||||
import org.saturnclient.saturnclient.SaturnClient;
|
import org.saturnclient.modules.interfaces.CrosshairInterface;
|
||||||
import org.saturnclient.config.manager.Property;
|
import org.saturnclient.config.manager.Property;
|
||||||
import org.saturnclient.ui.RenderScope;
|
import org.saturnclient.ui.RenderScope;
|
||||||
import org.saturnclient.ui.resources.Textures;
|
import org.saturnclient.ui.resources.Textures;
|
||||||
|
|
||||||
public class Crosshair extends Module {
|
public class Crosshair extends Module {
|
||||||
|
|
||||||
public static Property<Boolean> enabled = Property.bool(false);
|
public static Property<Boolean> enabled = Property.bool(false);
|
||||||
|
|
||||||
public Crosshair() {
|
private final CrosshairInterface minecraft;
|
||||||
|
|
||||||
|
public Crosshair(CrosshairInterface minecraft) {
|
||||||
super(
|
super(
|
||||||
new ModuleDetails("Crosshair", "crosshair")
|
new ModuleDetails("Crosshair", "crosshair")
|
||||||
.description("Changes the crosshair if you're aiming at a entity")
|
.description("Changes the crosshair if you're aiming at a entity")
|
||||||
.tags("Visuals", "Utility")
|
.tags("Visuals", "Utility")
|
||||||
.version("v0.1.0"),
|
.version("v0.1.0"),
|
||||||
enabled.named("Enabled"));
|
enabled.named("Enabled"));
|
||||||
|
|
||||||
|
this.minecraft = minecraft;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(RenderScope scope) {
|
public void render(RenderScope scope) {
|
||||||
if (enabled.value
|
|
||||||
&& SaturnClient.client.targetedEntity != null
|
if (enabled.value && minecraft.isTargetingLivingEntity()) {
|
||||||
&& SaturnClient.client.targetedEntity.isAlive()) {
|
|
||||||
int scaledWidth = 15;
|
int scaledWidth = 15;
|
||||||
int scaledHeight = 15;
|
int scaledHeight = 15;
|
||||||
|
|
||||||
scope.drawTexture(Textures.CROSSHAIR_RANGE,
|
scope.drawTexture(
|
||||||
|
Textures.CROSSHAIR_RANGE,
|
||||||
(scope.getScaledWindowWidth() - scaledWidth) / 2,
|
(scope.getScaledWindowWidth() - scaledWidth) / 2,
|
||||||
(scope.getScaledWindowHeight() - scaledHeight) / 2, 0.0F, 0.0F, scaledWidth, scaledHeight);
|
(scope.getScaledWindowHeight() - scaledHeight) / 2,
|
||||||
|
0.0F,
|
||||||
|
0.0F,
|
||||||
|
scaledWidth,
|
||||||
|
scaledHeight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+17
-5
@@ -4,23 +4,29 @@ import org.saturnclient.modules.HudMod;
|
|||||||
import org.saturnclient.modules.ModDimensions;
|
import org.saturnclient.modules.ModDimensions;
|
||||||
import org.saturnclient.modules.Module;
|
import org.saturnclient.modules.Module;
|
||||||
import org.saturnclient.modules.ModuleDetails;
|
import org.saturnclient.modules.ModuleDetails;
|
||||||
import org.saturnclient.saturnclient.SaturnClient;
|
import org.saturnclient.modules.interfaces.DayCounterInterface;
|
||||||
import org.saturnclient.config.manager.Property;
|
import org.saturnclient.config.manager.Property;
|
||||||
import org.saturnclient.ui.RenderScope;
|
import org.saturnclient.ui.RenderScope;
|
||||||
import org.saturnclient.ui.resources.Fonts;
|
import org.saturnclient.ui.resources.Fonts;
|
||||||
|
|
||||||
public class DayCounter extends Module implements HudMod {
|
public class DayCounter extends Module implements HudMod {
|
||||||
|
|
||||||
private static Property<Boolean> enabled = Property.bool(false);
|
private static Property<Boolean> enabled = Property.bool(false);
|
||||||
private static ModDimensions dimensions = new ModDimensions(40, 18);
|
private static ModDimensions dimensions = new ModDimensions(40, 18);
|
||||||
|
|
||||||
|
private final DayCounterInterface minecraft;
|
||||||
|
|
||||||
long day = 0;
|
long day = 0;
|
||||||
|
|
||||||
public DayCounter() {
|
public DayCounter(DayCounterInterface minecraft) {
|
||||||
super(new ModuleDetails("DayCounter", "day")
|
super(new ModuleDetails("DayCounter", "day")
|
||||||
.description("Displays the number of days that have passed")
|
.description("Displays the number of days that have passed")
|
||||||
.version("v0.1.0")
|
.version("v0.1.0")
|
||||||
.tags("Utility"),
|
.tags("Utility"),
|
||||||
enabled.named("Enabled"),
|
enabled.named("Enabled"),
|
||||||
dimensions.prop());
|
dimensions.prop());
|
||||||
|
|
||||||
|
this.minecraft = minecraft;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -30,14 +36,20 @@ public class DayCounter extends Module implements HudMod {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderHud(RenderScope scope) {
|
public void renderHud(RenderScope scope) {
|
||||||
day = (SaturnClient.client.world.getTimeOfDay() / 24000L);
|
day = minecraft.getDay();
|
||||||
renderDay(day, scope);
|
renderDay(day, scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderDay(long day, RenderScope scope) {
|
public void renderDay(long day, RenderScope scope) {
|
||||||
String text = "Day: " + day;
|
String text = "Day: " + day;
|
||||||
scope.drawText(text,
|
|
||||||
0, 0, dimensions.font.value, dimensions.fgColor.value);
|
scope.drawText(
|
||||||
|
text,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
dimensions.font.value,
|
||||||
|
dimensions.fgColor.value);
|
||||||
|
|
||||||
dimensions.width = Fonts.getWidth(text, dimensions.font.value);
|
dimensions.width = Fonts.getWidth(text, dimensions.font.value);
|
||||||
dimensions.height = 18 * text.split("\n").length;
|
dimensions.height = 18 * text.split("\n").length;
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,10 @@ import org.saturnclient.impl.modules.*;
|
|||||||
public class FabricModuleProvider implements ModuleProvider {
|
public class FabricModuleProvider implements ModuleProvider {
|
||||||
public static Module[] MODS = {
|
public static Module[] MODS = {
|
||||||
new ArmorDisplay(new ArmorDisplayFabric()),
|
new ArmorDisplay(new ArmorDisplayFabric()),
|
||||||
new AutoSprint(new AutoSprintFabric())
|
new AutoSprint(new AutoSprintFabric()),
|
||||||
|
new Coordinates(new CoordinatesFabric()),
|
||||||
|
new Crosshair(new CrosshairFabric()),
|
||||||
|
new Clock(),
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package org.saturnclient.impl.modules;
|
||||||
|
|
||||||
|
import org.saturnclient.modules.interfaces.CoordinatesInterface;
|
||||||
|
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.util.math.Vec3d;
|
||||||
|
|
||||||
|
public class CoordinatesFabric implements CoordinatesInterface {
|
||||||
|
|
||||||
|
private final MinecraftClient mc = MinecraftClient.getInstance();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPlayerX() {
|
||||||
|
Vec3d pos = mc.player.getPos();
|
||||||
|
return (int) pos.x;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPlayerY() {
|
||||||
|
Vec3d pos = mc.player.getPos();
|
||||||
|
return (int) pos.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPlayerZ() {
|
||||||
|
Vec3d pos = mc.player.getPos();
|
||||||
|
return (int) pos.z;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package org.saturnclient.impl.modules;
|
||||||
|
|
||||||
|
import org.saturnclient.modules.interfaces.CrosshairInterface;
|
||||||
|
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
|
||||||
|
public class CrosshairFabric implements CrosshairInterface {
|
||||||
|
|
||||||
|
private final MinecraftClient mc = MinecraftClient.getInstance();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isTargetingLivingEntity() {
|
||||||
|
|
||||||
|
Entity entity = mc.targetedEntity;
|
||||||
|
|
||||||
|
return entity != null && entity.isAlive();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package org.saturnclient.impl.modules;
|
||||||
|
|
||||||
|
import org.saturnclient.modules.interfaces.DayCounterInterface;
|
||||||
|
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
|
||||||
|
public class DayCounterFabric implements DayCounterInterface {
|
||||||
|
|
||||||
|
private final MinecraftClient mc = MinecraftClient.getInstance();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getDay() {
|
||||||
|
if (mc.world == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return mc.world.getTimeOfDay() / 24000L;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user