I have been trying to create a Player ESP, Block ESP, and Tracers for a while, I've tried many different methods, but every single method I try just throws an error. I need a way to render blocks or display a green overlay through blocks.
I also need a way to see players through blocks. All of the different methods of getting a position x,y cords on the screen, or even trying to render certain things after other things, but no matter what I try it either gives x,y cords that aren't on the screen or it just throws these unfixable errors.
If possible when showing an example follow this class setup:
public class BasicModule {
private String name;
private String description;
private List<Setting> settings = new ArrayList<>();
public boolean SToggle;
public List<Setting> getSettings() {
return settings;
}
public void addSetting(Setting setting) {
settings.add(setting);
}
public void addSettings(Setting... settings) {
this.settings.addAll(List.of(settings));
}
private Category category;
private int key;
private String displayName;
private boolean enabled;
protected Minecraft mc = Minecraft.getInstance();
public BasicModule(String name, String description, Category category) {
this.name = name;
this.displayName = name;
this.description = description;
this.category = category;
this.SToggle = false;
}
public void toggle() {
this.enabled = !this.enabled;
if (this.enabled) {
this.onEnable();
} else {
this.onDisable();
}
}
public static void doEnabled(BasicModule module, boolean enabled) {
module.setEnabled(enabled);
}
public static void setE(boolean enabled) {
enabled = enabled;
}
public void setModuleEnabled(boolean enabled) {
this.enabled = enabled;
}
public boolean isModuleEnabled() {
return this.enabled;
}
public void onEnable() {
}
public void onDisable() {
}
public String getDisplayName() {
return this.displayName;
}
public boolean getStoggle() {
return this.SToggle;
}
public void setStoggle(boolean stoggle) {
this.SToggle = stoggle;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public void onTick() {
this.enabled = enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
if (enabled) onEnable();
else onDisable();
}
public boolean isEnabled() {
return this.enabled;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public Category getCategory() {
return category;
}
public void setName(String name) {
this.name = name;
}
public void setDescription(String description) {
this.description = description;
}
public int getKey() {
return key;
}
public void setKey(int key) {
this.key = key;
}
public void render(GuiGraphics drawContext, float tickDelta) {
}
public enum Category {
PVP("PvP"),
MOVEMENT("Movement"),
RENDER("Render"),
STAFF("Staff"),
DEV("Developer");
public String name;
private Category(String name) {
this.name = name;
}
}
}