1.21.3 for 0.4.0 #3
|
@ -9,7 +9,7 @@ org.gradle.parallel=true
|
|||
loader_version=0.16.9
|
||||
|
||||
# Mod Properties
|
||||
mod_version = 0.3.1
|
||||
mod_version = 0.4.0
|
||||
maven_group = me.kawaiizenbo
|
||||
archives_base_name = moonlight
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ public class Config
|
|||
public void loadDefaultConfig()
|
||||
{
|
||||
ModuleManager.INSTANCE = new ModuleManager();
|
||||
config.put("theme", 2);
|
||||
Map<String, Object> mi = new HashMap<>();
|
||||
for (Module m : ModuleManager.INSTANCE.modules)
|
||||
{
|
||||
|
|
|
@ -16,6 +16,7 @@ import me.kawaiizenbo.moonlight.module.settings.IndexSetting;
|
|||
import me.kawaiizenbo.moonlight.module.settings.KeycodeSetting;
|
||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||
import me.kawaiizenbo.moonlight.module.settings.StringSetting;
|
||||
import me.kawaiizenbo.moonlight.theme.Theme;
|
||||
import me.kawaiizenbo.moonlight.ui.clickgui.CategoryPane;
|
||||
import me.kawaiizenbo.moonlight.ui.clickgui.ClickGUIScreen;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
|
@ -27,7 +28,9 @@ public class Moonlight implements ModInitializer
|
|||
public static final Moonlight INSTANCE = new Moonlight();
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger("Moonlight");
|
||||
public static final String clientTag = ColorUtils.aqua + "Moonlight Meadows";
|
||||
public static final String versionTag = ColorUtils.magenta + "v0.3.1";
|
||||
public static final String versionTag = ColorUtils.magenta + "v0.4.0";
|
||||
public static Theme THEME = Theme.DARK;
|
||||
public static int THEME_IDX = 2;
|
||||
public static Config CONFIG = new Config();
|
||||
|
||||
@Override
|
||||
|
@ -44,6 +47,8 @@ public class Moonlight implements ModInitializer
|
|||
{
|
||||
LOGGER.info("Loading config...");
|
||||
CONFIG.load();
|
||||
THEME_IDX = ((Double)CONFIG.config.get("theme")).intValue();
|
||||
THEME = Theme.THEME_LIST[THEME_IDX];
|
||||
for (Module m : ModuleManager.INSTANCE.modules)
|
||||
{
|
||||
m.enabled = (boolean)((Map<String, Object>)((Map<String, Object>)CONFIG.config.get("modules")).get(m.name)).get("enabled");
|
||||
|
@ -113,6 +118,7 @@ public class Moonlight implements ModInitializer
|
|||
public void saveConfig()
|
||||
{
|
||||
LOGGER.info("Saving config...");
|
||||
CONFIG.config.put("theme", THEME_IDX);
|
||||
Map<String, Object> mi = new HashMap<>();
|
||||
for (Module m : ModuleManager.INSTANCE.modules)
|
||||
{
|
||||
|
|
|
@ -29,7 +29,6 @@ public class CommandManager
|
|||
add(new Help());
|
||||
add(new Toggle());
|
||||
add(new Teleport());
|
||||
add(new SettingCommand());
|
||||
add(new Reset());
|
||||
add(new DeathPos());
|
||||
commands.sort(Comparator.comparing(Command::getName));
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
package me.kawaiizenbo.moonlight.command.commands;
|
||||
|
||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||
|
||||
import me.kawaiizenbo.moonlight.command.Command;
|
||||
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
||||
import me.kawaiizenbo.moonlight.module.settings.BooleanSetting;
|
||||
import me.kawaiizenbo.moonlight.module.settings.DoubleSetting;
|
||||
import me.kawaiizenbo.moonlight.module.settings.KeycodeSetting;
|
||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||
import me.kawaiizenbo.moonlight.module.settings.StringSetting;
|
||||
import me.kawaiizenbo.moonlight.util.ChatUtils;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import me.kawaiizenbo.moonlight.module.Module;
|
||||
import net.minecraft.command.CommandSource;
|
||||
|
||||
public class SettingCommand extends Command
|
||||
{
|
||||
public SettingCommand()
|
||||
{
|
||||
super("setting", "Change a setting of a module.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void build(LiteralArgumentBuilder<CommandSource> builder)
|
||||
{
|
||||
builder
|
||||
.then(argument("module", StringArgumentType.string())
|
||||
.then(argument("setting", StringArgumentType.string())
|
||||
.then(argument("value", StringArgumentType.string())
|
||||
.executes(context ->
|
||||
{
|
||||
String m = context.getArgument("module", String.class);
|
||||
String s = context.getArgument("setting", String.class);
|
||||
String v = context.getArgument("value", String.class);
|
||||
|
||||
Module module = ModuleManager.INSTANCE.getModuleByName(m);
|
||||
if (module == null)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Invalid Module Name");
|
||||
return 0;
|
||||
}
|
||||
Setting setting = module.getSettingByName(s);
|
||||
if (setting == null)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Invalid Setting Name");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (setting instanceof BooleanSetting)
|
||||
{
|
||||
try
|
||||
{
|
||||
((BooleanSetting)setting).value = Boolean.parseBoolean(v);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Invalid Value, expected boolean");
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
else if (setting instanceof DoubleSetting)
|
||||
{
|
||||
try
|
||||
{
|
||||
((DoubleSetting)setting).value = Double.parseDouble(v);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Invalid Value, expected Double");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if (setting instanceof StringSetting)
|
||||
{
|
||||
try
|
||||
{
|
||||
((StringSetting)setting).value = v;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Invalid Value, expected String");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if (setting instanceof KeycodeSetting)
|
||||
{
|
||||
try
|
||||
{
|
||||
int kv = Integer.parseInt(v);
|
||||
if (kv > 348)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Keycode Value is too high, maximum is 348 (Menu)");
|
||||
return 0;
|
||||
}
|
||||
if (kv < 0)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Keycode Value must be positive");
|
||||
return 0;
|
||||
}
|
||||
((KeycodeSetting)setting).value = kv;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ChatUtils.sendMsg(ColorUtils.red + "Invalid Value, expected Keycode (integer)");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return SINGLE_SUCCESS;
|
||||
}))));
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.module.settings;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.text.Text;
|
||||
|
@ -18,10 +19,10 @@ public class BooleanSetting extends Setting
|
|||
public void render(DrawContext drawContext, int x, int y, int mouseX, int mouseY, TextRenderer textRenderer)
|
||||
{
|
||||
super.render(drawContext, x, y, mouseX, mouseY, textRenderer);
|
||||
drawContext.drawTextWithShadow(textRenderer, Text.literal(name), x+2, y+8, 0xFFFFFF);
|
||||
drawContext.fill(x+180, y+7, x+190, y+17, 0xFFFFFFFF);
|
||||
drawContext.fill(x+181, y+8, x+189, y+16, 0xFF222222);
|
||||
drawContext.fill(x+182, y+9, x+188, y+15, value ? 0xFF55FFFF : 0xFF222222);
|
||||
drawContext.drawText(textRenderer, Text.literal(name), x+2, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
drawContext.fill(x+180, y+7, x+190, y+17, Moonlight.THEME.border.getRGB());
|
||||
drawContext.fill(x+181, y+8, x+189, y+16, Moonlight.THEME.background.getRGB());
|
||||
drawContext.fill(x+182, y+9, x+188, y+15, value ? Moonlight.THEME.accent.getRGB() : Moonlight.THEME.background.getRGB());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.module.settings;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.util.MathUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
@ -26,7 +27,7 @@ public class DoubleSetting extends Setting
|
|||
public void render(DrawContext drawContext, int x, int y, int mouseX, int mouseY, TextRenderer textRenderer)
|
||||
{
|
||||
super.render(drawContext, x, y, mouseX, mouseY, textRenderer);
|
||||
drawContext.drawTextWithShadow(textRenderer, Text.literal(name), x+2, y+4, 0xFFFFFF);
|
||||
drawContext.drawText(textRenderer, Text.literal(name), x+2, y+4, Moonlight.THEME.text.getRGB(), false);
|
||||
double diff = Math.min(100, Math.max(0, (mouseX - x)/1.9));
|
||||
|
||||
if (sliding)
|
||||
|
@ -43,11 +44,11 @@ public class DoubleSetting extends Setting
|
|||
}
|
||||
|
||||
String valueString = ""+MathUtils.round(value, roundingPlace);
|
||||
drawContext.drawTextWithShadow(textRenderer, Text.literal(valueString), (x+190)-textRenderer.getWidth(valueString), y+4, 0xFFFFFF);
|
||||
drawContext.fill(x+2, y+16, x+190, y+18, 0xFF666666);
|
||||
drawContext.drawText(textRenderer, Text.literal(valueString), (x+190)-textRenderer.getWidth(valueString), y+4, Moonlight.THEME.text.getRGB(), false);
|
||||
drawContext.fill(x+2, y+16, x+190, y+18, 0xFF777777);
|
||||
int scaledValue = (int)((value/max)*190);
|
||||
drawContext.fill(x+2, y+16, (x+2)+scaledValue, y+18, 0xFF55FFFF);
|
||||
drawContext.fill(x+2+(scaledValue-1), y+14, x+2+(scaledValue+1), y+20, 0xFFFFFFFF);
|
||||
drawContext.fill(x+2, y+16, (x+2)+scaledValue, y+18, Moonlight.THEME.accent.getRGB());
|
||||
drawContext.fill(x+2+(scaledValue-1), y+14, x+2+(scaledValue+1), y+20, Moonlight.THEME.border.getRGB());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package me.kawaiizenbo.moonlight.module.settings;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.util.DrawUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.text.Text;
|
||||
|
@ -20,10 +22,11 @@ public class IndexSetting extends Setting
|
|||
public void render(DrawContext drawContext, int x, int y, int mouseX, int mouseY, TextRenderer textRenderer)
|
||||
{
|
||||
super.render(drawContext, x, y, mouseX, mouseY, textRenderer);
|
||||
drawContext.drawTextWithShadow(textRenderer, Text.literal(name), x+2, y+8, 0xFFFFFF);
|
||||
drawContext.fill(x+96, y+5, x+190, y+19, 0xFFFFFFFF);
|
||||
drawContext.fill(x+97, y+6, x+189, y+18, hovered(mouseX, mouseY) ? 0xFF333333 : 0xFF222222);
|
||||
drawContext.drawTextWithShadow(textRenderer, elements[index], x+98, y+8, 0xFFFFFF);
|
||||
drawContext.drawText(textRenderer, Text.literal(name), x+2, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
drawContext.fill(x+96, y+5, x+190, y+19, Moonlight.THEME.border.getRGB());
|
||||
drawContext.fill(x+97, y+6, x+189, y+18, hovered(mouseX, mouseY) ? Moonlight.THEME.hover.getRGB() : Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawText(textRenderer, elements[index], x+98, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
drawContext.drawGuiTexture(DrawUtils.getThemedGUIIcon("updown", Moonlight.THEME.background), x+177, y+6, 12, 12);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,6 +2,7 @@ package me.kawaiizenbo.moonlight.module.settings;
|
|||
|
||||
import org.lwjgl.glfw.GLFW;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.util.KeycodeUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
@ -36,19 +37,19 @@ public class KeycodeSetting extends Setting
|
|||
public void render(DrawContext drawContext, int x, int y, int mouseX, int mouseY, TextRenderer textRenderer)
|
||||
{
|
||||
super.render(drawContext, x, y, mouseX, mouseY, textRenderer);
|
||||
drawContext.drawTextWithShadow(textRenderer, Text.literal(name), x+2, y+8, 0xFFFFFF);
|
||||
drawContext.drawText(textRenderer, Text.literal(name), x+2, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
if (isWaiting)
|
||||
{
|
||||
String waiting = "Press any key.";
|
||||
int twwidth = textRenderer.getWidth(waiting);
|
||||
drawContext.drawTextWithShadow(textRenderer, waiting, x+190-twwidth, y+8, 0xFFFFFF);
|
||||
drawContext.drawText(textRenderer, waiting, x+190-twwidth, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
}
|
||||
else
|
||||
{
|
||||
String key = KeycodeUtils.keyTable[value];
|
||||
if (value == GLFW.GLFW_KEY_UNKNOWN) key = "";
|
||||
int twidth = textRenderer.getWidth(key);
|
||||
drawContext.drawTextWithShadow(textRenderer, key, x+190-twidth, y+8, 0xFFFFFF);
|
||||
drawContext.drawText(textRenderer, key, x+190-twidth, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.module.settings;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
||||
|
@ -12,7 +13,7 @@ public class Setting
|
|||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
drawContext.fill(x, y, x+192, y+24, hovered(mouseX, mouseY) ? 0xFF444444: 0xFF222222);
|
||||
drawContext.fill(x, y, x+192, y+24, hovered(mouseX, mouseY) ? Moonlight.THEME.hover.getRGB(): Moonlight.THEME.background.getRGB());
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.module.settings;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.util.KeycodeUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
@ -20,13 +21,13 @@ public class StringSetting extends Setting
|
|||
public void render(DrawContext drawContext, int x, int y, int mouseX, int mouseY, TextRenderer textRenderer)
|
||||
{
|
||||
super.render(drawContext, x, y, mouseX, mouseY, textRenderer);
|
||||
drawContext.drawTextWithShadow(textRenderer, Text.literal(name), x+2, y+8, 0xFFFFFF);
|
||||
drawContext.drawText(textRenderer, Text.literal(name), x+2, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
int twidth = textRenderer.getWidth(value);
|
||||
drawContext.fill(x+96, y+5, x+190, y+19, 0xFFFFFFFF);
|
||||
drawContext.fill(x+97, y+6, x+189, y+18, 0xFF222222);
|
||||
drawContext.fill(x+96, y+5, x+190, y+19, Moonlight.THEME.border.getRGB());
|
||||
drawContext.fill(x+97, y+6, x+189, y+18, Moonlight.THEME.background.getRGB());
|
||||
int cursorPos = x+98+twidth;
|
||||
if (focused) drawContext.fill(cursorPos, y+7, cursorPos+1, y+17, 0xFF55FFFF);
|
||||
drawContext.drawTextWithShadow(textRenderer, value, x+98, y+8, 0xFFFFFF);
|
||||
if (focused) drawContext.fill(cursorPos, y+7, cursorPos+1, y+17, Moonlight.THEME.accent.getRGB());
|
||||
drawContext.drawText(textRenderer, value, x+98, y+8, Moonlight.THEME.text.getRGB(), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
81
src/main/java/me/kawaiizenbo/moonlight/theme/Theme.java
Normal file
|
@ -0,0 +1,81 @@
|
|||
package me.kawaiizenbo.moonlight.theme;
|
||||
|
||||
public class Theme
|
||||
{
|
||||
public static final Theme LIGHT = new Theme(
|
||||
"Light",
|
||||
new ThemeColor(0x222222),
|
||||
new ThemeColor(0xFFFFFF),
|
||||
new ThemeColor(0xFFFFFF),
|
||||
new ThemeColor(0xDDDDDD),
|
||||
new ThemeColor(0x00AAAA),
|
||||
new ThemeColor(0x55FFFF),
|
||||
new ThemeColor(0x222222),
|
||||
false,
|
||||
false
|
||||
);
|
||||
public static final Theme HIGHCONTRAST = new Theme(
|
||||
"High Contrast",
|
||||
new ThemeColor(0x000000),
|
||||
new ThemeColor(0xFFFFFF),
|
||||
new ThemeColor(0xFFFFFF),
|
||||
new ThemeColor(0x777777),
|
||||
new ThemeColor(0x00AAAA),
|
||||
new ThemeColor(0xFFFFFF),
|
||||
new ThemeColor(0x000000),
|
||||
false,
|
||||
true
|
||||
);
|
||||
public static final Theme DARK = new Theme(
|
||||
"Dark",
|
||||
new ThemeColor(0xFFFFFF),
|
||||
new ThemeColor(0xFFFFFF),
|
||||
new ThemeColor(0x222222),
|
||||
new ThemeColor(0x333333),
|
||||
new ThemeColor(0x55FFFF),
|
||||
new ThemeColor(0x55FFFF),
|
||||
new ThemeColor(0xFFFFFF),
|
||||
false,
|
||||
false
|
||||
);
|
||||
public static final Theme[] THEME_LIST =
|
||||
{
|
||||
LIGHT, HIGHCONTRAST, DARK
|
||||
};
|
||||
|
||||
public String name;
|
||||
public ThemeColor text;
|
||||
public ThemeColor headerText;
|
||||
public ThemeColor background;
|
||||
public ThemeColor hover;
|
||||
public ThemeColor accent;
|
||||
public ThemeColor hudAccent;
|
||||
public ThemeColor border;
|
||||
public boolean useDarkIcons;
|
||||
public boolean themedWindowBorders;
|
||||
|
||||
public Theme(
|
||||
String name,
|
||||
ThemeColor text,
|
||||
ThemeColor headerText,
|
||||
ThemeColor background,
|
||||
ThemeColor hover,
|
||||
ThemeColor accent,
|
||||
ThemeColor hudAccent,
|
||||
ThemeColor border,
|
||||
boolean useDarkIcons,
|
||||
boolean themedWindowBorders
|
||||
)
|
||||
{
|
||||
this.name = name;
|
||||
this.text = text;
|
||||
this.headerText = headerText;
|
||||
this.background = background;
|
||||
this.hover = hover;
|
||||
this.accent = accent;
|
||||
this.hudAccent = hudAccent;
|
||||
this.border = border;
|
||||
this.useDarkIcons = useDarkIcons;
|
||||
this.themedWindowBorders = themedWindowBorders;
|
||||
}
|
||||
}
|
32
src/main/java/me/kawaiizenbo/moonlight/theme/ThemeColor.java
Normal file
|
@ -0,0 +1,32 @@
|
|||
package me.kawaiizenbo.moonlight.theme;
|
||||
|
||||
public class ThemeColor
|
||||
{
|
||||
public int r, g, b;
|
||||
|
||||
public ThemeColor(int r, int g, int b)
|
||||
{
|
||||
this.r = r;
|
||||
this.g = g;
|
||||
this.b = b;
|
||||
}
|
||||
|
||||
public ThemeColor(int RGBcolor)
|
||||
{
|
||||
this.r = (RGBcolor&0x00FF0000)>>16;
|
||||
this.g = (RGBcolor&0x0000FF00)>>8;
|
||||
this.b = (RGBcolor&0x000000FF)>>0;
|
||||
}
|
||||
|
||||
public int getRGB()
|
||||
{
|
||||
return ((255&0x0ff)<<24)|((r&0x0ff)<<16)|((g&0x0ff)<<8)|(b&0x0ff);
|
||||
}
|
||||
|
||||
public void setRGB(int RGBcolor)
|
||||
{
|
||||
this.r = RGBcolor&0x00FF0000;
|
||||
this.g = RGBcolor&0x0000FF00;
|
||||
this.b = RGBcolor&0x000000FF;
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
@ -10,14 +11,13 @@ public class SetScreenButton
|
|||
{
|
||||
String text;
|
||||
Screen screen;
|
||||
int x, y, color, width;
|
||||
int x, y, width;
|
||||
|
||||
public SetScreenButton(String text, int x, int y, int color, Screen screen)
|
||||
public SetScreenButton(String text, int x, int y, Screen screen)
|
||||
{
|
||||
this.text = text;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.color = color;
|
||||
this.screen = screen;
|
||||
}
|
||||
|
||||
|
@ -26,8 +26,8 @@ public class SetScreenButton
|
|||
this.x = x;
|
||||
this.y = y;
|
||||
width = textRenderer.getWidth(text);
|
||||
drawContext.fill(x-1, y-1, x + width + 1, y + 10, hovered(mouseX, mouseY) ? 0x55FFFFFF : 0);
|
||||
drawContext.drawText(textRenderer, Text.literal(text), x, y, color, true);
|
||||
drawContext.fill(x-1, y-1, x + width + 1, y + 10, hovered(mouseX, mouseY) ? 0x22222222 : 0);
|
||||
drawContext.drawText(textRenderer, Text.literal(text), x, y, Moonlight.THEME.headerText.getRGB(), false);
|
||||
}
|
||||
|
||||
public boolean hovered(int mouseX, int mouseY)
|
||||
|
|
|
@ -2,8 +2,10 @@ package me.kawaiizenbo.moonlight.ui.clickgui;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.module.Category;
|
||||
import me.kawaiizenbo.moonlight.module.ModuleManager;
|
||||
import me.kawaiizenbo.moonlight.util.DrawUtils;
|
||||
import me.kawaiizenbo.moonlight.module.Module;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
|
@ -27,7 +29,7 @@ public class CategoryPane
|
|||
this.y = initialY;
|
||||
this.collapsed = collapsed;
|
||||
moduleButtons = new ArrayList<ModuleButton>();
|
||||
icon = Identifier.of("moonlight", category.name.toLowerCase());
|
||||
icon = DrawUtils.getThemedGUIIcon(category.name.toLowerCase());
|
||||
for (Module m : ModuleManager.INSTANCE.getModulesByCategory(category))
|
||||
{
|
||||
moduleButtons.add(new ModuleButton(m));
|
||||
|
@ -43,10 +45,10 @@ public class CategoryPane
|
|||
x = mouseX - startX;
|
||||
y = mouseY - startY;
|
||||
}
|
||||
drawContext.fill(x, y, x+width, collapsed ? y+16 : y+height, category.color);
|
||||
drawContext.fill(x+2, y+2, x+(width-2), y+14, hovered(mouseX, mouseY) ? 0xFF333333 : 0xFF222222);
|
||||
drawContext.fill(x, y, x+width, collapsed ? y+16 : y+height, Moonlight.THEME.themedWindowBorders ? Moonlight.THEME.border.getRGB() : category.color);
|
||||
//drawContext.fill(x+2, y+2, x+(width-2), y+14, hovered(mouseX, mouseY) ? Moonlight.THEME.hover.getRGB() : Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawGuiTexture(RenderLayer::getGuiTextured, icon, x+2, y+2, 12, 12);
|
||||
drawContext.drawText(textRenderer, category.name, x+16, y+4, 0xFFFFFFFF, false);
|
||||
drawContext.drawText(textRenderer, category.name, x+16, y+4, Moonlight.THEME.headerText.getRGB(), false);
|
||||
if (!collapsed)
|
||||
{
|
||||
int buttonYOffset = y+16;
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.util.Map;
|
|||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.module.Category;
|
||||
import me.kawaiizenbo.moonlight.theme.Theme;
|
||||
import me.kawaiizenbo.moonlight.util.MathUtils;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
|
@ -35,6 +36,9 @@ public class ClickGUIScreen extends Screen
|
|||
public void render(DrawContext drawContext, int mouseX, int mouseY, float delta)
|
||||
{
|
||||
this.renderBackground(drawContext, mouseX, mouseY, delta);
|
||||
drawContext.fill(width-80, height-16, width, height, Moonlight.THEME.border.getRGB());
|
||||
drawContext.fill(width-78, height-14, width-2, height-2, (mouseX > width-80 && mouseY > height-16) ? Moonlight.THEME.hover.getRGB() : Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawText(textRenderer, "Change Theme", width-75, height-12, Moonlight.THEME.text.getRGB(), false);
|
||||
for (CategoryPane category : categoryPanes)
|
||||
{
|
||||
category.render(drawContext, mouseX, mouseY, delta, textRenderer);
|
||||
|
@ -48,6 +52,12 @@ public class ClickGUIScreen extends Screen
|
|||
{
|
||||
category.mouseClicked((int) mouseX, (int) mouseY, button);
|
||||
}
|
||||
if (mouseX > width-80 && mouseY > height-16)
|
||||
{
|
||||
if (Moonlight.THEME_IDX >= Theme.THEME_LIST.length-1) Moonlight.THEME_IDX = 0;
|
||||
else Moonlight.THEME_IDX++;
|
||||
Moonlight.THEME = Theme.THEME_LIST[Moonlight.THEME_IDX];
|
||||
}
|
||||
return super.mouseClicked(mouseX, mouseY, button);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.clickgui;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.module.Module;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
|
@ -21,8 +22,8 @@ public class ModuleButton
|
|||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
drawContext.fill(x, y, x + width, y + height, hovered(mouseX, mouseY) ? 0xFF333333 : 0xFF222222);
|
||||
drawContext.drawText(textRenderer, module.name, x+2, y+2, module.enabled ? 0x55FFFF : 0xFFFFFF, false);
|
||||
drawContext.fill(x, y, x + width, y + height, hovered(mouseX, mouseY) ? Moonlight.THEME.hover.getRGB() : Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawText(textRenderer, module.name, x+2, y+2, module.enabled ? Moonlight.THEME.accent.getRGB() : Moonlight.THEME.text.getRGB(), false);
|
||||
}
|
||||
|
||||
public boolean hovered(int mouseX, int mouseY)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.clickgui;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.module.Module;
|
||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||
import me.kawaiizenbo.moonlight.ui.SetScreenButton;
|
||||
|
@ -21,8 +22,8 @@ public class SettingsScreen extends Screen
|
|||
public SettingsScreen(Module module)
|
||||
{
|
||||
super(Text.literal("Settings"));
|
||||
backButton = new SetScreenButton(ColorUtils.underline + "< Back", x+4, y+4, 0xFFFFFF, ClickGUIScreen.INSTANCE);
|
||||
editButton = new SetScreenButton(ColorUtils.underline + "Edit", x+windowWidth-22, y+4, 0xFFFFFF, HUDEditorScreen.INSTANCE);
|
||||
backButton = new SetScreenButton(ColorUtils.underline + "< Back", x+4, y+4, ClickGUIScreen.INSTANCE);
|
||||
editButton = new SetScreenButton(ColorUtils.underline + "Edit", x+windowWidth-22, y+4, HUDEditorScreen.INSTANCE);
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
|
@ -37,11 +38,12 @@ public class SettingsScreen extends Screen
|
|||
x = mouseX - startX;
|
||||
y = mouseY - startY;
|
||||
}
|
||||
drawContext.fill(x, y, x+windowWidth, y+windowHeight, 0xFF222222);
|
||||
drawContext.fill(x, y, x+windowWidth, y+16, module.category.color);
|
||||
drawContext.fill(x+2, y+2, x+(windowWidth-2), y+14, 0xFF222222);
|
||||
drawContext.drawCenteredTextWithShadow(textRenderer, module.name, x+(windowWidth/2), y+4, 0xFFFFFF);
|
||||
drawContext.drawText(textRenderer, module.description, x+8, y+24, 0xFFFFFF, true);
|
||||
drawContext.fill(x, y, x+windowWidth, y+windowHeight, Moonlight.THEME.themedWindowBorders ? Moonlight.THEME.border.getRGB() : module.category.color);
|
||||
drawContext.fill(x+2, y+2, x+windowWidth-2, y+windowHeight-2, Moonlight.THEME.background.getRGB());
|
||||
drawContext.fill(x, y, x+windowWidth, y+16, Moonlight.THEME.themedWindowBorders ? Moonlight.THEME.border.getRGB() : module.category.color);
|
||||
//drawContext.fill(x+2, y+2, x+(windowWidth-2), y+14, Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawText(textRenderer, module.name, x+((windowWidth/2)-(textRenderer.getWidth(module.name)/2)), y+4, Moonlight.THEME.headerText.getRGB(), false);
|
||||
drawContext.drawText(textRenderer, module.description, x+8, y+24, Moonlight.THEME.text.getRGB(), false);
|
||||
backButton.render(drawContext, textRenderer, mouseX, mouseY, x+4, y+4);
|
||||
if (module.showEditButton) editButton.render(drawContext, textRenderer, mouseX, mouseY, x+windowWidth-22, y+4);
|
||||
int yOffset = y+40;
|
||||
|
|
|
@ -2,6 +2,7 @@ package me.kawaiizenbo.moonlight.ui.hud;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
|
@ -35,7 +36,7 @@ public abstract class HUDModule
|
|||
x = mouseX - startX;
|
||||
y = mouseY - startY;
|
||||
}
|
||||
drawContext.fill(x-1, y-1, x+width+1, y+height+1, enabled ? 0xFF55FFFF : 0xFF555555);
|
||||
drawContext.fill(x-1, y-1, x+width+1, y+height+1, enabled ? Moonlight.THEME.accent.getRGB() : 0xFF555555);
|
||||
drawContext.fill(x, y, x+width, y+height, 0xFF222222);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.editor;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
|
@ -23,8 +24,8 @@ public class HUDModuleButton
|
|||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
drawContext.fill(x, y, x + width, y + height, hovered(mouseX, mouseY) ? 0xFF333333 : 0xFF222222);
|
||||
drawContext.drawText(textRenderer, module.name, x+2, y+2, module.enabled ? 0x55FFFF : 0xFFFFFF, false);
|
||||
drawContext.fill(x, y, x + width, y + height, hovered(mouseX, mouseY) ? Moonlight.THEME.hover.getRGB() : Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawText(textRenderer, module.name, x+2, y+2, module.enabled ? Moonlight.THEME.accent.getRGB() : Moonlight.THEME.text.getRGB(), false);
|
||||
if (!module.settings.isEmpty()) drawContext.drawGuiTexture(RenderLayer::getGuiTextured, Identifier.of("moonlight", "settings"), x+width-12, y, 12, 12);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,10 @@ package me.kawaiizenbo.moonlight.ui.hud.editor;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModuleManager;
|
||||
import me.kawaiizenbo.moonlight.util.DrawUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
|
@ -38,10 +40,10 @@ public class HUDModuleList
|
|||
x = mouseX - startX;
|
||||
y = mouseY - startY;
|
||||
}
|
||||
drawContext.fill(x, y, x+width, collapsed ? y+16 : y+height, 0xFF55FFFF);
|
||||
drawContext.fill(x+2, y+2, x+(width-2), y+14, hovered(mouseX, mouseY) ? 0xFF333333 : 0xFF222222);
|
||||
drawContext.drawGuiTexture(RenderLayer::getGuiTextured, Identifier.of("moonlight", "hud"), x+2, y+2, 12, 12);
|
||||
drawContext.drawText(textRenderer, "HUD Modules", x+16, y+4, 0xFFFFFFFF, false);
|
||||
drawContext.fill(x, y, x+width, collapsed ? y+16 : y+height, Moonlight.THEME.themedWindowBorders ? Moonlight.THEME.border.getRGB() : Moonlight.THEME.accent.getRGB());
|
||||
//drawContext.fill(x+2, y+2, x+(width-2), y+14, hovered(mouseX, mouseY) ? Moonlight.THEME.hover.getRGB() : Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawGuiTexture(RenderLayer::getGuiTextured, DrawUtils.getThemedGUIIcon("hud"), x+2, y+2, 12, 12);
|
||||
drawContext.drawText(textRenderer, "HUD Modules", x+16, y+4, Moonlight.THEME.headerText.getRGB(), false);
|
||||
if (!collapsed)
|
||||
{
|
||||
int buttonYOffset = y+16;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.editor;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.module.settings.Setting;
|
||||
import me.kawaiizenbo.moonlight.ui.SetScreenButton;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
|
@ -20,7 +21,7 @@ public class HUDModuleSettingsScreen extends Screen
|
|||
public HUDModuleSettingsScreen(HUDModule module)
|
||||
{
|
||||
super(Text.literal("Settings"));
|
||||
backButton = new SetScreenButton(ColorUtils.underline + "< Back", x+4, y+4, 0xFFFFFF, HUDEditorScreen.INSTANCE);
|
||||
backButton = new SetScreenButton(ColorUtils.underline + "< Back", x+4, y+4, HUDEditorScreen.INSTANCE);
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
|
@ -35,10 +36,11 @@ public class HUDModuleSettingsScreen extends Screen
|
|||
x = mouseX - startX;
|
||||
y = mouseY - startY;
|
||||
}
|
||||
drawContext.fill(x, y, x+windowWidth, y+windowHeight, 0xFF222222);
|
||||
drawContext.fill(x, y, x+windowWidth, y+16, 0xFF55FFFF);
|
||||
drawContext.fill(x+2, y+2, x+(windowWidth-2), y+14, 0xFF222222);
|
||||
drawContext.drawCenteredTextWithShadow(textRenderer, module.name, x+(windowWidth/2), y+4, 0xFFFFFF);
|
||||
drawContext.fill(x, y, x+windowWidth, y+windowHeight, Moonlight.THEME.themedWindowBorders ? Moonlight.THEME.border.getRGB() : Moonlight.THEME.accent.getRGB());
|
||||
drawContext.fill(x+2, y+2, x+windowWidth-2, y+windowHeight-2, Moonlight.THEME.background.getRGB());
|
||||
drawContext.fill(x, y, x+windowWidth, y+16, Moonlight.THEME.themedWindowBorders ? Moonlight.THEME.border.getRGB() : Moonlight.THEME.accent.getRGB());
|
||||
//drawContext.fill(x+2, y+2, x+(windowWidth-2), y+14, Moonlight.THEME.background.getRGB());
|
||||
drawContext.drawText(textRenderer, module.name, x+((windowWidth/2)-(textRenderer.getWidth(module.name)/2)), y+4, Moonlight.THEME.headerText.getRGB(), false);
|
||||
backButton.render(drawContext, textRenderer, mouseX, mouseY, x+4, y+4);
|
||||
int yOffset = y+24;
|
||||
for (Setting setting : module.settings)
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import me.kawaiizenbo.moonlight.util.MathUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.render.item.ItemRenderer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class ArmorDisplay extends HUDModule
|
||||
{
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
|
@ -22,7 +23,7 @@ public class Coordinates extends HUDModule
|
|||
drawContext.drawTextWithShadow(mc.textRenderer,
|
||||
"X: " + ColorUtils.gray + String.format("%.1f", mc.player.getX()) + ColorUtils.reset +
|
||||
" Y: " + ColorUtils.gray + String.format("%.1f", mc.player.getY()) + ColorUtils.reset +
|
||||
" Z: " + ColorUtils.gray + String.format("%.1f", mc.player.getZ()), x, y, 0xFF55FFFF
|
||||
" Z: " + ColorUtils.gray + String.format("%.1f", mc.player.getZ()), x, y, Moonlight.THEME.hudAccent.getRGB()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
|
@ -19,6 +20,6 @@ public class FPS extends HUDModule
|
|||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "FPS: " + ColorUtils.gray + mc.fpsDebugString.split(" ")[0], x, y, 0xFF55FFFF);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "FPS: " + ColorUtils.gray + mc.fpsDebugString.split(" ")[0], x, y, Moonlight.THEME.hudAccent.getRGB());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import me.kawaiizenbo.moonlight.util.MathUtils;
|
||||
|
@ -21,7 +22,7 @@ public class MovementSpeed extends HUDModule
|
|||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "Meters/s: " + ColorUtils.gray + MathUtils.round(moveSpeed(), 2), x, y, 0xFF55FFFF);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "Meters/s: " + ColorUtils.gray + MathUtils.round(moveSpeed(), 2), x, y, Moonlight.THEME.hudAccent.getRGB());
|
||||
}
|
||||
|
||||
private double moveSpeed()
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
|
@ -19,6 +20,6 @@ public class Ping extends HUDModule
|
|||
public void render(DrawContext drawContext, int mouseX, int mouseY, TextRenderer textRenderer, boolean editMode, boolean enabled)
|
||||
{
|
||||
super.render(drawContext, mouseX, mouseY, textRenderer, editMode, enabled);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "Ping: " + ColorUtils.gray + (mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()) == null ? 0 : mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()).getLatency()), x, y, 0xFF55FFFF);
|
||||
drawContext.drawTextWithShadow(mc.textRenderer, "Ping: " + ColorUtils.gray + (mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()) == null ? 0 : mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid()).getLatency()), x, y, Moonlight.THEME.hudAccent.getRGB());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
package me.kawaiizenbo.moonlight.ui.hud.modules;
|
||||
|
||||
import me.kawaiizenbo.moonlight.ui.hud.HUDModule;
|
||||
import me.kawaiizenbo.moonlight.util.ColorUtils;
|
||||
import me.kawaiizenbo.moonlight.util.MathUtils;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.render.item.ItemRenderer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class TotemCounter extends HUDModule
|
||||
{
|
||||
|
|
21
src/main/java/me/kawaiizenbo/moonlight/util/DrawUtils.java
Normal file
|
@ -0,0 +1,21 @@
|
|||
package me.kawaiizenbo.moonlight.util;
|
||||
|
||||
import me.kawaiizenbo.moonlight.Moonlight;
|
||||
import me.kawaiizenbo.moonlight.theme.ThemeColor;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class DrawUtils
|
||||
{
|
||||
public static Identifier getThemedGUIIcon(String textureName, ThemeColor invert)
|
||||
{
|
||||
boolean mode = ((invert.r + invert.g + invert.b) / 3) > 77;
|
||||
String addition = mode ? "_light" : "";
|
||||
return Identifier.of("moonlight", textureName+addition);
|
||||
}
|
||||
|
||||
public static Identifier getThemedGUIIcon(String textureName)
|
||||
{
|
||||
String addition = Moonlight.THEME.useDarkIcons ? "_light" : "";
|
||||
return Identifier.of("moonlight", textureName+addition);
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 366 B After Width: | Height: | Size: 366 B |
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 382 B |
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 358 B |
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 372 B |
Before Width: | Height: | Size: 379 B After Width: | Height: | Size: 379 B |
Before Width: | Height: | Size: 376 B After Width: | Height: | Size: 376 B |
Before Width: | Height: | Size: 355 B After Width: | Height: | Size: 355 B |
Before Width: | Height: | Size: 350 B After Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 379 B After Width: | Height: | Size: 379 B |
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "moonlight",
|
||||
"version": "v0.3.1",
|
||||
"version": "v0.4.0",
|
||||
"name": "Moonlight Meadows",
|
||||
"description": "Utility mod with a focus on stability.",
|
||||
"authors": [
|
||||
|
|