111 lines
3.1 KiB
Java
111 lines
3.1 KiB
Java
package dev.resent.module.base;
|
|
|
|
import net.lax1dude.eaglercraft.v1_8.Mouse;
|
|
import net.minecraft.client.gui.Gui;
|
|
import net.minecraft.client.gui.GuiScreen;
|
|
|
|
public class RenderModule extends Mod {
|
|
|
|
public int x, y, width, height;
|
|
public int lastX;
|
|
public int lastY;
|
|
private boolean dragging;
|
|
public boolean hasSetting;
|
|
|
|
public RenderModule(String name, Category cat, int x, int y) {
|
|
super(name, cat);
|
|
this.x = x;
|
|
this.y = y;
|
|
}
|
|
|
|
public RenderModule(String name, Category cat, int x, int y, boolean hasSetting) {
|
|
super(name, cat, hasSetting);
|
|
this.x = x;
|
|
this.y = y;
|
|
this.hasSetting = hasSetting;
|
|
}
|
|
|
|
public void draw() {}
|
|
|
|
public void resize() {
|
|
if ((getX() + getWidth()) > GuiScreen.width) {
|
|
this.x = GuiScreen.width - getWidth();
|
|
dragging = false;
|
|
} else if ((getY() + getHeight()) > GuiScreen.height) {
|
|
this.y = GuiScreen.height - getHeight();
|
|
dragging = false;
|
|
} else if ((getX()) < 0) {
|
|
this.x = 0;
|
|
dragging = false;
|
|
} else if ((getY()) < 0) {
|
|
this.y = 0;
|
|
dragging = false;
|
|
}
|
|
}
|
|
|
|
public void renderLayout(int mouseX, int mouseY) {
|
|
|
|
resize();
|
|
draw();
|
|
|
|
if (this.dragging) {
|
|
this.x = mouseX + this.lastX;
|
|
this.y = mouseY + this.lastY;
|
|
if (!Mouse.isButtonDown(0)) this.dragging = false;
|
|
}
|
|
|
|
boolean hovered = mouseX >= getX() && mouseY >= getY() && mouseX < getX() + getWidth() && mouseY < getY() + this.getHeight();
|
|
|
|
Gui.drawRect(this.x, this.y, this.x + this.getWidth(), this.y + this.getHeight(), hovered ? 0x50FFFFFF : 0x40FFFFFF);
|
|
Gui.drawRect(this.x, this.y, this.x + this.getWidth(), this.y + 1, -1);
|
|
Gui.drawRect(this.x, this.y, this.x + 1, this.y + getHeight(), -1);
|
|
Gui.drawRect(this.x + this.getWidth() - 1, this.y, this.x + getWidth(), this.y + this.getHeight(), -1);
|
|
Gui.drawRect(this.x, this.y + this.getHeight() - 1, this.x + getWidth(), this.y + this.getHeight(), -1);
|
|
|
|
boolean mouseOverX = (mouseX >= this.getX() && mouseX <= this.getX() + this.getWidth());
|
|
boolean mouseOverY = (mouseY >= this.getY() && mouseY <= this.getY() + this.getHeight());
|
|
if (mouseOverX && mouseOverY) {
|
|
if (Mouse.isButtonDown(0)) {
|
|
if (!this.dragging) {
|
|
this.lastX = x - mouseX;
|
|
this.lastY = y - mouseY;
|
|
this.dragging = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public int getX() {
|
|
return x;
|
|
}
|
|
|
|
public void setX(int x) {
|
|
this.x = x;
|
|
}
|
|
|
|
public int getY() {
|
|
return y;
|
|
}
|
|
|
|
public void setY(int y) {
|
|
this.y = y;
|
|
}
|
|
|
|
public int getWidth() {
|
|
return width;
|
|
}
|
|
|
|
public void setWidth(int width) {
|
|
this.width = width;
|
|
}
|
|
|
|
public int getHeight() {
|
|
return height;
|
|
}
|
|
|
|
public void setHeight(int height) {
|
|
this.height = height;
|
|
}
|
|
}
|