diff --git a/src/main/java/net/minecraft/client/gui/GuiButton.java b/src/main/java/net/minecraft/client/gui/GuiButton.java index 11b92f6d..d69dee2e 100644 --- a/src/main/java/net/minecraft/client/gui/GuiButton.java +++ b/src/main/java/net/minecraft/client/gui/GuiButton.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.util.ResourceLocation; import rip.athena.client.font.FontManager; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -96,8 +97,8 @@ public class GuiButton extends Gui this.mouseDragged(mc, mouseX, mouseY); int j = 14737632; - DrawUtils.drawRoundedRect(this.xPosition, this.yPosition, this.xPosition + this.width, this.yPosition + this.height, 4, hovered ? new Color(200,200,200,100).getRGB() : new Color(100,100,100,100).getRGB()); - DrawUtils.drawRoundedRect(this.xPosition + 1, this.yPosition + 1, (this.xPosition + this.width) - 1, (this.yPosition + this.height) - 1, 3, new Color(22, 24, 27,100).getRGB()); + RoundedUtils.drawRoundedRect(this.xPosition, this.yPosition, this.xPosition + this.width, this.yPosition + this.height, 12, hovered ? new Color(200,200,200,100).getRGB() : new Color(100,100,100,100).getRGB()); + RoundedUtils.drawRoundedRect(this.xPosition + 1, this.yPosition + 1, (this.xPosition + this.width) - 1, (this.yPosition + this.height) - 1, 12, new Color(22, 24, 27,100).getRGB()); if (!this.enabled) diff --git a/src/main/java/rip/athena/client/Athena.java b/src/main/java/rip/athena/client/Athena.java index 90c046d8..f16bb24b 100644 --- a/src/main/java/rip/athena/client/Athena.java +++ b/src/main/java/rip/athena/client/Athena.java @@ -17,6 +17,7 @@ import rip.athena.client.requests.ContentType; import rip.athena.client.requests.WebRequest; import rip.athena.client.requests.WebRequestResult; import rip.athena.client.socket.SocketClient; +import rip.athena.client.theme.ThemeManager; import rip.athena.client.utils.PrefixedLogger; import rip.athena.client.utils.input.KeybindManager; @@ -57,6 +58,7 @@ public class Athena { private NotificationManager notificationManager; private ConfigManager configManager; private ModuleManager moduleManager; + private ThemeManager themeManager; private MacroManager macroManager; private HUDManager hudManager; private EventBus eventBus; @@ -74,8 +76,6 @@ public class Athena { MAIN_DIR.mkdir(); } - - if(SocketClient.isClientRunning()) { JOptionPane.showMessageDialog(null, "Port 1337 already in use."); System.exit(0); @@ -83,6 +83,7 @@ public class Athena { this.configManager = new ConfigManager(CONFIGS_DIR); this.moduleManager = new ModuleManager(); + this.themeManager = new ThemeManager(); this.macroManager = new MacroManager(); this.hudManager = new HUDManager(); this.eventBus = new EventBus(); diff --git a/src/main/java/rip/athena/client/config/save/Config.java b/src/main/java/rip/athena/client/config/save/Config.java index 22dece73..ffef14ea 100644 --- a/src/main/java/rip/athena/client/config/save/Config.java +++ b/src/main/java/rip/athena/client/config/save/Config.java @@ -15,6 +15,7 @@ import rip.athena.client.gui.hud.HUDElement; import rip.athena.client.macros.Macro; import rip.athena.client.modules.Module; import rip.athena.client.modules.impl.render.Crosshair; +import rip.athena.client.theme.Theme; import rip.athena.client.utils.StringUtils; import rip.athena.client.utils.file.FileHandler; import rip.athena.client.utils.input.BindType; @@ -125,7 +126,7 @@ public class Config { } } } - + JSONObject hud = json.getJSONObject("hud"); for(String element : hud.keySet()) { @@ -143,7 +144,16 @@ public class Config { } } } - + + String themeIdentifier = obj.getString("theme"); + + for (Theme theme : Theme.values()) { + if (theme.name().equalsIgnoreCase(themeIdentifier)) { + Athena.INSTANCE.getThemeManager().setTheme(theme); + break; + } + } + JSONArray macroList = obj.getJSONArray("macros"); for(int i = 0; i < macroList.length(); i++) { @@ -355,7 +365,7 @@ public class Config { obj.put("enabled", mod.isToggled()); obj.put("bind", mod.getKeyBind()); obj.put("bindtype", mod.getBindType().toString()); - + for(ConfigEntry entry : mod.getEntries()) { entry.appendToConfig(entry.getKey(), entry.getValue(mod), settingsObj); } @@ -364,7 +374,9 @@ public class Config { obj.put("hud", hudObj); config.put(mod.getName(), obj); } - + + config.put("theme", Athena.INSTANCE.getThemeManager().getTheme().name()); + JSONArray macros = new JSONArray(); for(Macro macro : Athena.INSTANCE.getMacroManager().getMacros()) { @@ -380,7 +392,7 @@ public class Config { config.put("macros", macros); JSONObject fps = new JSONObject(); - + List buffer = new ArrayList<>(); for(Class clazz : SettingsPage.BLOCKS) { diff --git a/src/main/java/rip/athena/client/gui/clickgui/Category.java b/src/main/java/rip/athena/client/gui/clickgui/Category.java index cea1bf25..e2bafeb8 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/Category.java +++ b/src/main/java/rip/athena/client/gui/clickgui/Category.java @@ -12,7 +12,8 @@ public enum Category { MACROS("MACROS", "Athena/gui/mods/cps.png"), WAYPOINTS("WAYPOINTS", "Athena/gui/menu/waypoints.png"), PROFILES("PROFILES", "Athena/gui/menu/profiles.png"), - COSMETICS("COSMETICS", "Athena/gui/menu/cosmetics.png"); + COSMETICS("COSMETICS", "Athena/gui/menu/cosmetics.png"), + THEMES("THEMES", "Athena/gui/menu/themes.png"); private String name; private String icon; diff --git a/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java b/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java index 352e5784..7528ae5d 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java +++ b/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java @@ -136,11 +136,14 @@ public class IngameMenu extends MinecraftMenuImpl implements DrawImpl { drawShadowDown(menu.getX(), menu.getY() + 58, menu.getWidth()); - RoundedUtils.drawRoundedOutline(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + menu.getHeight(), 54, 5, new Color(50, 50, 50, 255).getRGB()); - RoundedUtils.drawRoundedRect(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + menu.getHeight(), 54, new Color(30, 30, 30, 255).getRGB()); + RoundedUtils.drawRoundedOutline(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + menu.getHeight(), 32, 5, new Color(50, 50, 50, 255).getRGB()); + RoundedUtils.drawRoundedRect(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + menu.getHeight(), 32, new Color(30, 30, 30, 255).getRGB()); + + rip.athena.client.utils.font.FontManager.getNunitoBold(50).drawString(Athena.INSTANCE.getClientName().toUpperCase(), menu.getX() + 40, menu.getY() + 20, MENU_HEADER_TEXT_COLOR); + + //DrawUtils.drawImage(new ResourceLocation("Athena/logo/pride.png"), (int) (menu.getX() + FontManager.font1.getStringWidth(Athena.INSTANCE.getClientName().toUpperCase()) + 70), (int) (menu.getY() - 10 + FontManager.font1.getHeight(Athena.INSTANCE.getClientName().toUpperCase())), 30, 30); + - rip.athena.client.utils.font.FontManager.getNunitoBold(50).drawString(Athena.INSTANCE.getClientName().toUpperCase(), menu.getX() + 60, menu.getY() + 20, MENU_HEADER_TEXT_COLOR); - //DrawUtils.drawImage(new ResourceLocation("Athena/logo/Athena.png"), (int) (menu.getX() + FontManager.font1.getStringWidth(Athena.INSTANCE.getClientName().toUpperCase()) + 70), (int) (menu.getY() - 10 + FontManager.font1.getHeight(Athena.INSTANCE.getClientName().toUpperCase())), 30, 30); drawShadowDown(menu.getX(), menu.getY() + 58, menu.getWidth()); if(category != null) { diff --git a/src/main/java/rip/athena/client/gui/clickgui/PageManager.java b/src/main/java/rip/athena/client/gui/clickgui/PageManager.java index a03a3743..d1dc7110 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/PageManager.java +++ b/src/main/java/rip/athena/client/gui/clickgui/PageManager.java @@ -34,6 +34,7 @@ public class PageManager { pages.put(Category.WAYPOINTS, new WaypointsPage(mc, menu, parent)); pages.put(Category.PROFILES, new ProfilesPage(mc, menu, parent)); pages.put(Category.COSMETICS, new CosmeticsPage(mc, menu, parent)); + pages.put(Category.THEMES, new ThemesPage(mc, menu, parent)); } public Map getPages() { diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java index 495a9a89..636681b0 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java @@ -2,6 +2,7 @@ package rip.athena.client.gui.clickgui.components.mods; import net.minecraft.client.Minecraft; import net.minecraft.util.ResourceLocation; +import rip.athena.client.Athena; import rip.athena.client.font.FontManager; import rip.athena.client.gui.framework.components.MenuButton; import rip.athena.client.gui.framework.draw.ButtonState; @@ -58,8 +59,9 @@ public class CategoryButton extends MenuButton { //RoundedUtils.drawRoundedRect(x + 9, y - 1, x + width - 19, y + height + 1, 12, new Color(50,50,50,255).getRGB()); if(isActive()) { - RoundedUtils.drawRoundedRect(x + 29, y - 1, x + width - 19, y + height + 1, 12, new Color(50, 50, 50, 255).getRGB()); - RoundedUtils.drawRoundedRect(x + 30, y, x + width - 20, y + height, 12, new Color(25,25,25,255).getRGB()); + RoundedUtils.drawGradientRound(x + 30, y, width - 40, height, 12, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + //RoundedUtils.drawRoundedRect(x + 29, y - 1, x + width - 19, y + height + 1, 12, new Color(50, 50, 50, 255).getRGB()); + //RoundedUtils.drawRoundedRect(x + 30, y, x + width - 20, y + height, 12, new Color(25,25,25,255).getRGB()); } if(Settings.customGuiFont) { rip.athena.client.utils.font.FontManager.getNunitoBold(20).drawString(text, x + 70, y + height / 2 - (getStringHeight(text) / 2) + 2, textColor); diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModSlider.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModSlider.java index 05fbf031..c1626260 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModSlider.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModSlider.java @@ -2,6 +2,7 @@ package rip.athena.client.gui.clickgui.components.mods; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; +import rip.athena.client.Athena; import rip.athena.client.font.FontManager; import rip.athena.client.gui.framework.components.MenuSlider; import rip.athena.client.gui.framework.draw.ButtonState; @@ -100,7 +101,8 @@ public class MenuModSlider extends MenuSlider { linePos += minOffset; } - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + 1, y + 1, linePos, height - 1, backgroundColor); + RoundedUtils.drawGradientRound(x + 1, y + 1, linePos, height - 1, 6,Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + 1, y + 1, linePos, height - 1, backgroundColor); int cursorPos = linePos; int cursorWidth = 20; diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java index c64b7bd4..7d2dab44 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java @@ -1,6 +1,7 @@ package rip.athena.client.gui.clickgui.components.mods; import net.minecraft.client.Minecraft; +import rip.athena.client.Athena; import rip.athena.client.font.FontManager; import rip.athena.client.gui.framework.components.MenuButton; import rip.athena.client.gui.framework.draw.ButtonState; @@ -65,13 +66,14 @@ public class ModCategoryButton extends MenuButton { GlStateManager.color(1, 1, 1); if(isActive()) { - RoundedUtils.drawRoundedRect(x + 17, y - 1, x + width - 19, y + height - 4, 12, new Color(50,50,50,255).getRGB()); - RoundedUtils.drawRoundedRect(x + 18, y, x + width - 20, y + height - 5, 12, backgroundColor); + RoundedUtils.drawGradientRound(x + 17, y - 1, width - 23, height - 4, 12, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + //RoundedUtils.drawRoundedRect(x + 17, y - 1, x + width - 6, y + height - 4, 12, new Color(50,50,50,255).getRGB()); + //RoundedUtils.drawRoundedRect(x + 18, y, x + width - 7, y + height - 5, 12, backgroundColor); //drawHorizontalLine(x + (width / 2 - getStringWidth(text) / 2), y + 29, (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(text), 2, textColor); } if(Settings.customGuiFont) { - rip.athena.client.utils.font.FontManager.getNunitoBold(20).drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor); + rip.athena.client.utils.font.FontManager.getNunitoBold(25).drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor); } else { Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor); } diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModScrollPane.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModScrollPane.java index 82766a97..f2572883 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModScrollPane.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModScrollPane.java @@ -1,6 +1,7 @@ package rip.athena.client.gui.clickgui.components.mods; import net.minecraft.client.renderer.GlStateManager; +import rip.athena.client.Athena; import rip.athena.client.gui.framework.MenuComponent; import rip.athena.client.gui.framework.MenuPriority; import rip.athena.client.gui.framework.components.MenuDraggable; @@ -11,6 +12,7 @@ import net.minecraft.client.Minecraft; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; import java.util.Collections; @@ -228,19 +230,27 @@ public class ModScrollPane extends MenuScrollPane { scrollerHeight -= 3; GlStateManager.color(1, 1,1); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 3, y - 2, scrollerWidth + 6, scrollerHeight + 8, 83886080); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 2, y - 1, scrollerWidth + 4, scrollerHeight + 6, 369098752); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 1, y, scrollerWidth + 2, scrollerHeight + 4, 587202560); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 3, y - 2, scrollerWidth + 6, scrollerHeight + 8, 83886080); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 2, y - 1, scrollerWidth + 4, scrollerHeight + 6, 369098752); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 1, y, scrollerWidth + 2, scrollerHeight + 4, 587202560); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX, y + 1, scrollerWidth, scrollerHeight + 2, getColor(DrawType.LINE, ButtonState.NORMAL)); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX + 1, y + 2, scrollerWidth - 2, scrollerHeight, getColor(DrawType.BACKGROUND, ButtonState.NORMAL)); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX, y + 1, scrollerWidth, scrollerHeight + 2, getColor(DrawType.LINE, ButtonState.NORMAL)); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX + 1, y + 2, scrollerWidth - 2, scrollerHeight, getColor(DrawType.BACKGROUND, ButtonState.NORMAL)); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 3, newY - 3, scrollerWidth + 6, newSize + 6, 83886080); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 2, newY - 2, scrollerWidth + 4, newSize + 4, 369098752); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 1, newY - 1, scrollerWidth + 2, newSize + 2, 587202560); + RoundedUtils.drawRoundedRect(scrollerX + 2, y + 2, scrollerX + scrollerWidth - 2, y + scrollerHeight, 6, getColor(DrawType.BACKGROUND, ButtonState.NORMAL)); + + //RoundedUtils.drawRoundedRect(scrollerX - 3, newY - 3, scrollerWidth + 6, newSize + 6, 12, -1); + + RoundedUtils.drawGradientRound(scrollerX, newY - 3, scrollerWidth, newSize, 6,Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + + //RoundedUtils.drawRoundedRect(scrollerX, newY - 3, scrollerX + scrollerWidth, newY + newSize, 6, -1); + + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 3, newY - 3, scrollerWidth + 6, newSize + 6, 83886080); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 2, newY - 2, scrollerWidth + 4, newSize + 4, 369098752); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX - 1, newY - 1, scrollerWidth + 2, newSize + 2, 587202560); //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX, newY, scrollerWidth, newSize, getColor(DrawType.LINE, scrollerState)); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX + 1, newY + 1, scrollerWidth - 2, newSize - 2, getColor(DrawType.BACKGROUND, scrollerState)); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(scrollerX + 1, newY + 1, scrollerWidth - 2, newSize - 2, getColor(DrawType.BACKGROUND, scrollerState)); } } diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java index 8e84e85f..7a0c8c41 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java @@ -13,6 +13,7 @@ import rip.athena.client.gui.clickgui.IngameMenu; import rip.athena.client.modules.impl.other.Settings; import rip.athena.client.utils.render.DrawUtils; import org.lwjgl.input.Keyboard; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -66,8 +67,8 @@ public class SearchTextfield extends MenuTextField { GlStateManager.color(1, 1,1); - DrawUtils.drawRoundedRect(x - 4, y - 4, x + width + 5, y + height + 5, 10, 83886080); - DrawUtils.drawRoundedRect(x - 2, y - 2, x + width + 3, y + height + 3, 10, 587202560); + RoundedUtils.drawRoundedRect(x - 4, y - 4, x + width + 5, y + height + 5, 24, 83886080); + RoundedUtils.drawRoundedRect(x - 2, y - 2, x + width + 3, y + height + 3, 24, 587202560); /*DrawUtils.drawRoundedRect(x - 1, y - 1, x + width + 2, y + height + 2, 10, lineColor); DrawUtils.drawRoundedRect(x, y, x + width + 1, y + height + 1, 10, lineColor); @@ -136,7 +137,7 @@ public class SearchTextfield extends MenuTextField { if(Settings.customGuiFont) { textHeight = (int) FontManager.baloo17.getHeight(textToDraw); - drawVerticalLine(x + 10 + (int)rip.athena.client.utils.font.FontManager.getProductSansRegular(30).width(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor); + drawVerticalLine(x + 10 + (int)rip.athena.client.utils.font.FontManager.getNunito(20).width(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor); } else { textHeight = Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT; drawVerticalLine(x + 10 + (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor); @@ -191,7 +192,7 @@ public class SearchTextfield extends MenuTextField { bestIndex = i; } - position += (int)rip.athena.client.utils.font.FontManager.getProductSansRegular(30).width(text.charAt(i) + ""); + position += (int)rip.athena.client.utils.font.FontManager.getNunito(20).width(text.charAt(i) + ""); } if(mouseX > position) { @@ -202,6 +203,8 @@ public class SearchTextfield extends MenuTextField { index = 0; } } + + DrawUtils.drawImage(new ResourceLocation("Athena/gui/menu/search.png"), x + width - 30, y + 5, 20, 20); mouseDown = false; } diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/themes/SimpleGradientButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/themes/SimpleGradientButton.java new file mode 100644 index 00000000..5745ec35 --- /dev/null +++ b/src/main/java/rip/athena/client/gui/clickgui/components/themes/SimpleGradientButton.java @@ -0,0 +1,101 @@ +package rip.athena.client.gui.clickgui.components.themes; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; +import rip.athena.client.Athena; +import rip.athena.client.font.FontManager; +import rip.athena.client.gui.clickgui.IngameMenu; +import rip.athena.client.gui.framework.components.MenuButton; +import rip.athena.client.gui.framework.draw.ButtonState; +import rip.athena.client.gui.framework.draw.DrawType; +import rip.athena.client.modules.impl.other.Settings; +import rip.athena.client.theme.Theme; +import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; + +import java.awt.*; + +/** + * @author Athena Development + * @project Athena-Client + * @date 6/2/2023 + */ + +public class SimpleGradientButton extends MenuButton { + protected boolean leftColorChange; + + public SimpleGradientButton(Theme theme, int x, int y, int width, int height, boolean leftColorChange) { + super(theme, x, y, width, height); + this.leftColorChange = leftColorChange; + } + + @Override + public void onInitColors() { + setColor(DrawType.BACKGROUND, ButtonState.NORMAL, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.ACTIVE, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.HOVER, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.HOVERACTIVE, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA)); + + setColor(DrawType.LINE, ButtonState.NORMAL, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.ACTIVE, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.HOVER, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.HOVERACTIVE, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.POPUP, new Color(28, 28, 30, IngameMenu.MENU_ALPHA)); + + setColor(DrawType.TEXT, ButtonState.NORMAL, new Color(56, 56, 58, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.ACTIVE, new Color(90, 90, 94, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.HOVER, new Color(75, 75, 78, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.HOVERACTIVE, new Color(100, 100, 104, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA)); + } + + @Override + public void onRender() { + int x = this.getRenderX(); + int y = this.getRenderY(); + int mouseX = parent.getMouseX(); + int width = this.width; + + int backgroundColor = getColor(DrawType.BACKGROUND, lastState); + int lineColor = getColor(DrawType.LINE, lastState); + int textColor = getColor(DrawType.TEXT, lastState); + int linePopupColor = getColor(DrawType.LINE, ButtonState.POPUP); + + GlStateManager.color(1,1,1); + //RoundedUtils.drawRoundedRect(x, y, x + width, y + height, 12.0f, new Color(50,50,50,255).getRGB()); + + RoundedUtils.drawGradientRound(x, y, width, height, 6, theme.getFirstColor(), theme.getFirstColor(), theme.getSecondColor(), theme.getSecondColor()); + GlStateManager.color(1,1,1); + + mouseDown = false; + } + + @Override + public void drawText(String string, int x, int y, int color) { + if(Settings.customGuiFont) { + rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(string, x - 3, y, color); + } else { + Minecraft.getMinecraft().fontRendererObj.drawString(string, x, y, color); + } + } + + @Override + public int getStringWidth(String string) { + if(Settings.customGuiFont) { + return (int) rip.athena.client.utils.font.FontManager.getProductSansRegular(30).width(string) - 1; + } else { + return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string); + } + } + + @Override + public int getStringHeight(String string) { + if(Settings.customGuiFont) { + return (int) FontManager.baloo17.getHeight(string) + 1; + } else { + return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT; + } + } +} diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/themes/TriColorGradientButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/themes/TriColorGradientButton.java new file mode 100644 index 00000000..e55503e4 --- /dev/null +++ b/src/main/java/rip/athena/client/gui/clickgui/components/themes/TriColorGradientButton.java @@ -0,0 +1,98 @@ +package rip.athena.client.gui.clickgui.components.themes; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; +import rip.athena.client.font.FontManager; +import rip.athena.client.gui.clickgui.IngameMenu; +import rip.athena.client.gui.framework.components.MenuButton; +import rip.athena.client.gui.framework.draw.ButtonState; +import rip.athena.client.gui.framework.draw.DrawType; +import rip.athena.client.modules.impl.other.Settings; +import rip.athena.client.theme.Theme; +import rip.athena.client.utils.render.RoundedUtils; + +import java.awt.*; + +/** + * @author Athena Development + * @project Athena-Client + * @date 6/2/2023 + */ + +public class TriColorGradientButton extends MenuButton { + protected boolean leftColorChange; + + public TriColorGradientButton(Theme theme, int x, int y, int width, int height, boolean leftColorChange) { + super(theme, x, y, width, height); + this.leftColorChange = leftColorChange; + } + + @Override + public void onInitColors() { + setColor(DrawType.BACKGROUND, ButtonState.NORMAL, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.ACTIVE, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.HOVER, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.HOVERACTIVE, new Color(35, 35, 35, IngameMenu.MENU_ALPHA)); + setColor(DrawType.BACKGROUND, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA)); + + setColor(DrawType.LINE, ButtonState.NORMAL, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.ACTIVE, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.HOVER, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.HOVERACTIVE, new Color(52, 52, 53, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA)); + setColor(DrawType.LINE, ButtonState.POPUP, new Color(28, 28, 30, IngameMenu.MENU_ALPHA)); + + setColor(DrawType.TEXT, ButtonState.NORMAL, new Color(56, 56, 58, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.ACTIVE, new Color(90, 90, 94, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.HOVER, new Color(75, 75, 78, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.HOVERACTIVE, new Color(100, 100, 104, IngameMenu.MENU_ALPHA)); + setColor(DrawType.TEXT, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA)); + } + + @Override + public void onRender() { + int x = this.getRenderX(); + int y = this.getRenderY(); + int mouseX = parent.getMouseX(); + int width = this.width; + + int backgroundColor = getColor(DrawType.BACKGROUND, lastState); + int lineColor = getColor(DrawType.LINE, lastState); + int textColor = getColor(DrawType.TEXT, lastState); + int linePopupColor = getColor(DrawType.LINE, ButtonState.POPUP); + + GlStateManager.color(1,1,1); + //RoundedUtils.drawRoundedRect(x, y, x + width, y + height, 12.0f, new Color(50,50,50,255).getRGB()); + + RoundedUtils.drawGradientRound(x, y, width, height, 6, theme.getFirstColor(), theme.getSecondColor(), theme.getThirdColor(), theme.getFirstColor()); + + mouseDown = false; + } + + @Override + public void drawText(String string, int x, int y, int color) { + if(Settings.customGuiFont) { + rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(string, x - 3, y, color); + } else { + Minecraft.getMinecraft().fontRendererObj.drawString(string, x, y, color); + } + } + + @Override + public int getStringWidth(String string) { + if(Settings.customGuiFont) { + return (int) rip.athena.client.utils.font.FontManager.getProductSansRegular(30).width(string) - 1; + } else { + return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string); + } + } + + @Override + public int getStringHeight(String string) { + if(Settings.customGuiFont) { + return (int) FontManager.baloo17.getHeight(string) + 1; + } else { + return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT; + } + } +} diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java index 85f15845..c6bd4414 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java @@ -129,7 +129,7 @@ public class ModsPage extends Page { for (Category category : Category.values()) { if (!category.isHidden()) { - MenuButton comp = new ModCategoryButton(category, x, y, (int) (30 + rip.athena.client.utils.font.FontManager.getNunitoBold(30).width(category.getText())), height) { + MenuButton comp = new ModCategoryButton(category, x - 20, y, (int) (35 + rip.athena.client.utils.font.FontManager.getNunitoBold(30).width(category.getText())), height) { @Override public void onAction() { for (rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) { @@ -257,6 +257,7 @@ public class ModsPage extends Page { int sliderWidth = pane.getWidth() - xSpacing * 2; for (ConfigEntry configEntry : activeModule.getEntries()) { + GlStateManager.color(1,1,1); final FeatureText label; String key = configEntry.getKey().toUpperCase(); diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java index 9998a343..e1f216f9 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java @@ -238,11 +238,10 @@ public class ProfilesPage extends Page { drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(32, 32, 32, 225).getRGB()); if(Settings.customGuiFont) { - FontManager.vision16.drawString("PROFILES", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + rip.athena.client.utils.font.FontManager.getNunitoBold(30).drawString("PROFILES", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); } else { - mc.fontRendererObj.drawString("PROFILES", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + Minecraft.getMinecraft().fontRendererObj.drawString("PROFILES", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); } - //drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR); rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR); diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/ThemesPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/ThemesPage.java new file mode 100644 index 00000000..7c637cfc --- /dev/null +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/ThemesPage.java @@ -0,0 +1,142 @@ +package rip.athena.client.gui.clickgui.pages; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import org.apache.commons.lang3.RandomStringUtils; +import org.json.JSONException; +import rip.athena.client.Athena; +import rip.athena.client.config.save.Config; +import rip.athena.client.gui.clickgui.IngameMenu; +import rip.athena.client.gui.clickgui.Page; +import rip.athena.client.gui.clickgui.components.macros.MacroButton; +import rip.athena.client.gui.clickgui.components.macros.MacroTextfield; +import rip.athena.client.gui.clickgui.components.macros.SimpleTextButton; +import rip.athena.client.gui.clickgui.components.mods.ModCategoryButton; +import rip.athena.client.gui.clickgui.components.mods.ModScrollPane; +import rip.athena.client.gui.clickgui.components.profiles.ProfilesBase; +import rip.athena.client.gui.clickgui.components.profiles.ProfilesBlueButton; +import rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton; +import rip.athena.client.gui.clickgui.components.themes.TriColorGradientButton; +import rip.athena.client.gui.framework.Menu; +import rip.athena.client.gui.framework.TextPattern; +import rip.athena.client.gui.framework.draw.DrawImpl; +import rip.athena.client.modules.impl.other.Settings; +import rip.athena.client.requests.ContentType; +import rip.athena.client.requests.WebRequest; +import rip.athena.client.requests.WebRequestResult; +import rip.athena.client.theme.Theme; +import rip.athena.client.utils.font.FontManager; +import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; + +import java.awt.*; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.NoSuchElementException; + +/** + * @author Athena Development + * @project Athena-Client + * @date 6/2/2023 + */ + +public class ThemesPage extends Page { + + private ModScrollPane scrollPane; + private Theme activeTheme; + + public ThemesPage(Minecraft mc, Menu menu, IngameMenu parent) { + super(mc, menu, parent); + } + + @Override + public void onInit() { + int width = 300; + + scrollPane = new ModScrollPane(260, 140, menu.getWidth() - width - 10 * 2, menu.getHeight() - 141, false); + populateScrollPane(); + } + + + @Override + public void onRender() { + int y = menu.getY() + 59; + int height = 32; + + if(Settings.customGuiFont) { + rip.athena.client.utils.font.FontManager.getNunitoBold(30).drawString("THEMES | " + Athena.INSTANCE.getThemeManager().getTheme().getTheme(), menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + } else { + Minecraft.getMinecraft().fontRendererObj.drawString("THEMES", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + } + + RoundedUtils.drawGradientRound(menu.getX() + 275, menu.getY() + 110, menu.getX() + 120, 20, 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + + drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(32, 32, 32, 225).getRGB()); + + } + + private void populateScrollPane() { + scrollPane.getComponents().clear(); + + int spacing = 15; + int height = 70; + + int y = spacing; + int x = spacing; + + int defaultX = spacing; + + int width = 190; + int maxWidth = scrollPane.getWidth() - spacing * 2; + + for(Theme theme : Theme.values()) { + if (theme.isTriColor()) { + scrollPane.addComponent(new TriColorGradientButton(theme, x, y, width, height, false) { + @Override + public void onAction() { + setActive(false); + Athena.INSTANCE.getThemeManager().setTheme(theme); + populateScrollPane(); + } + }); + } else { + scrollPane.addComponent(new SimpleGradientButton(theme, x, y, width, height, false) { + @Override + public void onAction() { + setActive(false); + Athena.INSTANCE.getThemeManager().setTheme(theme); + populateScrollPane(); + } + }); + } + + + x += spacing + width; + + if(x + spacing + width > maxWidth) { + x = defaultX; + y += height + spacing; + } + } + } + + @Override + public void onLoad() { + menu.addComponent(scrollPane); + } + + @Override + public void onUnload() { + + } + + @Override + public void onOpen() { + + } + + @Override + public void onClose() { + + } +} diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java b/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java index fba8155f..3b4e4219 100644 --- a/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java +++ b/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java @@ -4,6 +4,7 @@ import net.minecraft.client.renderer.GlStateManager; import rip.athena.client.gui.framework.MenuComponent; import rip.athena.client.gui.framework.draw.ButtonState; import rip.athena.client.gui.framework.draw.DrawType; +import rip.athena.client.theme.Theme; import java.awt.*; @@ -18,6 +19,7 @@ public class MenuButton extends MenuComponent { protected int minOffset = 2; protected boolean mouseDown = false; protected boolean active = false; + protected Theme theme; protected ButtonState lastState = ButtonState.NORMAL; public MenuButton(String text, int x, int y){ @@ -29,6 +31,11 @@ public class MenuButton extends MenuComponent { super(x, y, width, height); this.text = text; } + + public MenuButton(Theme theme, int x, int y, int width, int height) { + super(x, y, width, height); + this.theme = theme; + } @Override public void onInitColors() { diff --git a/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java b/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java index fcace24d..804f49f7 100644 --- a/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java +++ b/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java @@ -319,19 +319,19 @@ public class AthenaMenu extends GuiScreen implements GuiYesNoCallback public void drawScreen(int mouseX, int mouseY, float partialTicks) { - DrawUtils.drawImage(new ResourceLocation("Athena/menu/wallpaper.jpg"), 0, 0, width, height); + DrawUtils.drawImage(new ResourceLocation("Athena/menu/test.png"), 0, 0, width, height); int[] size = InputUtils.getWindowsSize(); int startX = size[0] / 2; int startY = size[1] / 2; int x = startX - 75; - int y = this.height / 4 + 18; + int y = this.height / 4 + 28; int width = 150; int height = 100; - FontManager.vision30.drawString(Athena.INSTANCE.getClientName().toUpperCase(), - this.width / 2 - 88 + FontManager.vision30.getStringWidth(Athena.INSTANCE.getClientName().toUpperCase()), y, new Color(255, 255, 255).getRGB()); + rip.athena.client.utils.font.FontManager.getNunitoBold(30).drawString(Athena.INSTANCE.getClientName().toUpperCase(), + this.width / 2 - 88 + rip.athena.client.utils.font.FontManager.getNunitoBold(30).width(Athena.INSTANCE.getClientName().toUpperCase()), y, new Color(255, 255, 255).getRGB()); GlStateManager.pushMatrix(); DrawUtils.drawImage(new ResourceLocation("Athena/menu/exit.png"),startX + startX - 20, 10, 10, 10); diff --git a/src/main/java/rip/athena/client/gui/notifications/Notification.java b/src/main/java/rip/athena/client/gui/notifications/Notification.java index bfd86db2..522a62e5 100644 --- a/src/main/java/rip/athena/client/gui/notifications/Notification.java +++ b/src/main/java/rip/athena/client/gui/notifications/Notification.java @@ -5,8 +5,10 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.font.FontManager; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -92,8 +94,8 @@ public class Notification { DrawUtils.drawImage(NotificationManager.LOGO, x - 24, y - 20, 20, 20); - drawRect(x - width, y - height, x, y - Math.round(20 * oldDelta), BACKGROUND_COLOR); - + drawRect(x, y, x, y - Math.round(20 * oldDelta), BACKGROUND_COLOR); + if(textOutDelta == 1) { float timeLeft = getDeltaByTime(4000, (int)MAX_TIME - 4000 - FADEOUT_TIME); drawRect(x - width - stringWidth, y, x - Math.round((width + stringWidth) * (1 - timeLeft)), y - 1, color); diff --git a/src/main/java/rip/athena/client/modules/impl/render/CPS.java b/src/main/java/rip/athena/client/modules/impl/render/CPS.java index a22e2960..81b3216c 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/CPS.java +++ b/src/main/java/rip/athena/client/modules/impl/render/CPS.java @@ -1,6 +1,7 @@ package rip.athena.client.modules.impl.render; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.config.ConfigValue; import rip.athena.client.events.SubscribeEvent; import rip.athena.client.events.types.input.MouseDownEvent; @@ -33,7 +34,7 @@ public class CPS extends Module { @ConfigValue.Boolean(name = "Background") private boolean backGround = true; - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Color(name = "Background Color") @@ -80,10 +81,14 @@ public class CPS extends Module { int height = hud.getHeight(); if(backGround) { - if(backgroundMode.equalsIgnoreCase("Modern")) { - RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12.0f, new Color(50, 50, 50, 255).getRGB()); - RoundedUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 12.0f, new Color(35, 35, 35, 255).getRGB()); - + if(backgroundMode.equalsIgnoreCase("Modern")) { + if(Athena.INSTANCE.getThemeManager().getTheme().isTriColor()) { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getThirdColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor()); + } else { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB()); } @@ -97,9 +102,9 @@ public class CPS extends Module { hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7); if(isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY + 1, true, true); } else if(isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY + 1, false, true); } else { rip.athena.client.utils.font.FontManager.getProductSansRegular(25).drawString(string,(int) (posX) + 1, (int)posY + 2, color.getRGB()); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/Clock.java b/src/main/java/rip/athena/client/modules/impl/render/Clock.java index 0ce8129b..4d40b975 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Clock.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Clock.java @@ -1,12 +1,14 @@ package rip.athena.client.modules.impl.render; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.config.ConfigValue; import rip.athena.client.font.FontManager; import rip.athena.client.gui.hud.HUDElement; import rip.athena.client.modules.Category; import rip.athena.client.modules.Module; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; import java.time.LocalDateTime; @@ -24,7 +26,7 @@ public class Clock extends Module { @ConfigValue.List(name = "Clock Format", values = {"yyyy/MM/dd HH:mm:ss","MM/dd/yyyy", "dd/MM/yyyy", "dd/MM/yyyy hh:mm a" , "MM/dd/yyyy hh:mm a" ,"E, MMM dd yyyy","hh:mm a", "hh:mm:ss a", "yyyy-MM-dd"}) private String format = "yyyy/MM/dd HH:mm:ss"; - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Boolean(name = "Background") @@ -83,9 +85,9 @@ public class Clock extends Module { if(backGround) { if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB()); } @@ -99,9 +101,9 @@ public class Clock extends Module { hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7); if(isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY, true, true); } else if(isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY, false, true); } else { rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(string,(int) (posX), (int)posY, color.getRGB()); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java b/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java index 8577d5e9..a5f36b26 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java @@ -13,6 +13,7 @@ import net.minecraft.client.resources.model.IBakedModel; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.config.ConfigValue; import rip.athena.client.events.SubscribeEvent; import rip.athena.client.events.types.input.KeyDownEvent; @@ -21,6 +22,7 @@ import rip.athena.client.gui.hud.HUDElement; import rip.athena.client.modules.Category; import rip.athena.client.modules.Module; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -63,7 +65,7 @@ public class Coordinates extends Module { @ConfigValue.List(name = "Display Mode", values = {"Horizontal", "Vertical"}, description = "How the hud should be displayed") private String displayMode = "Vertical"; - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Color(name = "Background Color") @@ -197,11 +199,11 @@ public class Coordinates extends Module { if(this.shadedCoords) { if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { - DrawUtils.drawGradientRect(posX, posY, posX + width, posY + height, backgroundColor.getRGB(), backgroundColor.getRGB()); + DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, backgroundColor.getRGB(), backgroundColor.getRGB()); } } @@ -218,7 +220,6 @@ public class Coordinates extends Module { if (this.displayMode.equalsIgnoreCase("Vertical")) { GL11.glPushMatrix(); GL11.glEnable(GL11.GL_ALPHA_TEST); - FontRenderer var8 = mc.fontRendererObj; if (mc.thePlayer.posX > 0) { myPosX = (int) MathHelper.floor_double(mc.thePlayer.posX); } else { @@ -262,10 +263,11 @@ public class Coordinates extends Module { if(this.shadedCoords) { if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { - DrawUtils.drawGradientRect(posX, posY, posX + width, posY + height, backgroundColor.getRGB(), backgroundColor.getRGB()); + DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, backgroundColor.getRGB(), backgroundColor.getRGB()); } } @@ -315,7 +317,7 @@ public class Coordinates extends Module { public int getStringWidth(String text) { if (this.customFont) { - return (int) rip.athena.client.utils.font.FontManager.getProductSansRegular(30).width(text); + return (int) rip.athena.client.utils.font.FontManager.getProductSansRegular(25).width(text); } else { return mc.fontRendererObj.getStringWidth(text); } @@ -401,11 +403,11 @@ public class Coordinates extends Module { public void drawString(String text, double posX, double posY, Color color) { if (this.customFont) { if (color.getBlue() == 5 && color.getRed() == 5 && color.getGreen() == 5) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int) posX, (int) posY - 2, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), text, (int) posX, (int) posY - 2, true, true); } else if (color.getBlue() == 6 && color.getRed() == 6 && color.getGreen() == 6) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int) posX, (int) posY - 2, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), text, (int) posX, (int) posY - 2, false, true); } else { - rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(text, (int) posX, (int) posY - 2, color.getRGB()); + rip.athena.client.utils.font.FontManager.getProductSansRegular(25).drawString(text, (int) posX, (int) posY - 2, color.getRGB()); } } else { if (color.getBlue() == 5 && color.getRed() == 5 && color.getGreen() == 5) { diff --git a/src/main/java/rip/athena/client/modules/impl/render/CustomText.java b/src/main/java/rip/athena/client/modules/impl/render/CustomText.java index f7bec3aa..08d3dba4 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/CustomText.java +++ b/src/main/java/rip/athena/client/modules/impl/render/CustomText.java @@ -1,12 +1,14 @@ package rip.athena.client.modules.impl.render; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.config.ConfigValue; import rip.athena.client.font.FontManager; import rip.athena.client.gui.hud.HUDElement; import rip.athena.client.modules.Category; import rip.athena.client.modules.Module; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -26,7 +28,7 @@ public class CustomText extends Module { @ConfigValue.Boolean(name = "Custom Font") private boolean customFont = false; - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Boolean(name = "Background") @@ -45,7 +47,7 @@ public class CustomText extends Module { private int width = 56; private int height = 18; public CustomText() { - super("Custom Text", Category.RENDER); + super("Custom Text", Category.RENDER, "Athena/gui/mods/customtext.png"); hud = new HUDElement("customtext", width, height) { @Override @@ -70,14 +72,19 @@ public class CustomText extends Module { int height = hud.getHeight(); if(backGround) { - if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + if(backgroundMode.equalsIgnoreCase("Modern")) { + if(Athena.INSTANCE.getThemeManager().getTheme().isTriColor()) { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getThirdColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor()); + } else { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB()); } } + float posY = hud.getY() + 2; float posX = hud.getX() + 9; @@ -86,9 +93,9 @@ public class CustomText extends Module { hud.setHeight((int)FontManager.baloo17.getHeight(customText) + 7); if(isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, customText, (int) (posX), (int) posY + 1, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), customText, (int) (posX), (int) posY + 1, true, true); } else if(isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, customText, (int) (posX), (int) posY + 1, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), customText, (int) (posX), (int) posY + 1, false, true); } else { rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(customText,(int) (posX), (int)posY + 1, color.getRGB()); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/EntityHUD.java b/src/main/java/rip/athena/client/modules/impl/render/EntityHUD.java index ecabb179..2c555deb 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/EntityHUD.java +++ b/src/main/java/rip/athena/client/modules/impl/render/EntityHUD.java @@ -1,12 +1,14 @@ package rip.athena.client.modules.impl.render; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.config.ConfigValue; import rip.athena.client.font.FontManager; import rip.athena.client.gui.hud.HUDElement; import rip.athena.client.modules.Category; import rip.athena.client.modules.Module; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -17,7 +19,7 @@ import java.awt.*; */ public class EntityHUD extends Module { - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Boolean(name = "Background") @@ -43,7 +45,7 @@ public class EntityHUD extends Module { private int height = 18; public EntityHUD() { - super("Entity HUD", Category.RENDER); + super("Entity HUD", Category.RENDER, "Athena/gui/mods/entityhud.png"); hud = new HUDElement("entityhud", width, height) { @Override @@ -71,9 +73,9 @@ public class EntityHUD extends Module { if(backGround) { if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB()); } @@ -87,9 +89,9 @@ public class EntityHUD extends Module { hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7); if(isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY, true, true); } else if(isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY, false, true); } else { rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(string,(int) (posX), (int)posY, color.getRGB()); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java b/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java index a4f0e3d3..b2b80b85 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java +++ b/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java @@ -1,5 +1,6 @@ package rip.athena.client.modules.impl.render; +import net.minecraft.client.renderer.GlStateManager; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; import rip.athena.client.Athena; @@ -10,12 +11,16 @@ import rip.athena.client.events.types.render.RenderType; import rip.athena.client.font.FontManager; import rip.athena.client.font.FontUtils; import rip.athena.client.gui.hud.HUDElement; +import rip.athena.client.gui.menu.AthenaMenu; import rip.athena.client.modules.Category; import rip.athena.client.modules.Module; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; +import static org.lwjgl.opengl.GL11.GL_GREATER; + /** * @author Athena Development * @project Athena-Client @@ -23,7 +28,7 @@ import java.awt.*; */ public class FPSMod extends Module { - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Boolean(name = "Background") @@ -77,9 +82,13 @@ public class FPSMod extends Module { if(backGround) { if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + if(Athena.INSTANCE.getThemeManager().getTheme().isTriColor()) { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getThirdColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor()); + } else { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColorWave().getRGB()); } else { DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB()); } @@ -93,11 +102,13 @@ public class FPSMod extends Module { hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7); if(isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY + 1, true, true); } else if(isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY + 1, false, true); } else { - rip.athena.client.utils.font.FontManager.getPoppinsRegular(25).drawString(string,(int) (posX), (int)posY + 3, color.getRGB()); + rip.athena.client.utils.font.FontManager.getProductSansRegular(25).drawString(string,(int) (posX) + 1, (int)posY + 2, color.getRGB()); + + //rip.athena.client.utils.font.FontManager.getPoppinsRegular(25).drawString(string,(int) (posX), (int)posY + 3, color.getRGB()); //rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(string,(int) (posX), (int)posY + 1, color.getRGB()); } } else { diff --git a/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java b/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java index fe1ffa89..bede8b1d 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java @@ -356,9 +356,9 @@ public class Keystrokes extends Module { public void drawString(String text, float posX, float posY, Color color) { if (this.isCustomFont) { if (isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int)posX + 1, (int)posY, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), text, (int)posX + 1, (int)posY, true, true); } else if (isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int)posX + 1, (int)posY, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), text, (int)posX + 1, (int)posY, false, true); } else { rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(text, (int)posX + 1, (int)posY, color.getRGB()); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java b/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java index 74d5d62d..ecd126a4 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java +++ b/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java @@ -1,12 +1,14 @@ package rip.athena.client.modules.impl.render; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.config.ConfigValue; import rip.athena.client.font.FontManager; import rip.athena.client.gui.hud.HUDElement; import rip.athena.client.modules.Category; import rip.athena.client.modules.Module; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -19,7 +21,7 @@ public class MemoryUsage extends Module { @ConfigValue.Boolean(name = "Percentage", description = "Show memory usage in percentage.") private boolean percentage = false; - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Boolean(name = "Background") @@ -81,16 +83,15 @@ public class MemoryUsage extends Module { if(this.percentage) { string = "Memory: " + percentage + "%"; } - int width = hud.getWidth(); int height = hud.getHeight(); if(backGround) { if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB()); } @@ -104,9 +105,9 @@ public class MemoryUsage extends Module { hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7); if(isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY, true, true); } else if(isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), string, (int) (posX), (int) posY, false, true); } else { rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(string,(int) (posX), (int)posY, color.getRGB()); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java b/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java index 361e196a..f4aebf00 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java +++ b/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java @@ -6,12 +6,14 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.FoodStats; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.config.ConfigValue; import rip.athena.client.font.FontManager; import rip.athena.client.gui.hud.HUDElement; import rip.athena.client.modules.Category; import rip.athena.client.modules.Module; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -25,7 +27,7 @@ public class PotCounter extends Module { @ConfigValue.Color(name = "Color") private Color color = Color.WHITE; - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") private String backgroundMode = "Modern"; @ConfigValue.Boolean(name = "Background") @@ -94,10 +96,14 @@ public class PotCounter extends Module { int height = hud.getHeight(); if(background) { - if(backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(hud.getX() + 1, hud.getY() + 1, hud.getX() + width - 1, hud.getY() + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + if(backgroundMode.equalsIgnoreCase("Modern")) { + if(Athena.INSTANCE.getThemeManager().getTheme().isTriColor()) { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getThirdColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor()); + } else { + RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } + } else if (backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, backgroundColor.getRGB(), backgroundColor.getRGB()); } @@ -111,9 +117,9 @@ public class PotCounter extends Module { hud.setHeight((int) (FontManager.baloo17.getHeight(str) + 7)); if(isUsingStaticChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, str, (int) posX, (int) posY + 1, true, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), str, (int) posX, (int) posY + 1, true, true); } else if (isUsingWaveChroma) { - DrawUtils.drawCustomFontChromaString(FontManager.baloo17, str, (int) posX, (int) posY + 1, false, true); + DrawUtils.drawCustomFontChromaString(rip.athena.client.utils.font.FontManager.getProductSansRegular(25), str, (int) posX, (int) posY + 1, false, true); } else { rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(str, (int) posX, (int) posY + 1, color.getRGB()); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/TPS.java b/src/main/java/rip/athena/client/modules/impl/render/TPS.java index 5d4ae8f4..99bf0db6 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/TPS.java +++ b/src/main/java/rip/athena/client/modules/impl/render/TPS.java @@ -21,7 +21,7 @@ import java.util.concurrent.CopyOnWriteArrayList; */ public class TPS extends Module { - @ConfigValue.List(name = "Display Mode", values = {"Modern", "Old"}, description = "Chose display of background") + @ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Old"}, description = "Chose display of background") public static String backgroundMode = "Modern"; @ConfigValue.Boolean(name = "Preset Color") @@ -148,14 +148,12 @@ public class TPS extends Module { } GL11.glColor4f(1F, 1F, 1F, 1F); GL11.glPopMatrix(); - - + float x = 14; float lastValue = 0; int i = 0; - if(mode.equalsIgnoreCase("Graph") ||mode.equalsIgnoreCase("Both")) { GL11.glPushMatrix(); diff --git a/src/main/java/rip/athena/client/theme/Theme.java b/src/main/java/rip/athena/client/theme/Theme.java new file mode 100644 index 00000000..f9003d03 --- /dev/null +++ b/src/main/java/rip/athena/client/theme/Theme.java @@ -0,0 +1,211 @@ +package rip.athena.client.theme; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.minecraft.util.EnumChatFormatting; +import rip.athena.client.utils.render.ColorUtil; + +import javax.vecmath.Vector2d; +import java.awt.*; +import java.util.ArrayList; +import java.util.Arrays; + +import static net.minecraft.util.EnumChatFormatting.*; +import static net.minecraft.util.EnumChatFormatting.DARK_GREEN; + +/** + * @author Athena Development + * @project Athena-Client + * @date 6/8/2023 + */ + +@Getter +public enum Theme implements ColorUtil { + + ATHENA("Athena", new Color(7, 64, 170), new Color(4, 83, 97), DARK_PURPLE, false, KeyColors.PURPLE, KeyColors.RED), + AUBERGINE("Aubergine", new Color(170, 7, 107), new Color(97, 4, 95), DARK_PURPLE, false, KeyColors.PURPLE, KeyColors.RED), + AQUA("Aqua", new Color(185, 250, 255), new Color(79, 199, 200), EnumChatFormatting.AQUA, false, KeyColors.AQUA), + BANANA("Banana", new Color(253, 236, 177), new Color(255, 255, 255), YELLOW, false, KeyColors.YELLOW), + BLEND("Blend", new Color(71, 148, 253), new Color(71, 253, 160), EnumChatFormatting.AQUA, false, KeyColors.AQUA, KeyColors.LIME), + BLOSSOM("Blossom", new Color(226, 208, 249), new Color(49, 119, 115), DARK_AQUA, false, KeyColors.PINK, KeyColors.GRAY), + BUBBLEGUM("Bubblegum", new Color(243, 145, 216), new Color(152, 165, 243), LIGHT_PURPLE, false, KeyColors.PINK, KeyColors.PURPLE), + CANDY_CANE("Candy Cane", new Color(255, 255, 255), new Color(255, 0, 0), RED, false, KeyColors.RED), + CHERRY("Cherry", new Color(187, 55, 125), new Color(251, 211, 233), RED, false, KeyColors.RED, KeyColors.PURPLE, KeyColors.PINK), + CHRISTMAS("Christmas", new Color(255, 64, 64), new Color(255, 255, 255), new Color(64, 255, 64), RED, true, KeyColors.RED, KeyColors.LIME), + CORAL("Coral", new Color(244, 168, 150), new Color(52, 133, 151), DARK_AQUA, false, KeyColors.PINK, KeyColors.ORANGE, KeyColors.DARK_BLUE), + DIGITAL_HORIZON("Digital Horizon", new Color(95, 195, 228), new Color(229, 93, 135), EnumChatFormatting.AQUA, false, KeyColors.AQUA, KeyColors.RED, KeyColors.PINK), + EXPRESS("Express", new Color(173, 83, 137), new Color(60, 16, 83), DARK_PURPLE, false, KeyColors.PURPLE, KeyColors.PINK), + LIME_WATER("Lime Water", new Color(18, 255, 247), new Color(179, 255, 171), EnumChatFormatting.AQUA, false, KeyColors.AQUA, KeyColors.LIME), + LUSH("Lush", new Color(168, 224, 99), new Color(86, 171, 47), GREEN, false, KeyColors.LIME, KeyColors.DARK_GREEN), + HALOGEN("Halogen", new Color(255, 65, 108), new Color(255, 75, 43), RED, false, KeyColors.RED, KeyColors.ORANGE), + HYPER("Hyper", new Color(236, 110, 173), new Color(52, 148, 230), LIGHT_PURPLE, false, KeyColors.PINK, KeyColors.DARK_BLUE, KeyColors.AQUA), + MAGIC("Magic", new Color(74, 0, 224), new Color(142, 45, 226), BLUE, false, KeyColors.DARK_BLUE, KeyColors.PURPLE), + MAY("May", new Color(253, 219, 245), new Color(238, 79, 238), LIGHT_PURPLE, false, KeyColors.PINK, KeyColors.PURPLE), + ORANGE_JUICE("Orange Juice", new Color(252, 74, 26), new Color(247, 183, 51), GOLD, false, KeyColors.ORANGE, KeyColors.YELLOW), + PASTEL("Pastel", new Color(243, 155, 178), new Color(207, 196, 243), LIGHT_PURPLE, false, KeyColors.PINK), + PUMPKIN("Pumpkin", new Color(241, 166, 98), new Color(255, 216, 169), new Color(227, 139, 42), GOLD, true, KeyColors.ORANGE), + SATIN("Satin", new Color(215, 60, 67), new Color(140, 23, 39), RED, false, KeyColors.RED), + SNOWY_SKY("Snowy Sky", new Color(1, 171, 179), new Color(234, 234, 234), new Color(18, 232, 232), EnumChatFormatting.AQUA, true, KeyColors.AQUA, KeyColors.GRAY), + STEEL_FADE("Steel Fade", new Color(66, 134, 244), new Color(55, 59, 68), BLUE, false, KeyColors.DARK_BLUE, KeyColors.GRAY), + SUNDAE("Sundae", new Color(206, 74, 126), new Color(122, 44, 77), RED, false, KeyColors.PINK, KeyColors.PURPLE, KeyColors.RED), + SUNKIST("Sunkist", new Color(242, 201, 76), new Color(242, 153, 74), YELLOW,false, KeyColors.YELLOW, KeyColors.ORANGE), + WATER("Water", new Color(12, 232, 199), new Color(12, 163, 232), EnumChatFormatting.AQUA, false, KeyColors.AQUA, KeyColors.DARK_BLUE), + WINTER("Winter", Color.WHITE, Color.WHITE, GRAY, false, KeyColors.GRAY, KeyColors.GRAY), + WOOD("Wood", new Color(79, 109, 81), new Color(170, 139, 87), new Color(240, 235, 206), DARK_GREEN, true, KeyColors.DARK_GREEN); + + private final String theme; + private final Color firstColor, secondColor, thirdColor; + private final EnumChatFormatting chatAccentColor; + private final ArrayList keyColors; + private final boolean triColor; + + Theme(String theme, Color firstColor, Color secondColor, EnumChatFormatting chatAccentColor, boolean triColor, KeyColors... keyColors) { + this.theme = theme; + this.firstColor = this.thirdColor = firstColor; + this.secondColor = secondColor; + this.chatAccentColor = chatAccentColor; + this.keyColors = new ArrayList<>(Arrays.asList(keyColors)); + this.triColor = triColor; + } + Theme(String theme, Color firstColor, Color secondColor, Color thirdColor, EnumChatFormatting chatAccentColor, boolean triColor, KeyColors... keyColors) { + this.theme = theme; + this.firstColor = firstColor; + this.secondColor = secondColor; + this.thirdColor = thirdColor; + this.chatAccentColor = chatAccentColor; + this.keyColors = new ArrayList<>(Arrays.asList(keyColors)); + this.triColor = triColor; + } + + public Color getFirstColor() { + return firstColor; + } + + public Color getSecondColor() { + return secondColor; + } + + public Color getThirdColor() { + return thirdColor; + } + + /** + * Calculates the accent color at a specific screen point. Depending on the position on the screen, the + * accent has a slightly different color (blending between the two or three accent colors) to create an + * interesting gradient effect. + * + * @param screenCoordinates The screen coordinates to calculate the accent color for + * @return The determined target color for the provided coordinates, between the two or three accent colors of the theme + * @author Hazsi + * @since 10/11/2022 + */ + public Color getAccentColor(Vector2d screenCoordinates) { + + // Three color blending + if (this.triColor) { + double blendFactor = this.getBlendFactor(screenCoordinates); + + // Blend between first and second color + if (blendFactor <= 0.5) return ColorUtil.mixColors(getSecondColor(), getFirstColor(), blendFactor * 2D); + // Blend between second and third color + else return ColorUtil.mixColors(getThirdColor(), getSecondColor(), (blendFactor - 0.5) * 2D); + } + + // Two color blending + return ColorUtil.mixColors(getFirstColor(), getSecondColor(), getBlendFactor(screenCoordinates)); + } + + public double getWaveFactor(Vector2d screenCoordinates) { + double waveLength = 200.0; // Adjust this value to control the wavelength of the wave + double waveSpeed = 0.01; // Adjust this value to control the speed of the wave + double offsetX = (screenCoordinates.getX() / waveLength) - (System.currentTimeMillis() * waveSpeed); + double waveOffset = Math.sin(offsetX); + return (waveOffset + 1.0) / 2.0; // Normalize the wave offset to the range [0, 1] + } + + + private Color getColorFromWave(double waveFactor) { + // Interpolate between the first and second color using the wave factor + int red = (int) (getFirstColor().getRed() + waveFactor * (getSecondColor().getRed() - getFirstColor().getRed())); + int green = (int) (getFirstColor().getGreen() + waveFactor * (getSecondColor().getGreen() - getFirstColor().getGreen())); + int blue = (int) (getFirstColor().getBlue() + waveFactor * (getSecondColor().getBlue() - getFirstColor().getBlue())); + return new Color(red, green, blue); + } + + public Color getAccentColorWave(Vector2d screenCoordinates) { + double waveIntensity = 0.5; // Adjust this value to control the intensity of the wave + + double blendFactor = getBlendFactor(screenCoordinates) * waveIntensity; + + // Three color blending + if (this.triColor) { + // Calculate the interpolated color between the first and second colors + Color color1 = ColorUtil.mixColors(getSecondColor(), getFirstColor(), blendFactor); + + // Calculate the interpolated color between the second and third colors + Color color2 = ColorUtil.mixColors(getThirdColor(), getSecondColor(), blendFactor); + + // Blend between the two interpolated colors based on the blend factor + if (blendFactor <= 0.5) return ColorUtil.mixColors(color2, color1, blendFactor * 2.0); + else return ColorUtil.mixColors(color1, color2, (blendFactor - 0.5) * 2.0); + } + + // Two color blending + return ColorUtil.mixColors(getFirstColor(), getSecondColor(), blendFactor); + } + + public Color getAccentColorWave() { + return getAccentColorWave(new Vector2d(0.0, 0.0)); + } + + public Color getAccentColor() { + return getAccentColor(new Vector2d(0.0, 0.0)); + } + + @Deprecated + public int getRound() { + return 4; + } + + public Color getDropShadow() { + return new Color(0, 0, 0, 160); + } + + /** + * Determines the blending factor between the themes two accent colors at a specific screen coordinate + * + * @param screenCoordinates The screen coordinate to calculate the blend factor for + * @return The blending factor, in a range of [0, 1] (inclusive) between the two accent colors of the theme + * @author Hazsi + * @since 10/11/2022 + */ + public double getBlendFactor(Vector2d screenCoordinates) { + return Math.sin(System.currentTimeMillis() / 600.0D + + screenCoordinates.getX() * 0.005D + + screenCoordinates.getY() * 0.06D + ) * 0.5D + 0.5D; + } + + @Deprecated + public Color getBackgroundShade() { + return new Color(0, 0, 0, 100); + } + + @Getter + @AllArgsConstructor + public enum KeyColors { + RED(new Color(255, 50, 50)), + ORANGE(new Color(255, 128, 50)), + YELLOW(new Color(255, 255, 50)), + LIME(new Color(128, 255, 50)), + DARK_GREEN(new Color(50, 128, 50)), + AQUA(new Color(50, 200, 255)), + DARK_BLUE(new Color(50, 100, 200)), + PURPLE(new Color(128, 50, 255)), + PINK(new Color(255, 128, 255)), + GRAY(new Color(100, 100, 110)); + + private final Color color; + } + +} diff --git a/src/main/java/rip/athena/client/theme/ThemeManager.java b/src/main/java/rip/athena/client/theme/ThemeManager.java new file mode 100644 index 00000000..ae7f441b --- /dev/null +++ b/src/main/java/rip/athena/client/theme/ThemeManager.java @@ -0,0 +1,18 @@ +package rip.athena.client.theme; + +import lombok.Getter; +import lombok.Setter; + +/** + * @author Athena Development + * @project Athena-Client + * @date 6/8/2023 + */ + +@Getter +@Setter +public class ThemeManager { + + private Theme theme = Theme.ATHENA; + +} diff --git a/src/main/java/rip/athena/client/utils/MathUtil.java b/src/main/java/rip/athena/client/utils/MathUtil.java new file mode 100644 index 00000000..9e4691e6 --- /dev/null +++ b/src/main/java/rip/athena/client/utils/MathUtil.java @@ -0,0 +1,92 @@ +package rip.athena.client.utils; + +import lombok.experimental.UtilityClass; +import net.minecraft.util.MathHelper; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.concurrent.ThreadLocalRandom; + +/** + * @author Patrick, Hazsi + * @since 11/17/2021 + */ +@UtilityClass +public class MathUtil { + + /** + * Method which returns a double between two input numbers + * + * @param min minimal number + * @param max maximal number + * @return random between both numbers + */ + public double getRandom(double min, double max) { + if (min == max) { + return min; + } else if (min > max) { + final double d = min; + min = max; + max = d; + } + return ThreadLocalRandom.current().nextDouble(min, max); + } + + public double round(final double value, final int places) { + final BigDecimal bigDecimal = BigDecimal.valueOf(value); + + return bigDecimal.setScale(places, RoundingMode.HALF_UP).doubleValue(); + } + + public double round(final double value, final int scale, final double inc) { + final double halfOfInc = inc / 2.0; + final double floored = Math.floor(value / inc) * inc; + + if (value >= floored + halfOfInc) { + return new BigDecimal(Math.ceil(value / inc) * inc) + .setScale(scale, RoundingMode.HALF_UP) + .doubleValue(); + } else { + return new BigDecimal(floored) + .setScale(scale, RoundingMode.HALF_UP) + .doubleValue(); + } + } + + public double roundWithSteps(final double value, final double steps) { + double a = ((Math.round(value / steps)) * steps); + a *= 1000; + a = (int) a; + a /= 1000; + return a; + } + + public double lerp(final double a, final double b, final double c) { + return a + c * (b - a); + } + + public float lerp(final float a, final float b, final float c) { + return a + c * (b - a); + } + + /** + * Gets the distance to the position. Args: x, y, z + */ + public double getDistance(final double x1, final double y1, final double z1, final double x2, final double y2, final double z2) { + final double d0 = x2 - x1; + final double d1 = y2 - y1; + final double d2 = z2 - z1; + return MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2); + } + + /** + * Clamps a number, n, to be within a specified range + * @param min The minimum permitted value of the input + * @param max The maximum permitted value of the input + * @param n The input number to clamp + * @return The input, bounded by the specified minimum and maximum values + */ + public double clamp(double min, double max, double n) { + return Math.max(min, Math.min(max, n)); + } +} \ No newline at end of file diff --git a/src/main/java/rip/athena/client/utils/file/FileHandler.java b/src/main/java/rip/athena/client/utils/file/FileHandler.java index 30e2e9a8..d90bdd34 100644 --- a/src/main/java/rip/athena/client/utils/file/FileHandler.java +++ b/src/main/java/rip/athena/client/utils/file/FileHandler.java @@ -58,7 +58,22 @@ public class FileHandler { return bytes; } - + + public static String readInputStream(InputStream inputStream) { + StringBuilder stringBuilder = new StringBuilder(); + + try { + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); + String line; + while ((line = bufferedReader.readLine()) != null) + stringBuilder.append(line).append('\n'); + + } catch (Exception e) { + e.printStackTrace(); + } + return stringBuilder.toString(); + } + public String getContent(boolean ignoreComments) throws IOException { StringBuilder builder = new StringBuilder(); diff --git a/src/main/java/rip/athena/client/utils/render/ColorUtil.java b/src/main/java/rip/athena/client/utils/render/ColorUtil.java new file mode 100644 index 00000000..eb34cf2b --- /dev/null +++ b/src/main/java/rip/athena/client/utils/render/ColorUtil.java @@ -0,0 +1,83 @@ +package rip.athena.client.utils.render; + +import org.lwjgl.opengl.GL11; +import rip.athena.client.utils.MathUtil; + +import java.awt.*; + +public interface ColorUtil { + + /** + * Method which colors using a hex code + * + * @param hex used hex code + */ + static void glColor(final int hex) { + final float a = (hex >> 24 & 0xFF) / 255.0F; + final float r = (hex >> 16 & 0xFF) / 255.0F; + final float g = (hex >> 8 & 0xFF) / 255.0F; + final float b = (hex & 0xFF) / 255.0F; + GL11.glColor4f(r, g, b, a); + } + + /** + * Method which colors using a color + * + * @param color used color + */ + static void glColor(final Color color) { + GL11.glColor4f(color.getRed() / 255.0F, color.getGreen() / 255.0F, color.getBlue() / 255.0F, color.getAlpha() / 255.0F); + } + + static Color darker(final Color color, final float factor) { + return new Color(Math.max((int) (color.getRed() * factor), 0), + Math.max((int) (color.getGreen() * factor), 0), + Math.max((int) (color.getBlue() * factor), 0), + color.getAlpha()); + } + + static Color brighter(final Color color, final float factor) { + int red = color.getRed(); + int green = color.getGreen(); + int blue = color.getBlue(); + final int alpha = color.getAlpha(); + + final int i = (int) (1 / (1 - factor)); + if (red == 0 && green == 0 && blue == 0) { + return new Color(i, i, i, alpha); + } + + if (red > 0 && red < i) red = i; + if (green > 0 && green < i) green = i; + if (blue > 0 && blue < i) blue = i; + + return new Color(Math.min((int) (red / factor), 255), + Math.min((int) (green / factor), 255), + Math.min((int) (blue / factor), 255), + alpha); + } + + static Color withRed(final Color color, final int red) { + return new Color(red, color.getGreen(), color.getBlue()); + } + + static Color withGreen(final Color color, final int green) { + return new Color(color.getRed(), green, color.getBlue()); + } + + static Color withBlue(final Color color, final int blue) { + return new Color(color.getRed(), color.getGreen(), blue); + } + + static Color withAlpha(final Color color, final int alpha) { + return new Color(color.getRed(), color.getGreen(), color.getBlue(), (int) MathUtil.clamp(0, 255, alpha)); + } + + static Color mixColors(final Color color1, final Color color2, final double percent) { + final double inverse_percent = 1.0 - percent; + final int redPart = (int) (color1.getRed() * percent + color2.getRed() * inverse_percent); + final int greenPart = (int) (color1.getGreen() * percent + color2.getGreen() * inverse_percent); + final int bluePart = (int) (color1.getBlue() * percent + color2.getBlue() * inverse_percent); + return new Color(redPart, greenPart, bluePart); + } +} diff --git a/src/main/java/rip/athena/client/utils/render/DrawUtils.java b/src/main/java/rip/athena/client/utils/render/DrawUtils.java index ce5913f9..146dec2b 100644 --- a/src/main/java/rip/athena/client/utils/render/DrawUtils.java +++ b/src/main/java/rip/athena/client/utils/render/DrawUtils.java @@ -12,9 +12,15 @@ import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; import rip.athena.client.font.FontUtils; +import rip.athena.client.utils.font.Font; +import rip.athena.client.utils.font.FontManager; +import rip.athena.client.utils.shader.ShaderUtil; import java.awt.*; +import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA; +import static org.lwjgl.opengl.GL11.GL_SRC_ALPHA; + /** * @author Athena Development * @project Athena-Client @@ -22,6 +28,8 @@ import java.awt.*; */ public enum DrawUtils { + + BLACK(-16711423), BLUE(-12028161), DARKBLUE(-12621684), @@ -47,6 +55,41 @@ public enum DrawUtils { this.c = co; } + private static final ShaderUtil gradientMaskShader = new ShaderUtil("gradientMask"); + + public static void applyGradientHorizontal(float x, float y, float width, float height, float alpha, Color left, Color right, Runnable content) { + applyGradient(x, y, width, height, alpha, left, left, right, right, content); + } + + public static void applyGradient(float x, float y, float width, float height, float alpha, Color bottomLeft, Color topLeft, Color bottomRight, Color topRight, Runnable content) { + GlStateManager.color(1, 1, 1, 1); + GlStateManager.enableBlend(); + GlStateManager.blendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + gradientMaskShader.init(); + + ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft()); + + gradientMaskShader.setUniformf("location", x * sr.getScaleFactor(), (Minecraft.getMinecraft().displayHeight - (height * sr.getScaleFactor())) - (y * sr.getScaleFactor())); + gradientMaskShader.setUniformf("rectSize", width * sr.getScaleFactor(), height * sr.getScaleFactor()); + gradientMaskShader.setUniformf("alpha", alpha); + gradientMaskShader.setUniformi("tex", 0); + // Bottom Left + gradientMaskShader.setUniformf("color1", bottomLeft.getRed() / 255f, bottomLeft.getGreen() / 255f, bottomLeft.getBlue() / 255f); + //Top left + gradientMaskShader.setUniformf("color2", topLeft.getRed() / 255f, topLeft.getGreen() / 255f, topLeft.getBlue() / 255f); + //Bottom Right + gradientMaskShader.setUniformf("color3", bottomRight.getRed() / 255f, bottomRight.getGreen() / 255f, bottomRight.getBlue() / 255f); + //Top Right + gradientMaskShader.setUniformf("color4", topRight.getRed() / 255f, topRight.getGreen() / 255f, topRight.getBlue() / 255f); + + //Apply the gradient to whatever is put here + content.run(); + + gradientMaskShader.unload(); + GlStateManager.disableBlend(); + } + public static void displayFilledRectangle(int x1, int y1, int x2, int y2, Color color) { GL11.glPushMatrix(); @@ -243,7 +286,7 @@ public enum DrawUtils { GL11.glPopMatrix(); } - public static void drawCustomFontChromaString(FontUtils font, String string, int x, int y, boolean static_chroma, boolean shadow) { + public static void drawCustomFontChromaString(Font font, String string, int x, int y, boolean static_chroma, boolean shadow) { Minecraft mc = Minecraft.getMinecraft(); if (static_chroma) { @@ -256,7 +299,7 @@ public enum DrawUtils { int i = Color.HSBtoRGB(l % (int) 2000.0F / 2000.0F, 0.8F, 0.8F); String tmp = String.valueOf(textChar); font.drawString(tmp, xTmp, y, i); - xTmp += font.getStringWidth(tmp); + xTmp += font.width(tmp); } } } diff --git a/src/main/java/rip/athena/client/utils/render/HUDUtil.java b/src/main/java/rip/athena/client/utils/render/HUDUtil.java index e713fd42..8f51f7f7 100644 --- a/src/main/java/rip/athena/client/utils/render/HUDUtil.java +++ b/src/main/java/rip/athena/client/utils/render/HUDUtil.java @@ -9,6 +9,7 @@ import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.BlockPos; import org.lwjgl.opengl.GL11; +import rip.athena.client.Athena; import rip.athena.client.font.FontManager; import rip.athena.client.modules.impl.render.TPS; @@ -25,9 +26,9 @@ public class HUDUtil { if(bG) { if(TPS.backgroundMode.equalsIgnoreCase("Modern")) { - DrawUtils.drawRoundedRect(x, y, x + width, y + height, 4.0f, new Color(50, 50, 50, 255).getRGB()); - DrawUtils.drawRoundedRect(x + 1, y + 1, x + width - 1, y + height - 1, 4.0f, new Color(35, 35, 35, 255).getRGB()); - + RoundedUtils.drawGradientRound(x, y, width, height, 6, Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getFirstColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor(), Athena.INSTANCE.getThemeManager().getTheme().getSecondColor()); + } else if (TPS.backgroundMode.equalsIgnoreCase("Fade")) { + RoundedUtils.drawRoundedRect(x, y, x + width, y + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB()); } else { DrawUtils.displayFilledRectangle(x, y, x+width, y+height, bColor); } diff --git a/src/main/java/rip/athena/client/utils/render/RoundedUtils.java b/src/main/java/rip/athena/client/utils/render/RoundedUtils.java index f3099ab1..170245f8 100644 --- a/src/main/java/rip/athena/client/utils/render/RoundedUtils.java +++ b/src/main/java/rip/athena/client/utils/render/RoundedUtils.java @@ -2,15 +2,52 @@ package rip.athena.client.utils.render; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; import org.lwjgl.opengl.GL11; +import rip.athena.client.utils.shader.ShaderUtil; + +import java.awt.*; + import static org.lwjgl.opengl.GL11.*; public class RoundedUtils { final static Minecraft mc = Minecraft.getMinecraft(); final static FontRenderer fr = mc.fontRendererObj; + private static final ShaderUtil roundedGradientShader = new ShaderUtil("roundedRectGradient"); + + public static void drawGradientRound(float x, float y, float width, float height, float radius, Color bottomLeft, Color topLeft, Color bottomRight, Color topRight) { + GlStateManager.enableAlpha(); + GlStateManager.alphaFunc(GL_GREATER, (float) (0 * .01)); + GlStateManager.color(1, 1, 1, 1); + GlStateManager.enableBlend(); + GlStateManager.blendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + roundedGradientShader.init(); + setupRoundedRectUniforms(x, y, width, height, radius, roundedGradientShader); + //Top left + roundedGradientShader.setUniformf("color1", topLeft.getRed() / 255f, topLeft.getGreen() / 255f, topLeft.getBlue() / 255f, topLeft.getAlpha() / 255f); + // Bottom Left + roundedGradientShader.setUniformf("color2", bottomLeft.getRed() / 255f, bottomLeft.getGreen() / 255f, bottomLeft.getBlue() / 255f, bottomLeft.getAlpha() / 255f); + //Top Right + roundedGradientShader.setUniformf("color3", topRight.getRed() / 255f, topRight.getGreen() / 255f, topRight.getBlue() / 255f, topRight.getAlpha() / 255f); + //Bottom Right + roundedGradientShader.setUniformf("color4", bottomRight.getRed() / 255f, bottomRight.getGreen() / 255f, bottomRight.getBlue() / 255f, bottomRight.getAlpha() / 255f); + ShaderUtil.drawQuads(x - 1, y - 1, width + 2, height + 2); + roundedGradientShader.unload(); + GlStateManager.disableBlend(); + } + + private static void setupRoundedRectUniforms(float x, float y, float width, float height, float radius, ShaderUtil roundedTexturedShader) { + ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft()); + roundedTexturedShader.setUniformf("location", x * sr.getScaleFactor(), + (Minecraft.getMinecraft().displayHeight - (height * sr.getScaleFactor())) - (y * sr.getScaleFactor())); + roundedTexturedShader.setUniformf("rectSize", width * sr.getScaleFactor(), height * sr.getScaleFactor()); + roundedTexturedShader.setUniformf("radius", radius * sr.getScaleFactor()); + } + public static void enableGL2D() { glDisable(GL_DEPTH_TEST); glEnable(GL_BLEND); @@ -112,12 +149,12 @@ public class RoundedUtils { glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y + radius + Math.cos(i * Math.PI / 180.0D) * radius); glEnd(); glEnable(GL_TEXTURE_2D); - glDisable(GL_BLEND); + //glDisable(GL_BLEND); glDisable(GL_LINE_SMOOTH); glDisable(GL_BLEND); glDisable(GL_LINE_SMOOTH); glScaled(2.0D, 2.0D, 2.0D); - glEnable(GL_BLEND); + //glEnable(GL_BLEND); glPopAttrib(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); } diff --git a/src/main/java/rip/athena/client/utils/shader/ShaderUtil.java b/src/main/java/rip/athena/client/utils/shader/ShaderUtil.java new file mode 100644 index 00000000..ee2a5846 --- /dev/null +++ b/src/main/java/rip/athena/client/utils/shader/ShaderUtil.java @@ -0,0 +1,539 @@ +package rip.athena.client.utils.shader; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.util.ResourceLocation; +import rip.athena.client.utils.file.FileHandler; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +import static net.minecraft.client.renderer.OpenGlHelper.glGetProgrami; +import static net.minecraft.client.renderer.OpenGlHelper.glGetShaderi; +import static org.lwjgl.opengl.GL11.*; +import static org.lwjgl.opengl.GL20.*; +import static org.lwjgl.opengl.GL20.GL_LINK_STATUS; + +/** + * @author Athena Development + * @project Athena-Client + * @date 6/8/2023 + */ +public class ShaderUtil { + + private final int programID; + + public ShaderUtil(String fragmentShaderLoc, String vertexShaderLoc) { + int program = glCreateProgram(); + try { + int fragmentShaderID; + switch (fragmentShaderLoc) { + case "kawaseUpGlow": + fragmentShaderID = createShader(new ByteArrayInputStream(kawaseUpGlow.getBytes()), GL_FRAGMENT_SHADER); + break; + case "glow": + fragmentShaderID = createShader(new ByteArrayInputStream(glowShader.getBytes()), GL_FRAGMENT_SHADER); + break; + case "chams": + fragmentShaderID = createShader(new ByteArrayInputStream(chams.getBytes()), GL_FRAGMENT_SHADER); + break; + case "roundRectTexture": + fragmentShaderID = createShader(new ByteArrayInputStream(roundRectTexture.getBytes()), GL_FRAGMENT_SHADER); + break; + case "roundRectOutline": + fragmentShaderID = createShader(new ByteArrayInputStream(roundRectOutline.getBytes()), GL_FRAGMENT_SHADER); + break; + case "kawaseUpBloom": + fragmentShaderID = createShader(new ByteArrayInputStream(kawaseUpBloom.getBytes()), GL_FRAGMENT_SHADER); + break; + case "kawaseDownBloom": + fragmentShaderID = createShader(new ByteArrayInputStream(kawaseDownBloom.getBytes()), GL_FRAGMENT_SHADER); + break; + case "kawaseUp": + fragmentShaderID = createShader(new ByteArrayInputStream(kawaseUp.getBytes()), GL_FRAGMENT_SHADER); + break; + case "kawaseDown": + fragmentShaderID = createShader(new ByteArrayInputStream(kawaseDown.getBytes()), GL_FRAGMENT_SHADER); + break; + case "gradientMask": + fragmentShaderID = createShader(new ByteArrayInputStream(gradientMask.getBytes()), GL_FRAGMENT_SHADER); + break; + case "mask": + fragmentShaderID = createShader(new ByteArrayInputStream(mask.getBytes()), GL_FRAGMENT_SHADER); + break; + case "gradient": + fragmentShaderID = createShader(new ByteArrayInputStream(gradient.getBytes()), GL_FRAGMENT_SHADER); + break; + case "roundedRect": + fragmentShaderID = createShader(new ByteArrayInputStream(roundedRect.getBytes()), GL_FRAGMENT_SHADER); + break; + case "roundedRectGradient": + fragmentShaderID = createShader(new ByteArrayInputStream(roundedRectGradient.getBytes()), GL_FRAGMENT_SHADER); + break; + default: + fragmentShaderID = createShader(Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation(fragmentShaderLoc)).getInputStream(), GL_FRAGMENT_SHADER); + break; + } + glAttachShader(program, fragmentShaderID); + + int vertexShaderID = createShader(Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation(vertexShaderLoc)).getInputStream(), GL_VERTEX_SHADER); + glAttachShader(program, vertexShaderID); + + + } catch (IOException e) { + e.printStackTrace(); + } + + glLinkProgram(program); + int status = glGetProgrami(program, GL_LINK_STATUS); + + if (status == 0) { + throw new IllegalStateException("Shader failed to link!"); + } + this.programID = program; + } + + public ShaderUtil(String fragmentShadersrc, boolean notUsed) { + int program = glCreateProgram(); + int fragmentShaderID = createShader(new ByteArrayInputStream(fragmentShadersrc.getBytes()), GL_FRAGMENT_SHADER); + int vertexShaderID = 0; + try { + vertexShaderID = createShader(Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation("Athena/shaders/vertex.vsh")).getInputStream(), GL_VERTEX_SHADER); + } catch (IOException e) { + throw new RuntimeException(e); + } + + glAttachShader(program, fragmentShaderID); + glAttachShader(program, vertexShaderID); + + + + glLinkProgram(program); + int status = glGetProgrami(program, GL_LINK_STATUS); + if (status == 0) { + throw new IllegalStateException("Shader failed to link!"); + } + this.programID = program; + + } + + public ShaderUtil(String fragmentShaderLoc) { + this(fragmentShaderLoc, "Athena/shaders/vertex.vsh"); + } + + public void init() { + glUseProgram(programID); + } + + public void unload() { + glUseProgram(0); + } + + public int getUniform(String name) { + return glGetUniformLocation(programID, name); + } + + + public void setUniformf(String name, float... args) { + int loc = glGetUniformLocation(programID, name); + switch (args.length) { + case 1: + glUniform1f(loc, args[0]); + break; + case 2: + glUniform2f(loc, args[0], args[1]); + break; + case 3: + glUniform3f(loc, args[0], args[1], args[2]); + break; + case 4: + glUniform4f(loc, args[0], args[1], args[2], args[3]); + break; + } + } + + public void setUniformi(String name, int... args) { + int loc = glGetUniformLocation(programID, name); + if (args.length > 1) glUniform2i(loc, args[0], args[1]); + else glUniform1i(loc, args[0]); + } + + public static void drawQuads(float x, float y, float width, float height) { + glBegin(GL_QUADS); + glTexCoord2f(0, 0); + glVertex2f(x, y); + glTexCoord2f(0, 1); + glVertex2f(x, y + height); + glTexCoord2f(1, 1); + glVertex2f(x + width, y + height); + glTexCoord2f(1, 0); + glVertex2f(x + width, y); + glEnd(); + } + + public static void drawQuads() { + ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft()); + float width = (float) sr.getScaledWidth_double(); + float height = (float) sr.getScaledHeight_double(); + glBegin(GL_QUADS); + glTexCoord2f(0, 1); + glVertex2f(0, 0); + glTexCoord2f(0, 0); + glVertex2f(0, height); + glTexCoord2f(1, 0); + glVertex2f(width, height); + glTexCoord2f(1, 1); + glVertex2f(width, 0); + glEnd(); + } + + public static void drawQuads(float width, float height) { + glBegin(GL_QUADS); + glTexCoord2f(0, 1); + glVertex2f(0, 0); + glTexCoord2f(0, 0); + glVertex2f(0, height); + glTexCoord2f(1, 0); + glVertex2f(width, height); + glTexCoord2f(1, 1); + glVertex2f(width, 0); + glEnd(); + } + + private int createShader(InputStream inputStream, int shaderType) { + int shader = glCreateShader(shaderType); + glShaderSource(shader, FileHandler.readInputStream(inputStream)); + glCompileShader(shader); + + + if (glGetShaderi(shader, GL_COMPILE_STATUS) == 0) { + System.out.println(glGetShaderInfoLog(shader, 4096)); + throw new IllegalStateException(String.format("Shader (%s) failed to compile!", shaderType)); + } + + return shader; + } + + private String kawaseUpGlow = "#version 120\n" + + "\n" + + "uniform sampler2D inTexture, textureToCheck;\n" + + "uniform vec2 halfpixel, offset, iResolution;\n" + + "uniform bool check;\n" + + "uniform float lastPass;\n" + + "uniform float exposure;\n" + + "\n" + + "void main() {\n" + + " if(check && texture2D(textureToCheck, gl_TexCoord[0].st).a != 0.0) discard;\n" + + " vec2 uv = vec2(gl_FragCoord.xy / iResolution);\n" + + "\n" + + " vec4 sum = texture2D(inTexture, uv + vec2(-halfpixel.x * 2.0, 0.0) * offset);\n" + + " sum.rgb *= sum.a;\n" + + " vec4 smpl1 = texture2D(inTexture, uv + vec2(-halfpixel.x, halfpixel.y) * offset);\n" + + " smpl1.rgb *= smpl1.a;\n" + + " sum += smpl1 * 2.0;\n" + + " vec4 smp2 = texture2D(inTexture, uv + vec2(0.0, halfpixel.y * 2.0) * offset);\n" + + " smp2.rgb *= smp2.a;\n" + + " sum += smp2;\n" + + " vec4 smp3 = texture2D(inTexture, uv + vec2(halfpixel.x, halfpixel.y) * offset);\n" + + " smp3.rgb *= smp3.a;\n" + + " sum += smp3 * 2.0;\n" + + " vec4 smp4 = texture2D(inTexture, uv + vec2(halfpixel.x * 2.0, 0.0) * offset);\n" + + " smp4.rgb *= smp4.a;\n" + + " sum += smp4;\n" + + " vec4 smp5 = texture2D(inTexture, uv + vec2(halfpixel.x, -halfpixel.y) * offset);\n" + + " smp5.rgb *= smp5.a;\n" + + " sum += smp5 * 2.0;\n" + + " vec4 smp6 = texture2D(inTexture, uv + vec2(0.0, -halfpixel.y * 2.0) * offset);\n" + + " smp6.rgb *= smp6.a;\n" + + " sum += smp6;\n" + + " vec4 smp7 = texture2D(inTexture, uv + vec2(-halfpixel.x, -halfpixel.y) * offset);\n" + + " smp7.rgb *= smp7.a;\n" + + " sum += smp7 * 2.0;\n" + + " vec4 result = sum / 12.0;\n" + + " gl_FragColor = vec4(result.rgb / result.a, mix(result.a, 1.0 - exp(-result.a * exposure), step(0.0, lastPass)));\n" + + "}"; + + private String glowShader = "#version 120\n" + + "\n" + + "uniform sampler2D textureIn, textureToCheck;\n" + + "uniform vec2 texelSize, direction;\n" + + "uniform vec3 color;\n" + + "uniform bool avoidTexture;\n" + + "uniform float exposure, radius;\n" + + "uniform float weights[256];\n" + + "\n" + + "#define offset direction * texelSize\n" + + "\n" + + "void main() {\n" + + " if (direction.y == 1 && avoidTexture) {\n" + + " if (texture2D(textureToCheck, gl_TexCoord[0].st).a != 0.0) discard;\n" + + " }\n" + + " vec4 innerColor = texture2D(textureIn, gl_TexCoord[0].st);\n" + + " innerColor.rgb *= innerColor.a;\n" + + " innerColor *= weights[0];\n" + + " for (float r = 1.0; r <= radius; r++) {\n" + + " vec4 colorCurrent1 = texture2D(textureIn, gl_TexCoord[0].st + offset * r);\n" + + " vec4 colorCurrent2 = texture2D(textureIn, gl_TexCoord[0].st - offset * r);\n" + + "\n" + + " colorCurrent1.rgb *= colorCurrent1.a;\n" + + " colorCurrent2.rgb *= colorCurrent2.a;\n" + + "\n" + + " innerColor += (colorCurrent1 + colorCurrent2) * weights[int(r)];\n" + + " }\n" + + "\n" + + " gl_FragColor = vec4(innerColor.rgb / innerColor.a, mix(innerColor.a, 1.0 - exp(-innerColor.a * exposure), step(0.0, direction.y)));\n" + + "}\n"; + + private String chams = + "#version 120\n" + + "\n" + + "uniform sampler2D textureIn;\n" + + "uniform vec4 color;\n" + + "void main() {\n" + + " float alpha = texture2D(textureIn, gl_TexCoord[0].st).a;\n" + + + " gl_FragColor = vec4(color.rgb, color.a * mix(0.0, alpha, step(0.0, alpha)));\n" + + "}\n"; + + private String roundRectTexture = "#version 120\n" + + "\n" + + "uniform vec2 location, rectSize;\n" + + "uniform sampler2D textureIn;\n" + + "uniform float radius, alpha;\n" + + "\n" + + "float roundedBoxSDF(vec2 centerPos, vec2 size, float radius) {\n" + + " return length(max(abs(centerPos) -size, 0.)) - radius;\n" + + "}\n" + + "\n" + + "\n" + + "void main() {\n" + + " float distance = roundedBoxSDF((rectSize * .5) - (gl_TexCoord[0].st * rectSize), (rectSize * .5) - radius - 1., radius);\n" + + " float smoothedAlpha = (1.0-smoothstep(0.0, 2.0, distance)) * alpha;\n" + + " gl_FragColor = vec4(texture2D(textureIn, gl_TexCoord[0].st).rgb, smoothedAlpha);\n" + + "}"; + + private String roundRectOutline = "#version 120\n" + + "\n" + + "uniform vec2 location, rectSize;\n" + + "uniform vec4 color, outlineColor;\n" + + "uniform float radius, outlineThickness;\n" + + "\n" + + "float roundedSDF(vec2 centerPos, vec2 size, float radius) {\n" + + " return length(max(abs(centerPos) - size + radius, 0.0)) - radius;\n" + + "}\n" + + "\n" + + "void main() {\n" + + " float distance = roundedSDF(gl_FragCoord.xy - location - (rectSize * .5), (rectSize * .5) + (outlineThickness *.5) - 1.0, radius);\n" + + "\n" + + " float blendAmount = smoothstep(0., 2., abs(distance) - (outlineThickness * .5));\n" + + "\n" + + " vec4 insideColor = (distance < 0.) ? color : vec4(outlineColor.rgb, 0.0);\n" + + " gl_FragColor = mix(outlineColor, insideColor, blendAmount);\n" + + "\n" + + "}"; + + private String kawaseUpBloom = "#version 120\n" + + "\n" + + "uniform sampler2D inTexture, textureToCheck;\n" + + "uniform vec2 halfpixel, offset, iResolution;\n" + + "uniform int check;\n" + + "\n" + + "void main() {\n" + + " // if(check && texture2D(textureToCheck, gl_TexCoord[0].st).a > 0.0) discard;\n" + + " vec2 uv = vec2(gl_FragCoord.xy / iResolution);\n" + + "\n" + + " vec4 sum = texture2D(inTexture, uv + vec2(-halfpixel.x * 2.0, 0.0) * offset);\n" + + " sum.rgb *= sum.a;\n" + + " vec4 smpl1 = texture2D(inTexture, uv + vec2(-halfpixel.x, halfpixel.y) * offset);\n" + + " smpl1.rgb *= smpl1.a;\n" + + " sum += smpl1 * 2.0;\n" + + " vec4 smp2 = texture2D(inTexture, uv + vec2(0.0, halfpixel.y * 2.0) * offset);\n" + + " smp2.rgb *= smp2.a;\n" + + " sum += smp2;\n" + + " vec4 smp3 = texture2D(inTexture, uv + vec2(halfpixel.x, halfpixel.y) * offset);\n" + + " smp3.rgb *= smp3.a;\n" + + " sum += smp3 * 2.0;\n" + + " vec4 smp4 = texture2D(inTexture, uv + vec2(halfpixel.x * 2.0, 0.0) * offset);\n" + + " smp4.rgb *= smp4.a;\n" + + " sum += smp4;\n" + + " vec4 smp5 = texture2D(inTexture, uv + vec2(halfpixel.x, -halfpixel.y) * offset);\n" + + " smp5.rgb *= smp5.a;\n" + + " sum += smp5 * 2.0;\n" + + " vec4 smp6 = texture2D(inTexture, uv + vec2(0.0, -halfpixel.y * 2.0) * offset);\n" + + " smp6.rgb *= smp6.a;\n" + + " sum += smp6;\n" + + " vec4 smp7 = texture2D(inTexture, uv + vec2(-halfpixel.x, -halfpixel.y) * offset);\n" + + " smp7.rgb *= smp7.a;\n" + + " sum += smp7 * 2.0;\n" + + " vec4 result = sum / 12.0;\n" + + " gl_FragColor = vec4(result.rgb / result.a, mix(result.a, result.a * (1.0 - texture2D(textureToCheck, gl_TexCoord[0].st).a),check));\n" + + "}"; + + private String kawaseDownBloom = "#version 120\n" + + "\n" + + "uniform sampler2D inTexture;\n" + + "uniform vec2 offset, halfpixel, iResolution;\n" + + "\n" + + "void main() {\n" + + " vec2 uv = vec2(gl_FragCoord.xy / iResolution);\n" + + " vec4 sum = texture2D(inTexture, gl_TexCoord[0].st);\n" + + " sum.rgb *= sum.a;\n" + + " sum *= 4.0;\n" + + " vec4 smp1 = texture2D(inTexture, uv - halfpixel.xy * offset);\n" + + " smp1.rgb *= smp1.a;\n" + + " sum += smp1;\n" + + " vec4 smp2 = texture2D(inTexture, uv + halfpixel.xy * offset);\n" + + " smp2.rgb *= smp2.a;\n" + + " sum += smp2;\n" + + " vec4 smp3 = texture2D(inTexture, uv + vec2(halfpixel.x, -halfpixel.y) * offset);\n" + + " smp3.rgb *= smp3.a;\n" + + " sum += smp3;\n" + + " vec4 smp4 = texture2D(inTexture, uv - vec2(halfpixel.x, -halfpixel.y) * offset);\n" + + " smp4.rgb *= smp4.a;\n" + + " sum += smp4;\n" + + " vec4 result = sum / 8.0;\n" + + " gl_FragColor = vec4(result.rgb / result.a, result.a);\n" + + "}"; + + private String kawaseUp = "#version 120\n" + + "\n" + + "uniform sampler2D inTexture, textureToCheck;\n" + + "uniform vec2 halfpixel, offset, iResolution;\n" + + "uniform int check;\n" + + "\n" + + "void main() {\n" + + " vec2 uv = vec2(gl_FragCoord.xy / iResolution);\n" + + " vec4 sum = texture2D(inTexture, uv + vec2(-halfpixel.x * 2.0, 0.0) * offset);\n" + + " sum += texture2D(inTexture, uv + vec2(-halfpixel.x, halfpixel.y) * offset) * 2.0;\n" + + " sum += texture2D(inTexture, uv + vec2(0.0, halfpixel.y * 2.0) * offset);\n" + + " sum += texture2D(inTexture, uv + vec2(halfpixel.x, halfpixel.y) * offset) * 2.0;\n" + + " sum += texture2D(inTexture, uv + vec2(halfpixel.x * 2.0, 0.0) * offset);\n" + + " sum += texture2D(inTexture, uv + vec2(halfpixel.x, -halfpixel.y) * offset) * 2.0;\n" + + " sum += texture2D(inTexture, uv + vec2(0.0, -halfpixel.y * 2.0) * offset);\n" + + " sum += texture2D(inTexture, uv + vec2(-halfpixel.x, -halfpixel.y) * offset) * 2.0;\n" + + "\n" + + " gl_FragColor = vec4(sum.rgb /12.0, mix(1.0, texture2D(textureToCheck, gl_TexCoord[0].st).a, check));\n" + + "}\n"; + + private String kawaseDown = "#version 120\n" + + "\n" + + "uniform sampler2D inTexture;\n" + + "uniform vec2 offset, halfpixel, iResolution;\n" + + "\n" + + "void main() {\n" + + " vec2 uv = vec2(gl_FragCoord.xy / iResolution);\n" + + " vec4 sum = texture2D(inTexture, gl_TexCoord[0].st) * 4.0;\n" + + " sum += texture2D(inTexture, uv - halfpixel.xy * offset);\n" + + " sum += texture2D(inTexture, uv + halfpixel.xy * offset);\n" + + " sum += texture2D(inTexture, uv + vec2(halfpixel.x, -halfpixel.y) * offset);\n" + + " sum += texture2D(inTexture, uv - vec2(halfpixel.x, -halfpixel.y) * offset);\n" + + " gl_FragColor = vec4(sum.rgb * .125, 1.0);\n" + + "}\n"; + + private String gradientMask = "#version 120\n" + + "\n" + + "uniform vec2 location, rectSize;\n" + + "uniform sampler2D tex;\n" + + "uniform vec3 color1, color2, color3, color4;\n" + + "uniform float alpha;\n" + + "\n" + + "#define NOISE .5/255.0\n" + + "\n" + + "vec3 createGradient(vec2 coords, vec3 color1, vec3 color2, vec3 color3, vec3 color4){\n" + + " vec3 color = mix(mix(color1.rgb, color2.rgb, coords.y), mix(color3.rgb, color4.rgb, coords.y), coords.x);\n" + + " //Dithering the color from https://shader-tutorial.dev/advanced/color-banding-dithering/\n" + + " color += mix(NOISE, -NOISE, fract(sin(dot(coords.xy, vec2(12.9898,78.233))) * 43758.5453));\n" + + " return color;\n" + + "}\n" + + "\n" + + "void main() {\n" + + " vec2 coords = (gl_FragCoord.xy - location) / rectSize;\n" + + " float texColorAlpha = texture2D(tex, gl_TexCoord[0].st).a;\n" + + " gl_FragColor = vec4(createGradient(coords, color1, color2, color3, color4), texColorAlpha * alpha);\n" + + "}"; + + private String mask = "#version 120\n" + + "\n" + + "uniform vec2 location, rectSize;\n" + + "uniform sampler2D u_texture, u_texture2;\n" + + "void main() {\n" + + " vec2 coords = (gl_FragCoord.xy - location) / rectSize;\n" + + " float texColorAlpha = texture2D(u_texture, gl_TexCoord[0].st).a;\n" + + " vec3 tex2Color = texture2D(u_texture2, gl_TexCoord[0].st).rgb;\n" + + " gl_FragColor = vec4(tex2Color, texColorAlpha);\n" + + "}"; + + + private String gradient = "#version 120\n" + + "\n" + + "uniform vec2 location, rectSize;\n" + + "uniform sampler2D tex;\n" + + "uniform vec4 color1, color2, color3, color4;\n" + + "#define NOISE .5/255.0\n" + + "\n" + + "vec4 createGradient(vec2 coords, vec4 color1, vec4 color2, vec4 color3, vec4 color4){\n" + + " vec4 color = mix(mix(color1, color2, coords.y), mix(color3, color4, coords.y), coords.x);\n" + + " //Dithering the color\n" + + " // from https://shader-tutorial.dev/advanced/color-banding-dithering/\n" + + " color += mix(NOISE, -NOISE, fract(sin(dot(coords.xy, vec2(12.9898, 78.233))) * 43758.5453));\n" + + " return color;\n" + + "}\n" + + "\n" + + "void main() {\n" + + " vec2 coords = (gl_FragCoord.xy - location) / rectSize;\n" + + " gl_FragColor = createGradient(coords, color1, color2, color3, color4);\n" + + "}"; + + private String roundedRectGradient = "#version 120\n" + + "\n" + + "uniform vec2 location, rectSize;\n" + + "uniform vec4 color1, color2, color3, color4;\n" + + "uniform float radius;\n" + + "\n" + + "#define NOISE .5/255.0\n" + + "\n" + + "float roundSDF(vec2 p, vec2 b, float r) {\n" + + " return length(max(abs(p) - b , 0.0)) - r;\n" + + "}\n" + + "\n" + + "vec4 createGradient(vec2 coords, vec4 color1, vec4 color2, vec4 color3, vec4 color4){\n" + + " vec4 color = mix(mix(color1, color2, coords.y), mix(color3, color4, coords.y), coords.x);\n" + + " //Dithering the color\n" + + " // from https://shader-tutorial.dev/advanced/color-banding-dithering/\n" + + " color += mix(NOISE, -NOISE, fract(sin(dot(coords.xy, vec2(12.9898, 78.233))) * 43758.5453));\n" + + " return color;\n" + + "}\n" + + "\n" + + "void main() {\n" + + " vec2 st = gl_TexCoord[0].st;\n" + + " vec2 halfSize = rectSize * .5;\n" + + " \n" + + " // use the bottom leftColor as the alpha\n"+ + " float smoothedAlpha = (1.0-smoothstep(0.0, 2., roundSDF(halfSize - (gl_TexCoord[0].st * rectSize), halfSize - radius - 1., radius)));\n" + + " vec4 gradient = createGradient(st, color1, color2, color3, color4);" + + " gl_FragColor = vec4(gradient.rgb, gradient.a * smoothedAlpha);\n" + + "}"; + + + private String roundedRect = "#version 120\n" + + "\n" + + "uniform vec2 location, rectSize;\n" + + "uniform vec4 color;\n" + + "uniform float radius;\n" + + "uniform bool blur;\n" + + "\n" + + "float roundSDF(vec2 p, vec2 b, float r) {\n" + + " return length(max(abs(p) - b, 0.0)) - r;\n" + + "}\n" + + "\n" + + "\n" + + "void main() {\n" + + " vec2 rectHalf = rectSize * .5;\n" + + " // Smooth the result (free antialiasing).\n" + + " float smoothedAlpha = (1.0-smoothstep(0.0, 1.0, roundSDF(rectHalf - (gl_TexCoord[0].st * rectSize), rectHalf - radius - 1., radius))) * color.a;\n" + + " gl_FragColor = vec4(color.rgb, smoothedAlpha);// mix(quadColor, shadowColor, 0.0);\n" + + "\n" + + "}"; + +} diff --git a/src/main/resources/assets/minecraft/Athena/gui/menu/themes.png b/src/main/resources/assets/minecraft/Athena/gui/menu/themes.png new file mode 100644 index 00000000..3e6c1d00 Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/gui/menu/themes.png differ diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/customtext.png b/src/main/resources/assets/minecraft/Athena/gui/mods/customtext.png new file mode 100644 index 00000000..0ef8754b Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/gui/mods/customtext.png differ diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/entityhud.png b/src/main/resources/assets/minecraft/Athena/gui/mods/entityhud.png new file mode 100644 index 00000000..c472190d Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/gui/mods/entityhud.png differ diff --git a/src/main/resources/assets/minecraft/Athena/logo/pride.png b/src/main/resources/assets/minecraft/Athena/logo/pride.png new file mode 100644 index 00000000..4f4504c4 Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/logo/pride.png differ diff --git a/src/main/resources/assets/minecraft/Athena/menu/test.png b/src/main/resources/assets/minecraft/Athena/menu/test.png new file mode 100644 index 00000000..d5c60758 Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/menu/test.png differ diff --git a/src/main/resources/assets/minecraft/Athena/menu/wallpaper2.png b/src/main/resources/assets/minecraft/Athena/menu/wallpaper2.png new file mode 100644 index 00000000..aa7c3127 Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/menu/wallpaper2.png differ diff --git a/src/main/resources/assets/minecraft/Athena/shaders/vertex.vsh b/src/main/resources/assets/minecraft/Athena/shaders/vertex.vsh new file mode 100644 index 00000000..1eb5182e --- /dev/null +++ b/src/main/resources/assets/minecraft/Athena/shaders/vertex.vsh @@ -0,0 +1,6 @@ +#version 120 + +void main() { + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; +} \ No newline at end of file diff --git a/workspace/assets/skins/10/105974cb598c5ecab2b5bd6a334fc95a2a0891b171727d81f3a4e7fedae7014e b/workspace/assets/skins/10/105974cb598c5ecab2b5bd6a334fc95a2a0891b171727d81f3a4e7fedae7014e new file mode 100644 index 00000000..960b2f9a Binary files /dev/null and b/workspace/assets/skins/10/105974cb598c5ecab2b5bd6a334fc95a2a0891b171727d81f3a4e7fedae7014e differ diff --git a/workspace/assets/skins/11/11260b07d5c7dbbf60791496ede7968fe5b515002009da6b472a1c7b440fe85e b/workspace/assets/skins/11/11260b07d5c7dbbf60791496ede7968fe5b515002009da6b472a1c7b440fe85e new file mode 100644 index 00000000..c2c40c29 Binary files /dev/null and b/workspace/assets/skins/11/11260b07d5c7dbbf60791496ede7968fe5b515002009da6b472a1c7b440fe85e differ diff --git a/workspace/assets/skins/11/1186f67ea413ca0d25089f4eb84af78d9f0d443352547168036f867617541920 b/workspace/assets/skins/11/1186f67ea413ca0d25089f4eb84af78d9f0d443352547168036f867617541920 new file mode 100644 index 00000000..64e9aabb Binary files /dev/null and b/workspace/assets/skins/11/1186f67ea413ca0d25089f4eb84af78d9f0d443352547168036f867617541920 differ diff --git a/workspace/assets/skins/15/156f6170b0ad7ea4d7f9bc3f502fc04d26e514975e1291bce5a28b3a9e25f6c9 b/workspace/assets/skins/15/156f6170b0ad7ea4d7f9bc3f502fc04d26e514975e1291bce5a28b3a9e25f6c9 new file mode 100644 index 00000000..2b8d5954 Binary files /dev/null and b/workspace/assets/skins/15/156f6170b0ad7ea4d7f9bc3f502fc04d26e514975e1291bce5a28b3a9e25f6c9 differ diff --git a/workspace/assets/skins/15/15a73c678e28f6af20373ff36dfe096bc0f75920c45ff3f0210fba29b7fdf1b b/workspace/assets/skins/15/15a73c678e28f6af20373ff36dfe096bc0f75920c45ff3f0210fba29b7fdf1b new file mode 100644 index 00000000..ee404ea4 Binary files /dev/null and b/workspace/assets/skins/15/15a73c678e28f6af20373ff36dfe096bc0f75920c45ff3f0210fba29b7fdf1b differ diff --git a/workspace/assets/skins/15/15c6937cd8a5f81ef6d7c318617c4bbb7de70071a30aa822577436cef233d652 b/workspace/assets/skins/15/15c6937cd8a5f81ef6d7c318617c4bbb7de70071a30aa822577436cef233d652 new file mode 100644 index 00000000..7c70950f Binary files /dev/null and b/workspace/assets/skins/15/15c6937cd8a5f81ef6d7c318617c4bbb7de70071a30aa822577436cef233d652 differ diff --git a/workspace/assets/skins/16/167a4e905feb4cfb4bb08d5fdf2b7292121f442492dc876fb131672bbb9885f7 b/workspace/assets/skins/16/167a4e905feb4cfb4bb08d5fdf2b7292121f442492dc876fb131672bbb9885f7 new file mode 100644 index 00000000..7622ceb9 Binary files /dev/null and b/workspace/assets/skins/16/167a4e905feb4cfb4bb08d5fdf2b7292121f442492dc876fb131672bbb9885f7 differ diff --git a/workspace/assets/skins/16/1683b587105003e5ce7ef063ebc64fda9b010ef786d2344de465df16ad2943a4 b/workspace/assets/skins/16/1683b587105003e5ce7ef063ebc64fda9b010ef786d2344de465df16ad2943a4 new file mode 100644 index 00000000..63d58fa2 Binary files /dev/null and b/workspace/assets/skins/16/1683b587105003e5ce7ef063ebc64fda9b010ef786d2344de465df16ad2943a4 differ diff --git a/workspace/assets/skins/16/16d7485d7c8a2a81645d5c8071188f84ca2dce8ad4b117ea04dab93723d92dce b/workspace/assets/skins/16/16d7485d7c8a2a81645d5c8071188f84ca2dce8ad4b117ea04dab93723d92dce new file mode 100644 index 00000000..187b1023 Binary files /dev/null and b/workspace/assets/skins/16/16d7485d7c8a2a81645d5c8071188f84ca2dce8ad4b117ea04dab93723d92dce differ diff --git a/workspace/assets/skins/16/16db1a23b2853fe70dc0a80eb60533d8b2e7e8235092c273ea98ea907f45cb49 b/workspace/assets/skins/16/16db1a23b2853fe70dc0a80eb60533d8b2e7e8235092c273ea98ea907f45cb49 new file mode 100644 index 00000000..4cc5be64 Binary files /dev/null and b/workspace/assets/skins/16/16db1a23b2853fe70dc0a80eb60533d8b2e7e8235092c273ea98ea907f45cb49 differ diff --git a/workspace/assets/skins/18/182006a0e4be71ee5b99b736826ae80b829990e522989719bad1a9106872765c b/workspace/assets/skins/18/182006a0e4be71ee5b99b736826ae80b829990e522989719bad1a9106872765c new file mode 100644 index 00000000..ff0e5c1b Binary files /dev/null and b/workspace/assets/skins/18/182006a0e4be71ee5b99b736826ae80b829990e522989719bad1a9106872765c differ diff --git a/workspace/assets/skins/18/18a51dbba4daf809dcd2eaa5edaa0ec16da653b29471bc0b96727e8d9b22d539 b/workspace/assets/skins/18/18a51dbba4daf809dcd2eaa5edaa0ec16da653b29471bc0b96727e8d9b22d539 new file mode 100644 index 00000000..6eeb771f Binary files /dev/null and b/workspace/assets/skins/18/18a51dbba4daf809dcd2eaa5edaa0ec16da653b29471bc0b96727e8d9b22d539 differ diff --git a/workspace/assets/skins/1c/1cdcc419996b7e9828c18bbde3ca8f81f76a9fda735c521fc9713a063e77b2d0 b/workspace/assets/skins/1c/1cdcc419996b7e9828c18bbde3ca8f81f76a9fda735c521fc9713a063e77b2d0 new file mode 100644 index 00000000..588d4ec8 Binary files /dev/null and b/workspace/assets/skins/1c/1cdcc419996b7e9828c18bbde3ca8f81f76a9fda735c521fc9713a063e77b2d0 differ diff --git a/workspace/assets/skins/1d/1ddbc04d01daa5c395d948624c20dfb30085831f3f1aabf2602e10beeec74d0 b/workspace/assets/skins/1d/1ddbc04d01daa5c395d948624c20dfb30085831f3f1aabf2602e10beeec74d0 new file mode 100644 index 00000000..fecd62d1 Binary files /dev/null and b/workspace/assets/skins/1d/1ddbc04d01daa5c395d948624c20dfb30085831f3f1aabf2602e10beeec74d0 differ diff --git a/workspace/assets/skins/1e/1e286fdbe671b6f201ecfb5f49a2004ab6e3f34bd8c30a69fa196a8606d82ead b/workspace/assets/skins/1e/1e286fdbe671b6f201ecfb5f49a2004ab6e3f34bd8c30a69fa196a8606d82ead new file mode 100644 index 00000000..b7204216 Binary files /dev/null and b/workspace/assets/skins/1e/1e286fdbe671b6f201ecfb5f49a2004ab6e3f34bd8c30a69fa196a8606d82ead differ diff --git a/workspace/assets/skins/1e/1e60d9290edc89c2f07946f2d6851d55670ac9b517c21e3c5a1842fe11a60704 b/workspace/assets/skins/1e/1e60d9290edc89c2f07946f2d6851d55670ac9b517c21e3c5a1842fe11a60704 new file mode 100644 index 00000000..536ce39d Binary files /dev/null and b/workspace/assets/skins/1e/1e60d9290edc89c2f07946f2d6851d55670ac9b517c21e3c5a1842fe11a60704 differ diff --git a/workspace/assets/skins/1f/1f2ec90632eefe206830fb8edc0165bb7036179cefb4fcbf90de83e6f96217fc b/workspace/assets/skins/1f/1f2ec90632eefe206830fb8edc0165bb7036179cefb4fcbf90de83e6f96217fc new file mode 100644 index 00000000..1e33b751 Binary files /dev/null and b/workspace/assets/skins/1f/1f2ec90632eefe206830fb8edc0165bb7036179cefb4fcbf90de83e6f96217fc differ diff --git a/workspace/assets/skins/1f/1f4dd8bfd50dc89943dcf9782129220562c89c680df31295e669b666c2febc2 b/workspace/assets/skins/1f/1f4dd8bfd50dc89943dcf9782129220562c89c680df31295e669b666c2febc2 new file mode 100644 index 00000000..9df01253 Binary files /dev/null and b/workspace/assets/skins/1f/1f4dd8bfd50dc89943dcf9782129220562c89c680df31295e669b666c2febc2 differ diff --git a/workspace/assets/skins/21/21b2cbe51e308ec3113bbe61077b1847bda598b26ee4c4c52c8d97657a09469c b/workspace/assets/skins/21/21b2cbe51e308ec3113bbe61077b1847bda598b26ee4c4c52c8d97657a09469c new file mode 100644 index 00000000..6fdca932 Binary files /dev/null and b/workspace/assets/skins/21/21b2cbe51e308ec3113bbe61077b1847bda598b26ee4c4c52c8d97657a09469c differ diff --git a/workspace/assets/skins/23/23d96d47ebbcd5567c708d45787338686449b7473c49dd7a4bf5dae39016bc50 b/workspace/assets/skins/23/23d96d47ebbcd5567c708d45787338686449b7473c49dd7a4bf5dae39016bc50 new file mode 100644 index 00000000..5e7d3f9b Binary files /dev/null and b/workspace/assets/skins/23/23d96d47ebbcd5567c708d45787338686449b7473c49dd7a4bf5dae39016bc50 differ diff --git a/workspace/assets/skins/24/245ca2fb3e5d6f33853dbeb8f032f3af7a82475f6a7b0c2b95a4310e7dfb1f3c b/workspace/assets/skins/24/245ca2fb3e5d6f33853dbeb8f032f3af7a82475f6a7b0c2b95a4310e7dfb1f3c new file mode 100644 index 00000000..58616d71 Binary files /dev/null and b/workspace/assets/skins/24/245ca2fb3e5d6f33853dbeb8f032f3af7a82475f6a7b0c2b95a4310e7dfb1f3c differ diff --git a/workspace/assets/skins/24/24caef008db1c8b9e8c6d7eeeacf495104998bb6bc60d073e0832c64fdd1537a b/workspace/assets/skins/24/24caef008db1c8b9e8c6d7eeeacf495104998bb6bc60d073e0832c64fdd1537a new file mode 100644 index 00000000..fd81449a Binary files /dev/null and b/workspace/assets/skins/24/24caef008db1c8b9e8c6d7eeeacf495104998bb6bc60d073e0832c64fdd1537a differ diff --git a/workspace/assets/skins/24/24d06a73207976205e4b2bd7b06f8f556268012254810afe68a380e9f57b6b68 b/workspace/assets/skins/24/24d06a73207976205e4b2bd7b06f8f556268012254810afe68a380e9f57b6b68 new file mode 100644 index 00000000..6c9ef04a Binary files /dev/null and b/workspace/assets/skins/24/24d06a73207976205e4b2bd7b06f8f556268012254810afe68a380e9f57b6b68 differ diff --git a/workspace/assets/skins/25/25c7e7acf8b1536959c0d50ad6a2481db5fb35434ef0a2c0fe5f36cc72420697 b/workspace/assets/skins/25/25c7e7acf8b1536959c0d50ad6a2481db5fb35434ef0a2c0fe5f36cc72420697 new file mode 100644 index 00000000..29c5490c Binary files /dev/null and b/workspace/assets/skins/25/25c7e7acf8b1536959c0d50ad6a2481db5fb35434ef0a2c0fe5f36cc72420697 differ diff --git a/workspace/assets/skins/25/25e595761afefde74eb062ca9be70f3ba3b241536ce27bb82c1e8e8ea171491e b/workspace/assets/skins/25/25e595761afefde74eb062ca9be70f3ba3b241536ce27bb82c1e8e8ea171491e new file mode 100644 index 00000000..3b47c595 Binary files /dev/null and b/workspace/assets/skins/25/25e595761afefde74eb062ca9be70f3ba3b241536ce27bb82c1e8e8ea171491e differ diff --git a/workspace/assets/skins/27/27d33e39a32c13b5dd68cd350033184758b68c2b0c2595c9337082451f7e5e8 b/workspace/assets/skins/27/27d33e39a32c13b5dd68cd350033184758b68c2b0c2595c9337082451f7e5e8 new file mode 100644 index 00000000..fd7ec791 Binary files /dev/null and b/workspace/assets/skins/27/27d33e39a32c13b5dd68cd350033184758b68c2b0c2595c9337082451f7e5e8 differ diff --git a/workspace/assets/skins/29/2901bf8625bfd140881f07fb53c21051394713dbed5cb8f70142b4f404060188 b/workspace/assets/skins/29/2901bf8625bfd140881f07fb53c21051394713dbed5cb8f70142b4f404060188 new file mode 100644 index 00000000..a0132740 Binary files /dev/null and b/workspace/assets/skins/29/2901bf8625bfd140881f07fb53c21051394713dbed5cb8f70142b4f404060188 differ diff --git a/workspace/assets/skins/29/29d6fd494e550051d5cf69a0c77a83f96ff85fdb106ed7ee7c42e8fea0b21831 b/workspace/assets/skins/29/29d6fd494e550051d5cf69a0c77a83f96ff85fdb106ed7ee7c42e8fea0b21831 new file mode 100644 index 00000000..609c3863 Binary files /dev/null and b/workspace/assets/skins/29/29d6fd494e550051d5cf69a0c77a83f96ff85fdb106ed7ee7c42e8fea0b21831 differ diff --git a/workspace/assets/skins/2a/2aad97659f256f842acc5fc73ecc45a92ddd14bcc32455fb41ec28011b12ff48 b/workspace/assets/skins/2a/2aad97659f256f842acc5fc73ecc45a92ddd14bcc32455fb41ec28011b12ff48 new file mode 100644 index 00000000..88303fdf Binary files /dev/null and b/workspace/assets/skins/2a/2aad97659f256f842acc5fc73ecc45a92ddd14bcc32455fb41ec28011b12ff48 differ diff --git a/workspace/assets/skins/2b/2bd76ba841fc29d84c57f9300e61e2dfc97af815300b4b0af00c7df20b9ac63 b/workspace/assets/skins/2b/2bd76ba841fc29d84c57f9300e61e2dfc97af815300b4b0af00c7df20b9ac63 new file mode 100644 index 00000000..c9942e53 Binary files /dev/null and b/workspace/assets/skins/2b/2bd76ba841fc29d84c57f9300e61e2dfc97af815300b4b0af00c7df20b9ac63 differ diff --git a/workspace/assets/skins/2c/2cb2bb0e2d8395b4d783c715a9fb99911178327e779022a9a5e51c2e6ef62fff b/workspace/assets/skins/2c/2cb2bb0e2d8395b4d783c715a9fb99911178327e779022a9a5e51c2e6ef62fff new file mode 100644 index 00000000..97d43771 Binary files /dev/null and b/workspace/assets/skins/2c/2cb2bb0e2d8395b4d783c715a9fb99911178327e779022a9a5e51c2e6ef62fff differ diff --git a/workspace/assets/skins/2d/2d8f159aded11c12359dbc6e7a96e58de33c3f1c4374f28917a38c039a0ea626 b/workspace/assets/skins/2d/2d8f159aded11c12359dbc6e7a96e58de33c3f1c4374f28917a38c039a0ea626 new file mode 100644 index 00000000..a8afa0db Binary files /dev/null and b/workspace/assets/skins/2d/2d8f159aded11c12359dbc6e7a96e58de33c3f1c4374f28917a38c039a0ea626 differ diff --git a/workspace/assets/skins/2e/2e00120fec50f2838d2d34116d772f18fd59cbee07f8f7a9211f1492817ed37a b/workspace/assets/skins/2e/2e00120fec50f2838d2d34116d772f18fd59cbee07f8f7a9211f1492817ed37a new file mode 100644 index 00000000..d0dcaa47 Binary files /dev/null and b/workspace/assets/skins/2e/2e00120fec50f2838d2d34116d772f18fd59cbee07f8f7a9211f1492817ed37a differ diff --git a/workspace/assets/skins/30/30499fecfe3742ca68e610fb94b843de0687d28a0571b79cc316fabe38a2f839 b/workspace/assets/skins/30/30499fecfe3742ca68e610fb94b843de0687d28a0571b79cc316fabe38a2f839 new file mode 100644 index 00000000..b0f2192d Binary files /dev/null and b/workspace/assets/skins/30/30499fecfe3742ca68e610fb94b843de0687d28a0571b79cc316fabe38a2f839 differ diff --git a/workspace/assets/skins/31/3105e48c3db1732e2292d310ea02059bffe272580c7bef73b3ed38266d1228bc b/workspace/assets/skins/31/3105e48c3db1732e2292d310ea02059bffe272580c7bef73b3ed38266d1228bc new file mode 100644 index 00000000..44fa724c Binary files /dev/null and b/workspace/assets/skins/31/3105e48c3db1732e2292d310ea02059bffe272580c7bef73b3ed38266d1228bc differ diff --git a/workspace/assets/skins/31/31a1ae9baa8440de288b74fe1d6a221c2bc278346d239c66cdff782bef2075de b/workspace/assets/skins/31/31a1ae9baa8440de288b74fe1d6a221c2bc278346d239c66cdff782bef2075de new file mode 100644 index 00000000..44e1e765 Binary files /dev/null and b/workspace/assets/skins/31/31a1ae9baa8440de288b74fe1d6a221c2bc278346d239c66cdff782bef2075de differ diff --git a/workspace/assets/skins/34/342f0b5467bbef080159899239ad4a7d1c6f4953be527b5a2e5d302cf0a64301 b/workspace/assets/skins/34/342f0b5467bbef080159899239ad4a7d1c6f4953be527b5a2e5d302cf0a64301 new file mode 100644 index 00000000..0c898048 Binary files /dev/null and b/workspace/assets/skins/34/342f0b5467bbef080159899239ad4a7d1c6f4953be527b5a2e5d302cf0a64301 differ diff --git a/workspace/assets/skins/34/349a96637d498dc54b2157ec7d5d92a64e382a630368b9f52350dbc1d11c007c b/workspace/assets/skins/34/349a96637d498dc54b2157ec7d5d92a64e382a630368b9f52350dbc1d11c007c new file mode 100644 index 00000000..10dc692f Binary files /dev/null and b/workspace/assets/skins/34/349a96637d498dc54b2157ec7d5d92a64e382a630368b9f52350dbc1d11c007c differ diff --git a/workspace/assets/skins/34/34b12dd2d99c47e1913c4b1d4d9faf69ad61e95ae27cd4e9f9fe5e30a6343a16 b/workspace/assets/skins/34/34b12dd2d99c47e1913c4b1d4d9faf69ad61e95ae27cd4e9f9fe5e30a6343a16 new file mode 100644 index 00000000..44c94790 Binary files /dev/null and b/workspace/assets/skins/34/34b12dd2d99c47e1913c4b1d4d9faf69ad61e95ae27cd4e9f9fe5e30a6343a16 differ diff --git a/workspace/assets/skins/35/35b15671d4528cc0a28764ca45ccc13e2b23ff748c6af51896220485a1e60872 b/workspace/assets/skins/35/35b15671d4528cc0a28764ca45ccc13e2b23ff748c6af51896220485a1e60872 new file mode 100644 index 00000000..56af0bd9 Binary files /dev/null and b/workspace/assets/skins/35/35b15671d4528cc0a28764ca45ccc13e2b23ff748c6af51896220485a1e60872 differ diff --git a/workspace/assets/skins/38/384d6ea3cd5c56c9c1b6ec25b9a114828f5ba497d49d32274870477b8aa63476 b/workspace/assets/skins/38/384d6ea3cd5c56c9c1b6ec25b9a114828f5ba497d49d32274870477b8aa63476 new file mode 100644 index 00000000..6c2f0641 Binary files /dev/null and b/workspace/assets/skins/38/384d6ea3cd5c56c9c1b6ec25b9a114828f5ba497d49d32274870477b8aa63476 differ diff --git a/workspace/assets/skins/3a/3af727d9e7033df68564bacaaa803c0c4a10d5f9a5fd2bafce31996702f7a9fd b/workspace/assets/skins/3a/3af727d9e7033df68564bacaaa803c0c4a10d5f9a5fd2bafce31996702f7a9fd new file mode 100644 index 00000000..f7ae2cfa Binary files /dev/null and b/workspace/assets/skins/3a/3af727d9e7033df68564bacaaa803c0c4a10d5f9a5fd2bafce31996702f7a9fd differ diff --git a/workspace/assets/skins/3c/3c8912cf972a82cda423ef4d2b566ef8f1bc2b1e90b3fabf24a2c9fcbcdb4585 b/workspace/assets/skins/3c/3c8912cf972a82cda423ef4d2b566ef8f1bc2b1e90b3fabf24a2c9fcbcdb4585 new file mode 100644 index 00000000..7cef648d Binary files /dev/null and b/workspace/assets/skins/3c/3c8912cf972a82cda423ef4d2b566ef8f1bc2b1e90b3fabf24a2c9fcbcdb4585 differ diff --git a/workspace/assets/skins/41/411ece0db9d4ae9b2e6f2ffe206a0c20c2dc5ee3378b62dcdae624e9faef199d b/workspace/assets/skins/41/411ece0db9d4ae9b2e6f2ffe206a0c20c2dc5ee3378b62dcdae624e9faef199d new file mode 100644 index 00000000..eed083a9 Binary files /dev/null and b/workspace/assets/skins/41/411ece0db9d4ae9b2e6f2ffe206a0c20c2dc5ee3378b62dcdae624e9faef199d differ diff --git a/workspace/assets/skins/42/42511a9a4e6bee5741d74f0b09ab582d166a9a7b3aa08e6557d80e78ad675b00 b/workspace/assets/skins/42/42511a9a4e6bee5741d74f0b09ab582d166a9a7b3aa08e6557d80e78ad675b00 new file mode 100644 index 00000000..21e4cddc Binary files /dev/null and b/workspace/assets/skins/42/42511a9a4e6bee5741d74f0b09ab582d166a9a7b3aa08e6557d80e78ad675b00 differ diff --git a/workspace/assets/skins/42/42b44754364e7e22176300a849cec798c6f02da94425ec41dad0134100fb6956 b/workspace/assets/skins/42/42b44754364e7e22176300a849cec798c6f02da94425ec41dad0134100fb6956 new file mode 100644 index 00000000..b14479a3 Binary files /dev/null and b/workspace/assets/skins/42/42b44754364e7e22176300a849cec798c6f02da94425ec41dad0134100fb6956 differ diff --git a/workspace/assets/skins/43/43189e54ec64847057dad5ae2cb78f72e00b3d11aeeeefab7235484cdfe6c06e b/workspace/assets/skins/43/43189e54ec64847057dad5ae2cb78f72e00b3d11aeeeefab7235484cdfe6c06e new file mode 100644 index 00000000..efbd4181 Binary files /dev/null and b/workspace/assets/skins/43/43189e54ec64847057dad5ae2cb78f72e00b3d11aeeeefab7235484cdfe6c06e differ diff --git a/workspace/assets/skins/44/441d3912135833ddf0256839e87d105592c05f7d6b6c9e5d5ec05ca276d5e115 b/workspace/assets/skins/44/441d3912135833ddf0256839e87d105592c05f7d6b6c9e5d5ec05ca276d5e115 new file mode 100644 index 00000000..6ca1c809 Binary files /dev/null and b/workspace/assets/skins/44/441d3912135833ddf0256839e87d105592c05f7d6b6c9e5d5ec05ca276d5e115 differ diff --git a/workspace/assets/skins/44/444e81d33d9ada8d83f1959dfc4c06ec7f56e7871001231876dcfa345fe41192 b/workspace/assets/skins/44/444e81d33d9ada8d83f1959dfc4c06ec7f56e7871001231876dcfa345fe41192 new file mode 100644 index 00000000..6458de0d Binary files /dev/null and b/workspace/assets/skins/44/444e81d33d9ada8d83f1959dfc4c06ec7f56e7871001231876dcfa345fe41192 differ diff --git a/workspace/assets/skins/44/44792467d159498e72bbdc1782e43c477d83206a482caae121e5d09b2dd0b0c9 b/workspace/assets/skins/44/44792467d159498e72bbdc1782e43c477d83206a482caae121e5d09b2dd0b0c9 new file mode 100644 index 00000000..b31da81e Binary files /dev/null and b/workspace/assets/skins/44/44792467d159498e72bbdc1782e43c477d83206a482caae121e5d09b2dd0b0c9 differ diff --git a/workspace/assets/skins/45/451b97e0182b655ba6eb5a6b42df9dcc2d12fd4026fd72920278a0df7673de63 b/workspace/assets/skins/45/451b97e0182b655ba6eb5a6b42df9dcc2d12fd4026fd72920278a0df7673de63 new file mode 100644 index 00000000..6ce75e0a Binary files /dev/null and b/workspace/assets/skins/45/451b97e0182b655ba6eb5a6b42df9dcc2d12fd4026fd72920278a0df7673de63 differ diff --git a/workspace/assets/skins/45/454adaa5babd0ebb85febb933533c0fd53d15431ab9fce036a2744de75181ac2 b/workspace/assets/skins/45/454adaa5babd0ebb85febb933533c0fd53d15431ab9fce036a2744de75181ac2 new file mode 100644 index 00000000..d9fe8b3f Binary files /dev/null and b/workspace/assets/skins/45/454adaa5babd0ebb85febb933533c0fd53d15431ab9fce036a2744de75181ac2 differ diff --git a/workspace/assets/skins/47/478253c4c5f653966fd37b941895d01e005505d9fc6d6a855cccc2d10665f427 b/workspace/assets/skins/47/478253c4c5f653966fd37b941895d01e005505d9fc6d6a855cccc2d10665f427 new file mode 100644 index 00000000..e98e054f Binary files /dev/null and b/workspace/assets/skins/47/478253c4c5f653966fd37b941895d01e005505d9fc6d6a855cccc2d10665f427 differ diff --git a/workspace/assets/skins/48/482dedbf1941da5d6e79f6289c433aa8178a0d0dc2bc1efb79dc1224fad2f2ea b/workspace/assets/skins/48/482dedbf1941da5d6e79f6289c433aa8178a0d0dc2bc1efb79dc1224fad2f2ea new file mode 100644 index 00000000..d002ad4a Binary files /dev/null and b/workspace/assets/skins/48/482dedbf1941da5d6e79f6289c433aa8178a0d0dc2bc1efb79dc1224fad2f2ea differ diff --git a/workspace/assets/skins/49/494ed9b42b53695dd638c14e6736e867465fece1a02fead2791ed31641fd7ec5 b/workspace/assets/skins/49/494ed9b42b53695dd638c14e6736e867465fece1a02fead2791ed31641fd7ec5 new file mode 100644 index 00000000..4baaa291 Binary files /dev/null and b/workspace/assets/skins/49/494ed9b42b53695dd638c14e6736e867465fece1a02fead2791ed31641fd7ec5 differ diff --git a/workspace/assets/skins/49/4983aab68ddad245a99b5e36d66ddf2c5d2a16162db26eb8cfdde4fc65bd654a b/workspace/assets/skins/49/4983aab68ddad245a99b5e36d66ddf2c5d2a16162db26eb8cfdde4fc65bd654a new file mode 100644 index 00000000..32d267fd Binary files /dev/null and b/workspace/assets/skins/49/4983aab68ddad245a99b5e36d66ddf2c5d2a16162db26eb8cfdde4fc65bd654a differ diff --git a/workspace/assets/skins/49/49c331cddb8c49e95d4793f7fb15f9255942d9ee6b8dc48edad7adeb74d913fb b/workspace/assets/skins/49/49c331cddb8c49e95d4793f7fb15f9255942d9ee6b8dc48edad7adeb74d913fb new file mode 100644 index 00000000..e7c751a9 Binary files /dev/null and b/workspace/assets/skins/49/49c331cddb8c49e95d4793f7fb15f9255942d9ee6b8dc48edad7adeb74d913fb differ diff --git a/workspace/assets/skins/49/49e54d8c26f3da75ad98aae926ca711eb4cce9ea6cda06923791b494af0a998c b/workspace/assets/skins/49/49e54d8c26f3da75ad98aae926ca711eb4cce9ea6cda06923791b494af0a998c new file mode 100644 index 00000000..98765945 Binary files /dev/null and b/workspace/assets/skins/49/49e54d8c26f3da75ad98aae926ca711eb4cce9ea6cda06923791b494af0a998c differ diff --git a/workspace/assets/skins/4a/4a77bdc4a771bf74379fb2efe6c8c5f7249b29fb1cfda53b6a1f7a6d6bd7737 b/workspace/assets/skins/4a/4a77bdc4a771bf74379fb2efe6c8c5f7249b29fb1cfda53b6a1f7a6d6bd7737 new file mode 100644 index 00000000..585f8f5b Binary files /dev/null and b/workspace/assets/skins/4a/4a77bdc4a771bf74379fb2efe6c8c5f7249b29fb1cfda53b6a1f7a6d6bd7737 differ diff --git a/workspace/assets/skins/4a/4a77db5a5ccd00d44b54c6483ce854a9076a058116bdcdddeb539f5de6db719f b/workspace/assets/skins/4a/4a77db5a5ccd00d44b54c6483ce854a9076a058116bdcdddeb539f5de6db719f new file mode 100644 index 00000000..3204b7ec Binary files /dev/null and b/workspace/assets/skins/4a/4a77db5a5ccd00d44b54c6483ce854a9076a058116bdcdddeb539f5de6db719f differ diff --git a/workspace/assets/skins/4a/4ae3f769bf2f602029bef69e90eb73b7b1a92babb416f428366a05d5d11bacde b/workspace/assets/skins/4a/4ae3f769bf2f602029bef69e90eb73b7b1a92babb416f428366a05d5d11bacde new file mode 100644 index 00000000..45082e7f Binary files /dev/null and b/workspace/assets/skins/4a/4ae3f769bf2f602029bef69e90eb73b7b1a92babb416f428366a05d5d11bacde differ diff --git a/workspace/assets/skins/4c/4c730211dbc1190c27fc79cbfa1f85e736655c92f33976d1eabf78cc4c6ed0f6 b/workspace/assets/skins/4c/4c730211dbc1190c27fc79cbfa1f85e736655c92f33976d1eabf78cc4c6ed0f6 new file mode 100644 index 00000000..080c9cd3 Binary files /dev/null and b/workspace/assets/skins/4c/4c730211dbc1190c27fc79cbfa1f85e736655c92f33976d1eabf78cc4c6ed0f6 differ diff --git a/workspace/assets/skins/4e/4ea85cf2533f0ddf56bb404d684b7a5ca5f799af27f6f0fa81d60962ea9a769c b/workspace/assets/skins/4e/4ea85cf2533f0ddf56bb404d684b7a5ca5f799af27f6f0fa81d60962ea9a769c new file mode 100644 index 00000000..724500d6 Binary files /dev/null and b/workspace/assets/skins/4e/4ea85cf2533f0ddf56bb404d684b7a5ca5f799af27f6f0fa81d60962ea9a769c differ diff --git a/workspace/assets/skins/50/50064a7bb5e251046e6439be1f4b71456dfa81750d9a3de465b5d7528a273ea4 b/workspace/assets/skins/50/50064a7bb5e251046e6439be1f4b71456dfa81750d9a3de465b5d7528a273ea4 new file mode 100644 index 00000000..3e787db6 Binary files /dev/null and b/workspace/assets/skins/50/50064a7bb5e251046e6439be1f4b71456dfa81750d9a3de465b5d7528a273ea4 differ diff --git a/workspace/assets/skins/50/50a805d763ef5170140b9b73d97c70ba8a588e59de2f499780596d3231e73df1 b/workspace/assets/skins/50/50a805d763ef5170140b9b73d97c70ba8a588e59de2f499780596d3231e73df1 new file mode 100644 index 00000000..aec097d5 Binary files /dev/null and b/workspace/assets/skins/50/50a805d763ef5170140b9b73d97c70ba8a588e59de2f499780596d3231e73df1 differ diff --git a/workspace/assets/skins/50/50ed567f3b5d696ffffc94a258c59b5de5f343b81fe16988405f654a12fed4e8 b/workspace/assets/skins/50/50ed567f3b5d696ffffc94a258c59b5de5f343b81fe16988405f654a12fed4e8 new file mode 100644 index 00000000..13f4a2ab Binary files /dev/null and b/workspace/assets/skins/50/50ed567f3b5d696ffffc94a258c59b5de5f343b81fe16988405f654a12fed4e8 differ diff --git a/workspace/assets/skins/51/516d75d779cae67274449fd4869cec37234cc9e2dfaae65d57bcc0cd8c96892b b/workspace/assets/skins/51/516d75d779cae67274449fd4869cec37234cc9e2dfaae65d57bcc0cd8c96892b new file mode 100644 index 00000000..96e7644b Binary files /dev/null and b/workspace/assets/skins/51/516d75d779cae67274449fd4869cec37234cc9e2dfaae65d57bcc0cd8c96892b differ diff --git a/workspace/assets/skins/53/532b2c9ff32bd731dda915adb34027346a96aa6d65f295c0526fd18d37411278 b/workspace/assets/skins/53/532b2c9ff32bd731dda915adb34027346a96aa6d65f295c0526fd18d37411278 new file mode 100644 index 00000000..6ea5390a Binary files /dev/null and b/workspace/assets/skins/53/532b2c9ff32bd731dda915adb34027346a96aa6d65f295c0526fd18d37411278 differ diff --git a/workspace/assets/skins/54/547db2f0944ddb8d5b4869e8f962c9b0119298b3b5bcd6ebeb34941560b66875 b/workspace/assets/skins/54/547db2f0944ddb8d5b4869e8f962c9b0119298b3b5bcd6ebeb34941560b66875 new file mode 100644 index 00000000..7cd2ad7d Binary files /dev/null and b/workspace/assets/skins/54/547db2f0944ddb8d5b4869e8f962c9b0119298b3b5bcd6ebeb34941560b66875 differ diff --git a/workspace/assets/skins/54/54970f42fe32e7f4f8160d82ae47ca800ace53e9daab695d7bd5533ced8c311f b/workspace/assets/skins/54/54970f42fe32e7f4f8160d82ae47ca800ace53e9daab695d7bd5533ced8c311f new file mode 100644 index 00000000..bf076783 Binary files /dev/null and b/workspace/assets/skins/54/54970f42fe32e7f4f8160d82ae47ca800ace53e9daab695d7bd5533ced8c311f differ diff --git a/workspace/assets/skins/57/5748efbb75f3e46943a346bbd592e987b3ea16085f0fade6bbc159b143e28de b/workspace/assets/skins/57/5748efbb75f3e46943a346bbd592e987b3ea16085f0fade6bbc159b143e28de new file mode 100644 index 00000000..549cbb21 Binary files /dev/null and b/workspace/assets/skins/57/5748efbb75f3e46943a346bbd592e987b3ea16085f0fade6bbc159b143e28de differ diff --git a/workspace/assets/skins/57/5776b73da3ec304c75a395b055a481bef39e23a0b40e444a38e06655cae8439c b/workspace/assets/skins/57/5776b73da3ec304c75a395b055a481bef39e23a0b40e444a38e06655cae8439c new file mode 100644 index 00000000..44ca9006 Binary files /dev/null and b/workspace/assets/skins/57/5776b73da3ec304c75a395b055a481bef39e23a0b40e444a38e06655cae8439c differ diff --git a/workspace/assets/skins/58/58b76d000e9b8a87c287b2eb2ba394c2a04128b3072e35c5d4160fffff2f5a86 b/workspace/assets/skins/58/58b76d000e9b8a87c287b2eb2ba394c2a04128b3072e35c5d4160fffff2f5a86 new file mode 100644 index 00000000..2905578d Binary files /dev/null and b/workspace/assets/skins/58/58b76d000e9b8a87c287b2eb2ba394c2a04128b3072e35c5d4160fffff2f5a86 differ diff --git a/workspace/assets/skins/5a/5a47bda2b5e2476a2036ff419c9576f83507fc4635287b91f3d08319e96bc64b b/workspace/assets/skins/5a/5a47bda2b5e2476a2036ff419c9576f83507fc4635287b91f3d08319e96bc64b new file mode 100644 index 00000000..0f20b2d0 Binary files /dev/null and b/workspace/assets/skins/5a/5a47bda2b5e2476a2036ff419c9576f83507fc4635287b91f3d08319e96bc64b differ diff --git a/workspace/assets/skins/5a/5a4c8a068052b4431bf70ace133a12738350909f1759e091e19ecf827b60b35b b/workspace/assets/skins/5a/5a4c8a068052b4431bf70ace133a12738350909f1759e091e19ecf827b60b35b new file mode 100644 index 00000000..2bb7344b Binary files /dev/null and b/workspace/assets/skins/5a/5a4c8a068052b4431bf70ace133a12738350909f1759e091e19ecf827b60b35b differ diff --git a/workspace/assets/skins/5b/5b3846c8f6bc81bc168abde1b27da75eab4025ab8540c6038869689084661623 b/workspace/assets/skins/5b/5b3846c8f6bc81bc168abde1b27da75eab4025ab8540c6038869689084661623 new file mode 100644 index 00000000..eef2b1fc Binary files /dev/null and b/workspace/assets/skins/5b/5b3846c8f6bc81bc168abde1b27da75eab4025ab8540c6038869689084661623 differ diff --git a/workspace/assets/skins/5b/5b5b79ab0ff56591227d16da264cad582caa94032f2370fed7cfa5654d617f65 b/workspace/assets/skins/5b/5b5b79ab0ff56591227d16da264cad582caa94032f2370fed7cfa5654d617f65 new file mode 100644 index 00000000..c7905a8a Binary files /dev/null and b/workspace/assets/skins/5b/5b5b79ab0ff56591227d16da264cad582caa94032f2370fed7cfa5654d617f65 differ diff --git a/workspace/assets/skins/5e/5e36c4c592c248c0aae218e6538fa40820ea4d9f689dae199ad6960f9657db2e b/workspace/assets/skins/5e/5e36c4c592c248c0aae218e6538fa40820ea4d9f689dae199ad6960f9657db2e new file mode 100644 index 00000000..a5bfb23f Binary files /dev/null and b/workspace/assets/skins/5e/5e36c4c592c248c0aae218e6538fa40820ea4d9f689dae199ad6960f9657db2e differ diff --git a/workspace/assets/skins/61/61525946f99a5ba0fac358a16817407254b049bef54ae048c3e914d52db68561 b/workspace/assets/skins/61/61525946f99a5ba0fac358a16817407254b049bef54ae048c3e914d52db68561 new file mode 100644 index 00000000..ef68ad9b Binary files /dev/null and b/workspace/assets/skins/61/61525946f99a5ba0fac358a16817407254b049bef54ae048c3e914d52db68561 differ diff --git a/workspace/assets/skins/66/66e2de9869cf49646cf640bde6d76f85ca10ee81f543c9bed60abbe6ce3af3dc b/workspace/assets/skins/66/66e2de9869cf49646cf640bde6d76f85ca10ee81f543c9bed60abbe6ce3af3dc new file mode 100644 index 00000000..6850b940 Binary files /dev/null and b/workspace/assets/skins/66/66e2de9869cf49646cf640bde6d76f85ca10ee81f543c9bed60abbe6ce3af3dc differ diff --git a/workspace/assets/skins/68/685c65b23b7c40256a7814611a11e9cc02dfc0f51ad8f47fd0e408b566e95e64 b/workspace/assets/skins/68/685c65b23b7c40256a7814611a11e9cc02dfc0f51ad8f47fd0e408b566e95e64 new file mode 100644 index 00000000..9b1e692d Binary files /dev/null and b/workspace/assets/skins/68/685c65b23b7c40256a7814611a11e9cc02dfc0f51ad8f47fd0e408b566e95e64 differ diff --git a/workspace/assets/skins/68/68fe2e127bae9d737f18076b908debb7144d66e19943151fc7e322e1dcd9e979 b/workspace/assets/skins/68/68fe2e127bae9d737f18076b908debb7144d66e19943151fc7e322e1dcd9e979 new file mode 100644 index 00000000..a58e306e Binary files /dev/null and b/workspace/assets/skins/68/68fe2e127bae9d737f18076b908debb7144d66e19943151fc7e322e1dcd9e979 differ diff --git a/workspace/assets/skins/6b/6bd8fd13e72cebe375bf87bcb7e4bb37587cd8ea26cf4402af5f05b9e3598556 b/workspace/assets/skins/6b/6bd8fd13e72cebe375bf87bcb7e4bb37587cd8ea26cf4402af5f05b9e3598556 new file mode 100644 index 00000000..baae93f4 Binary files /dev/null and b/workspace/assets/skins/6b/6bd8fd13e72cebe375bf87bcb7e4bb37587cd8ea26cf4402af5f05b9e3598556 differ diff --git a/workspace/assets/skins/70/706d3e63323afed2dc942f768d6f89f3a5f44cf9298d299a49b6303a69beb5f4 b/workspace/assets/skins/70/706d3e63323afed2dc942f768d6f89f3a5f44cf9298d299a49b6303a69beb5f4 new file mode 100644 index 00000000..1fb84e92 Binary files /dev/null and b/workspace/assets/skins/70/706d3e63323afed2dc942f768d6f89f3a5f44cf9298d299a49b6303a69beb5f4 differ diff --git a/workspace/assets/skins/70/70837d25018719e8cfae5b2f4ef3afa608eabc8e2dce8bf02c8bab73ae790bd1 b/workspace/assets/skins/70/70837d25018719e8cfae5b2f4ef3afa608eabc8e2dce8bf02c8bab73ae790bd1 new file mode 100644 index 00000000..023599f1 Binary files /dev/null and b/workspace/assets/skins/70/70837d25018719e8cfae5b2f4ef3afa608eabc8e2dce8bf02c8bab73ae790bd1 differ diff --git a/workspace/assets/skins/72/725b4a721bacbd6feeaefc773acd366922ddc3772ef4b59e9cb208114e306bb9 b/workspace/assets/skins/72/725b4a721bacbd6feeaefc773acd366922ddc3772ef4b59e9cb208114e306bb9 new file mode 100644 index 00000000..14014614 Binary files /dev/null and b/workspace/assets/skins/72/725b4a721bacbd6feeaefc773acd366922ddc3772ef4b59e9cb208114e306bb9 differ diff --git a/workspace/assets/skins/72/7272a293adc8dbb54472cb242c0d68c5fd4005b614998bdf28b50f738433a19f b/workspace/assets/skins/72/7272a293adc8dbb54472cb242c0d68c5fd4005b614998bdf28b50f738433a19f new file mode 100644 index 00000000..5ac8b256 Binary files /dev/null and b/workspace/assets/skins/72/7272a293adc8dbb54472cb242c0d68c5fd4005b614998bdf28b50f738433a19f differ diff --git a/workspace/assets/skins/72/72c4851f7a4262caa43c167e4a0f05c32b9318aa25bd55bcd55185992a173361 b/workspace/assets/skins/72/72c4851f7a4262caa43c167e4a0f05c32b9318aa25bd55bcd55185992a173361 new file mode 100644 index 00000000..447644b7 Binary files /dev/null and b/workspace/assets/skins/72/72c4851f7a4262caa43c167e4a0f05c32b9318aa25bd55bcd55185992a173361 differ diff --git a/workspace/assets/skins/75/75378be25bb4cda2f3e9a70bb7cb49a19ecb07b5e04461057e433926c06bc55e b/workspace/assets/skins/75/75378be25bb4cda2f3e9a70bb7cb49a19ecb07b5e04461057e433926c06bc55e new file mode 100644 index 00000000..58433ed3 Binary files /dev/null and b/workspace/assets/skins/75/75378be25bb4cda2f3e9a70bb7cb49a19ecb07b5e04461057e433926c06bc55e differ diff --git a/workspace/assets/skins/75/757d265bbad29b11c9c521f88c635be3f6af6c9b171cf849b627192a4d2f3fbf b/workspace/assets/skins/75/757d265bbad29b11c9c521f88c635be3f6af6c9b171cf849b627192a4d2f3fbf new file mode 100644 index 00000000..5154f4f2 Binary files /dev/null and b/workspace/assets/skins/75/757d265bbad29b11c9c521f88c635be3f6af6c9b171cf849b627192a4d2f3fbf differ diff --git a/workspace/assets/skins/76/765d9fa8649de8536c08c7bf3f926fb39fb5dbdcf720d100a75fb935311d3ef8 b/workspace/assets/skins/76/765d9fa8649de8536c08c7bf3f926fb39fb5dbdcf720d100a75fb935311d3ef8 new file mode 100644 index 00000000..b413b757 Binary files /dev/null and b/workspace/assets/skins/76/765d9fa8649de8536c08c7bf3f926fb39fb5dbdcf720d100a75fb935311d3ef8 differ diff --git a/workspace/assets/skins/76/76910bfed8c53293730817f81eb1cb0f6996123c75555ead16f0286aadf4c6d8 b/workspace/assets/skins/76/76910bfed8c53293730817f81eb1cb0f6996123c75555ead16f0286aadf4c6d8 new file mode 100644 index 00000000..5cf0b292 Binary files /dev/null and b/workspace/assets/skins/76/76910bfed8c53293730817f81eb1cb0f6996123c75555ead16f0286aadf4c6d8 differ diff --git a/workspace/assets/skins/76/76fad1f5968fb39ab2a3e023cde0e74a03da2896512a8b3b87ac80818b2cfa5c b/workspace/assets/skins/76/76fad1f5968fb39ab2a3e023cde0e74a03da2896512a8b3b87ac80818b2cfa5c new file mode 100644 index 00000000..3b7b6a03 Binary files /dev/null and b/workspace/assets/skins/76/76fad1f5968fb39ab2a3e023cde0e74a03da2896512a8b3b87ac80818b2cfa5c differ diff --git a/workspace/assets/skins/79/7903fa7c79d9431ccda7fb3ef15eadacb8f6b750dd63a417c64617287fe8a85 b/workspace/assets/skins/79/7903fa7c79d9431ccda7fb3ef15eadacb8f6b750dd63a417c64617287fe8a85 new file mode 100644 index 00000000..520bfb78 Binary files /dev/null and b/workspace/assets/skins/79/7903fa7c79d9431ccda7fb3ef15eadacb8f6b750dd63a417c64617287fe8a85 differ diff --git a/workspace/assets/skins/7a/7a5efa08716ba36a7cc430f3de2be3d68e339573f1789e6e8adca24e2c6d07b b/workspace/assets/skins/7a/7a5efa08716ba36a7cc430f3de2be3d68e339573f1789e6e8adca24e2c6d07b new file mode 100644 index 00000000..9d60ad29 Binary files /dev/null and b/workspace/assets/skins/7a/7a5efa08716ba36a7cc430f3de2be3d68e339573f1789e6e8adca24e2c6d07b differ diff --git a/workspace/assets/skins/7b/7b59ddc1f35234fd901ec65ba2bc02962c40090786744387cd3267c75cc27f16 b/workspace/assets/skins/7b/7b59ddc1f35234fd901ec65ba2bc02962c40090786744387cd3267c75cc27f16 new file mode 100644 index 00000000..8f13e4cf Binary files /dev/null and b/workspace/assets/skins/7b/7b59ddc1f35234fd901ec65ba2bc02962c40090786744387cd3267c75cc27f16 differ diff --git a/workspace/assets/skins/7b/7ba0f68f156f3864637528e6ac5366243f130f53adcea9a3ab5a6b8405f45f70 b/workspace/assets/skins/7b/7ba0f68f156f3864637528e6ac5366243f130f53adcea9a3ab5a6b8405f45f70 new file mode 100644 index 00000000..056de0a5 Binary files /dev/null and b/workspace/assets/skins/7b/7ba0f68f156f3864637528e6ac5366243f130f53adcea9a3ab5a6b8405f45f70 differ diff --git a/workspace/assets/skins/7c/7ce2819a70f178812918823df1d7a0501aa092c52a639ffa12ab44bff0c7c534 b/workspace/assets/skins/7c/7ce2819a70f178812918823df1d7a0501aa092c52a639ffa12ab44bff0c7c534 new file mode 100644 index 00000000..cbd95579 Binary files /dev/null and b/workspace/assets/skins/7c/7ce2819a70f178812918823df1d7a0501aa092c52a639ffa12ab44bff0c7c534 differ diff --git a/workspace/assets/skins/7d/7d6df1ea9085754bbc014f0821989ddab794c4e53c1993fd8bc681ce42c94fc3 b/workspace/assets/skins/7d/7d6df1ea9085754bbc014f0821989ddab794c4e53c1993fd8bc681ce42c94fc3 new file mode 100644 index 00000000..4272fe33 Binary files /dev/null and b/workspace/assets/skins/7d/7d6df1ea9085754bbc014f0821989ddab794c4e53c1993fd8bc681ce42c94fc3 differ diff --git a/workspace/assets/skins/7e/7e1748dc6a687fa7c4c3315bae2847a6e1bf4b490f90aa43c533681ce169466 b/workspace/assets/skins/7e/7e1748dc6a687fa7c4c3315bae2847a6e1bf4b490f90aa43c533681ce169466 new file mode 100644 index 00000000..305fefac Binary files /dev/null and b/workspace/assets/skins/7e/7e1748dc6a687fa7c4c3315bae2847a6e1bf4b490f90aa43c533681ce169466 differ diff --git a/workspace/assets/skins/80/808b9b0c3b9745de2d376f51a967264be661e98dec73ba0437d3b0e4450f11e6 b/workspace/assets/skins/80/808b9b0c3b9745de2d376f51a967264be661e98dec73ba0437d3b0e4450f11e6 new file mode 100644 index 00000000..9d94ca43 Binary files /dev/null and b/workspace/assets/skins/80/808b9b0c3b9745de2d376f51a967264be661e98dec73ba0437d3b0e4450f11e6 differ diff --git a/workspace/assets/skins/81/81c5dcb027d02270393ceae42ea8536bb817fe337984f5d35a0285a45b55cba b/workspace/assets/skins/81/81c5dcb027d02270393ceae42ea8536bb817fe337984f5d35a0285a45b55cba new file mode 100644 index 00000000..6d342294 Binary files /dev/null and b/workspace/assets/skins/81/81c5dcb027d02270393ceae42ea8536bb817fe337984f5d35a0285a45b55cba differ diff --git a/workspace/assets/skins/83/8324459fb51ab7f52c1e97065f2f8c93c03fce5eee7c01432b74b0ab36d7e2e0 b/workspace/assets/skins/83/8324459fb51ab7f52c1e97065f2f8c93c03fce5eee7c01432b74b0ab36d7e2e0 new file mode 100644 index 00000000..bfb330fb Binary files /dev/null and b/workspace/assets/skins/83/8324459fb51ab7f52c1e97065f2f8c93c03fce5eee7c01432b74b0ab36d7e2e0 differ diff --git a/workspace/assets/skins/83/836c5d909d26635a018e06db5080ea8fd41c6ed833ed00277b620177209098fe b/workspace/assets/skins/83/836c5d909d26635a018e06db5080ea8fd41c6ed833ed00277b620177209098fe new file mode 100644 index 00000000..e773911c Binary files /dev/null and b/workspace/assets/skins/83/836c5d909d26635a018e06db5080ea8fd41c6ed833ed00277b620177209098fe differ diff --git a/workspace/assets/skins/84/841c7ef14d2c0c538008b38099f935371faaa87161ecba2022f68c090d7db80c b/workspace/assets/skins/84/841c7ef14d2c0c538008b38099f935371faaa87161ecba2022f68c090d7db80c new file mode 100644 index 00000000..123d24f5 Binary files /dev/null and b/workspace/assets/skins/84/841c7ef14d2c0c538008b38099f935371faaa87161ecba2022f68c090d7db80c differ diff --git a/workspace/assets/skins/86/863a6d8660d518ea5fb732d84d8efed1d53547d200eb43898c03abb1a5989316 b/workspace/assets/skins/86/863a6d8660d518ea5fb732d84d8efed1d53547d200eb43898c03abb1a5989316 new file mode 100644 index 00000000..6b78179b Binary files /dev/null and b/workspace/assets/skins/86/863a6d8660d518ea5fb732d84d8efed1d53547d200eb43898c03abb1a5989316 differ diff --git a/workspace/assets/skins/87/878f38242da1c0161545870b4716304dd89211c617833e7d53309462b3b6a5be b/workspace/assets/skins/87/878f38242da1c0161545870b4716304dd89211c617833e7d53309462b3b6a5be new file mode 100644 index 00000000..1eff7236 Binary files /dev/null and b/workspace/assets/skins/87/878f38242da1c0161545870b4716304dd89211c617833e7d53309462b3b6a5be differ diff --git a/workspace/assets/skins/89/89c542274ea7687d1884163a1e2e2a7409964d4c9e44511589cf6e465f91febb b/workspace/assets/skins/89/89c542274ea7687d1884163a1e2e2a7409964d4c9e44511589cf6e465f91febb new file mode 100644 index 00000000..721152f1 Binary files /dev/null and b/workspace/assets/skins/89/89c542274ea7687d1884163a1e2e2a7409964d4c9e44511589cf6e465f91febb differ diff --git a/workspace/assets/skins/8a/8adcaa598473c05940986eb5d9cb1e2241cf73debaff44bbb5bd3a567629ba43 b/workspace/assets/skins/8a/8adcaa598473c05940986eb5d9cb1e2241cf73debaff44bbb5bd3a567629ba43 new file mode 100644 index 00000000..ffbfe34b Binary files /dev/null and b/workspace/assets/skins/8a/8adcaa598473c05940986eb5d9cb1e2241cf73debaff44bbb5bd3a567629ba43 differ diff --git a/workspace/assets/skins/8b/8b0eeac65944d1285bea205c79a22f78d6741644e4abffd2f70bdf5f2b443a47 b/workspace/assets/skins/8b/8b0eeac65944d1285bea205c79a22f78d6741644e4abffd2f70bdf5f2b443a47 new file mode 100644 index 00000000..2b23c2b9 Binary files /dev/null and b/workspace/assets/skins/8b/8b0eeac65944d1285bea205c79a22f78d6741644e4abffd2f70bdf5f2b443a47 differ diff --git a/workspace/assets/skins/8b/8b2ef728cebc7f83b9683585c39d41ddd802b701ae04a5eb22c6bd7aa24ea9d0 b/workspace/assets/skins/8b/8b2ef728cebc7f83b9683585c39d41ddd802b701ae04a5eb22c6bd7aa24ea9d0 new file mode 100644 index 00000000..a18839d6 Binary files /dev/null and b/workspace/assets/skins/8b/8b2ef728cebc7f83b9683585c39d41ddd802b701ae04a5eb22c6bd7aa24ea9d0 differ diff --git a/workspace/assets/skins/8e/8e8e28a6f4477dcc43950d53ba59b813cbdda8aa1b2ef1f0b3c93f64cbf89bac b/workspace/assets/skins/8e/8e8e28a6f4477dcc43950d53ba59b813cbdda8aa1b2ef1f0b3c93f64cbf89bac new file mode 100644 index 00000000..9c95af6c Binary files /dev/null and b/workspace/assets/skins/8e/8e8e28a6f4477dcc43950d53ba59b813cbdda8aa1b2ef1f0b3c93f64cbf89bac differ diff --git a/workspace/assets/skins/90/9070bea73298b9fbecdb7ad8e053c2eab35edce17bc0e0222600edbf05b2c83b b/workspace/assets/skins/90/9070bea73298b9fbecdb7ad8e053c2eab35edce17bc0e0222600edbf05b2c83b new file mode 100644 index 00000000..9fcb1784 Binary files /dev/null and b/workspace/assets/skins/90/9070bea73298b9fbecdb7ad8e053c2eab35edce17bc0e0222600edbf05b2c83b differ diff --git a/workspace/assets/skins/93/931943b9549ea753deb25c6e6803db21472274514613eb495b02e92401c14da4 b/workspace/assets/skins/93/931943b9549ea753deb25c6e6803db21472274514613eb495b02e92401c14da4 new file mode 100644 index 00000000..fb44ca56 Binary files /dev/null and b/workspace/assets/skins/93/931943b9549ea753deb25c6e6803db21472274514613eb495b02e92401c14da4 differ diff --git a/workspace/assets/skins/93/93352a084eaa63f319dd156da6a84889afbfff92694cc56727b2c4c7490d8c95 b/workspace/assets/skins/93/93352a084eaa63f319dd156da6a84889afbfff92694cc56727b2c4c7490d8c95 new file mode 100644 index 00000000..a2e79850 Binary files /dev/null and b/workspace/assets/skins/93/93352a084eaa63f319dd156da6a84889afbfff92694cc56727b2c4c7490d8c95 differ diff --git a/workspace/assets/skins/93/93f04d4aa6ffd1116e794f61f853e08b88fd2321cedea40c87bbcdee9c4570b9 b/workspace/assets/skins/93/93f04d4aa6ffd1116e794f61f853e08b88fd2321cedea40c87bbcdee9c4570b9 new file mode 100644 index 00000000..71096cc8 Binary files /dev/null and b/workspace/assets/skins/93/93f04d4aa6ffd1116e794f61f853e08b88fd2321cedea40c87bbcdee9c4570b9 differ diff --git a/workspace/assets/skins/94/94095157834607a98f30cbf2674407831398cb2ac86e5715e8b800a5ae90b3d2 b/workspace/assets/skins/94/94095157834607a98f30cbf2674407831398cb2ac86e5715e8b800a5ae90b3d2 new file mode 100644 index 00000000..76ec7191 Binary files /dev/null and b/workspace/assets/skins/94/94095157834607a98f30cbf2674407831398cb2ac86e5715e8b800a5ae90b3d2 differ diff --git a/workspace/assets/skins/94/945dbc199244be30aaeb2894f1e5179e009c219a458042dd58e228e73a88b649 b/workspace/assets/skins/94/945dbc199244be30aaeb2894f1e5179e009c219a458042dd58e228e73a88b649 new file mode 100644 index 00000000..4e666276 Binary files /dev/null and b/workspace/assets/skins/94/945dbc199244be30aaeb2894f1e5179e009c219a458042dd58e228e73a88b649 differ diff --git a/workspace/assets/skins/94/947084d8a144be4cc4d47198736ed31fb57294d6aaaee240ed6effdf5f1bb701 b/workspace/assets/skins/94/947084d8a144be4cc4d47198736ed31fb57294d6aaaee240ed6effdf5f1bb701 new file mode 100644 index 00000000..7962a0dc Binary files /dev/null and b/workspace/assets/skins/94/947084d8a144be4cc4d47198736ed31fb57294d6aaaee240ed6effdf5f1bb701 differ diff --git a/workspace/assets/skins/95/954aa49f293d9255e8215c2315109a5a182196ed873b633e17e6ef730d21522c b/workspace/assets/skins/95/954aa49f293d9255e8215c2315109a5a182196ed873b633e17e6ef730d21522c new file mode 100644 index 00000000..99ecc60a Binary files /dev/null and b/workspace/assets/skins/95/954aa49f293d9255e8215c2315109a5a182196ed873b633e17e6ef730d21522c differ diff --git a/workspace/assets/skins/95/95514822307cb38ec0a45659e7524d45777760b2bef7f617bb80701438741acd b/workspace/assets/skins/95/95514822307cb38ec0a45659e7524d45777760b2bef7f617bb80701438741acd new file mode 100644 index 00000000..576a1aa1 Binary files /dev/null and b/workspace/assets/skins/95/95514822307cb38ec0a45659e7524d45777760b2bef7f617bb80701438741acd differ diff --git a/workspace/assets/skins/95/955597599c41fb2644b75f461ab2bf8336c69935317cdafbfa86fe1fc5a46225 b/workspace/assets/skins/95/955597599c41fb2644b75f461ab2bf8336c69935317cdafbfa86fe1fc5a46225 new file mode 100644 index 00000000..71a1c820 Binary files /dev/null and b/workspace/assets/skins/95/955597599c41fb2644b75f461ab2bf8336c69935317cdafbfa86fe1fc5a46225 differ diff --git a/workspace/assets/skins/95/95bb47f3d604c2a6f1fdf68efc41e78c92ab45ddc5ec35e5a7ba2ae56b6c0fdb b/workspace/assets/skins/95/95bb47f3d604c2a6f1fdf68efc41e78c92ab45ddc5ec35e5a7ba2ae56b6c0fdb new file mode 100644 index 00000000..9f33fa60 Binary files /dev/null and b/workspace/assets/skins/95/95bb47f3d604c2a6f1fdf68efc41e78c92ab45ddc5ec35e5a7ba2ae56b6c0fdb differ diff --git a/workspace/assets/skins/96/965c06db0f9e0f370a3e6d943dbac46da6bf3d696b28e4263725ad41c743fa3e b/workspace/assets/skins/96/965c06db0f9e0f370a3e6d943dbac46da6bf3d696b28e4263725ad41c743fa3e new file mode 100644 index 00000000..5c66c393 Binary files /dev/null and b/workspace/assets/skins/96/965c06db0f9e0f370a3e6d943dbac46da6bf3d696b28e4263725ad41c743fa3e differ diff --git a/workspace/assets/skins/97/97a2b8c4f4eac8b2a45211f10a625c5dc6634d4206fbe8f0d499aeaa530f8b61 b/workspace/assets/skins/97/97a2b8c4f4eac8b2a45211f10a625c5dc6634d4206fbe8f0d499aeaa530f8b61 new file mode 100644 index 00000000..34be3278 Binary files /dev/null and b/workspace/assets/skins/97/97a2b8c4f4eac8b2a45211f10a625c5dc6634d4206fbe8f0d499aeaa530f8b61 differ diff --git a/workspace/assets/skins/97/97ee83138df0afff12fdaa2e1f4a1a6e4fdb05ff744dadd46e1dfc1485c0e489 b/workspace/assets/skins/97/97ee83138df0afff12fdaa2e1f4a1a6e4fdb05ff744dadd46e1dfc1485c0e489 new file mode 100644 index 00000000..25289d96 Binary files /dev/null and b/workspace/assets/skins/97/97ee83138df0afff12fdaa2e1f4a1a6e4fdb05ff744dadd46e1dfc1485c0e489 differ diff --git a/workspace/assets/skins/98/982ed89aafc6908f3c2d59d0ac59367c3fec6e5b20b8afa3e5feda763726ade7 b/workspace/assets/skins/98/982ed89aafc6908f3c2d59d0ac59367c3fec6e5b20b8afa3e5feda763726ade7 new file mode 100644 index 00000000..7040a7b3 Binary files /dev/null and b/workspace/assets/skins/98/982ed89aafc6908f3c2d59d0ac59367c3fec6e5b20b8afa3e5feda763726ade7 differ diff --git a/workspace/assets/skins/98/983ec6663d034aef00ea343324dd0195e190b7a151790a913336841b1a814e70 b/workspace/assets/skins/98/983ec6663d034aef00ea343324dd0195e190b7a151790a913336841b1a814e70 new file mode 100644 index 00000000..93623b76 Binary files /dev/null and b/workspace/assets/skins/98/983ec6663d034aef00ea343324dd0195e190b7a151790a913336841b1a814e70 differ diff --git a/workspace/assets/skins/98/98538a411781a329febe9dc700408b6cba3bb079f3af9581c5e41c4f19cce687 b/workspace/assets/skins/98/98538a411781a329febe9dc700408b6cba3bb079f3af9581c5e41c4f19cce687 new file mode 100644 index 00000000..9cbd6a7d Binary files /dev/null and b/workspace/assets/skins/98/98538a411781a329febe9dc700408b6cba3bb079f3af9581c5e41c4f19cce687 differ diff --git a/workspace/assets/skins/99/993e895f15f79a76e5360e96c67266bd484881f8cce31e38803cd1c7990d4125 b/workspace/assets/skins/99/993e895f15f79a76e5360e96c67266bd484881f8cce31e38803cd1c7990d4125 new file mode 100644 index 00000000..df5a62c1 Binary files /dev/null and b/workspace/assets/skins/99/993e895f15f79a76e5360e96c67266bd484881f8cce31e38803cd1c7990d4125 differ diff --git a/workspace/assets/skins/99/99455e56422544529f824ae3a14c74bba3d24bff9d1d68f70b6c395ed0c605ac b/workspace/assets/skins/99/99455e56422544529f824ae3a14c74bba3d24bff9d1d68f70b6c395ed0c605ac new file mode 100644 index 00000000..135ba559 Binary files /dev/null and b/workspace/assets/skins/99/99455e56422544529f824ae3a14c74bba3d24bff9d1d68f70b6c395ed0c605ac differ diff --git a/workspace/assets/skins/99/999a8f579aa9e6ebbef14497e781a794596a6f9db4424aa646102f5b5d82142 b/workspace/assets/skins/99/999a8f579aa9e6ebbef14497e781a794596a6f9db4424aa646102f5b5d82142 new file mode 100644 index 00000000..6c0736fd Binary files /dev/null and b/workspace/assets/skins/99/999a8f579aa9e6ebbef14497e781a794596a6f9db4424aa646102f5b5d82142 differ diff --git a/workspace/assets/skins/9a/9a4634838f637ace414f72910fbcf9291145dcc36db0c145a996ee7529d5f710 b/workspace/assets/skins/9a/9a4634838f637ace414f72910fbcf9291145dcc36db0c145a996ee7529d5f710 new file mode 100644 index 00000000..6c4b4684 Binary files /dev/null and b/workspace/assets/skins/9a/9a4634838f637ace414f72910fbcf9291145dcc36db0c145a996ee7529d5f710 differ diff --git a/workspace/assets/skins/9a/9af61405dbaaf60a8acf580224e9be18580b90a73fa81c4f15a3c8ad1989bbff b/workspace/assets/skins/9a/9af61405dbaaf60a8acf580224e9be18580b90a73fa81c4f15a3c8ad1989bbff new file mode 100644 index 00000000..3749ba57 Binary files /dev/null and b/workspace/assets/skins/9a/9af61405dbaaf60a8acf580224e9be18580b90a73fa81c4f15a3c8ad1989bbff differ diff --git a/workspace/assets/skins/9c/9c05e38dedb59e35a35f6c77af909ae6b24aa332e6391a33863b0e36df376a2b b/workspace/assets/skins/9c/9c05e38dedb59e35a35f6c77af909ae6b24aa332e6391a33863b0e36df376a2b new file mode 100644 index 00000000..43b0af1e Binary files /dev/null and b/workspace/assets/skins/9c/9c05e38dedb59e35a35f6c77af909ae6b24aa332e6391a33863b0e36df376a2b differ diff --git a/workspace/assets/skins/9c/9c8471a96ee0fb284f580198aaca98351a5a7dbb7576928e08a0a1248ed82eb0 b/workspace/assets/skins/9c/9c8471a96ee0fb284f580198aaca98351a5a7dbb7576928e08a0a1248ed82eb0 new file mode 100644 index 00000000..a508eb3d Binary files /dev/null and b/workspace/assets/skins/9c/9c8471a96ee0fb284f580198aaca98351a5a7dbb7576928e08a0a1248ed82eb0 differ diff --git a/workspace/assets/skins/9e/9ebe66b247029dddebd5c9ee56cc21b25227b08f950ac8b94e7161d6fc591cbb b/workspace/assets/skins/9e/9ebe66b247029dddebd5c9ee56cc21b25227b08f950ac8b94e7161d6fc591cbb new file mode 100644 index 00000000..2f6797d7 Binary files /dev/null and b/workspace/assets/skins/9e/9ebe66b247029dddebd5c9ee56cc21b25227b08f950ac8b94e7161d6fc591cbb differ diff --git a/workspace/assets/skins/9f/9f67d2c98383671d4949b7793741487e6dc6a0d3118e409d3912f9f93f9e805a b/workspace/assets/skins/9f/9f67d2c98383671d4949b7793741487e6dc6a0d3118e409d3912f9f93f9e805a new file mode 100644 index 00000000..c329c46b Binary files /dev/null and b/workspace/assets/skins/9f/9f67d2c98383671d4949b7793741487e6dc6a0d3118e409d3912f9f93f9e805a differ diff --git a/workspace/assets/skins/a0/a0b66fbda4be9cd08adc9171a29dc156367698747f019bd3491fdb9262edcfab b/workspace/assets/skins/a0/a0b66fbda4be9cd08adc9171a29dc156367698747f019bd3491fdb9262edcfab new file mode 100644 index 00000000..de534ec4 Binary files /dev/null and b/workspace/assets/skins/a0/a0b66fbda4be9cd08adc9171a29dc156367698747f019bd3491fdb9262edcfab differ diff --git a/workspace/assets/skins/a1/a10f8759a390c5be650b5350d004b004801f1b8f1e0caf95917130f64d9ac868 b/workspace/assets/skins/a1/a10f8759a390c5be650b5350d004b004801f1b8f1e0caf95917130f64d9ac868 new file mode 100644 index 00000000..482b96eb Binary files /dev/null and b/workspace/assets/skins/a1/a10f8759a390c5be650b5350d004b004801f1b8f1e0caf95917130f64d9ac868 differ diff --git a/workspace/assets/skins/a2/a251e16f95f8d3380530cfb882a36e67164faf265bf57e8ee3afbddd2c3a2646 b/workspace/assets/skins/a2/a251e16f95f8d3380530cfb882a36e67164faf265bf57e8ee3afbddd2c3a2646 new file mode 100644 index 00000000..7b6ecff3 Binary files /dev/null and b/workspace/assets/skins/a2/a251e16f95f8d3380530cfb882a36e67164faf265bf57e8ee3afbddd2c3a2646 differ diff --git a/workspace/assets/skins/a4/a49010af6598f19571d049dcb32e5699037307a20a5d6f0a5a589c4ee14acded b/workspace/assets/skins/a4/a49010af6598f19571d049dcb32e5699037307a20a5d6f0a5a589c4ee14acded new file mode 100644 index 00000000..68e2c3c9 Binary files /dev/null and b/workspace/assets/skins/a4/a49010af6598f19571d049dcb32e5699037307a20a5d6f0a5a589c4ee14acded differ diff --git a/workspace/assets/skins/a4/a49de59fc5c7a1ad14ec5e97f04e8821e830a6f5581100484f9e467542822847 b/workspace/assets/skins/a4/a49de59fc5c7a1ad14ec5e97f04e8821e830a6f5581100484f9e467542822847 new file mode 100644 index 00000000..ea3b74d0 Binary files /dev/null and b/workspace/assets/skins/a4/a49de59fc5c7a1ad14ec5e97f04e8821e830a6f5581100484f9e467542822847 differ diff --git a/workspace/assets/skins/a4/a4eb94b7ff61124fd14c794fdcbf56083108a6deb391e1128016362b9e77d052 b/workspace/assets/skins/a4/a4eb94b7ff61124fd14c794fdcbf56083108a6deb391e1128016362b9e77d052 new file mode 100644 index 00000000..46988c25 Binary files /dev/null and b/workspace/assets/skins/a4/a4eb94b7ff61124fd14c794fdcbf56083108a6deb391e1128016362b9e77d052 differ diff --git a/workspace/assets/skins/a4/a4ed31e4fbccbc1011d8606ed4b4fb3562bd86f90255a4773a29ad0811cc900f b/workspace/assets/skins/a4/a4ed31e4fbccbc1011d8606ed4b4fb3562bd86f90255a4773a29ad0811cc900f new file mode 100644 index 00000000..3d918ef2 Binary files /dev/null and b/workspace/assets/skins/a4/a4ed31e4fbccbc1011d8606ed4b4fb3562bd86f90255a4773a29ad0811cc900f differ diff --git a/workspace/assets/skins/a6/a6ad7e115778ac61126c4445ace9f614c1717669ba99a3804fe0ca329ccddb0b b/workspace/assets/skins/a6/a6ad7e115778ac61126c4445ace9f614c1717669ba99a3804fe0ca329ccddb0b new file mode 100644 index 00000000..d6749a72 Binary files /dev/null and b/workspace/assets/skins/a6/a6ad7e115778ac61126c4445ace9f614c1717669ba99a3804fe0ca329ccddb0b differ diff --git a/workspace/assets/skins/a7/a7bedf9dc406aa8818552c185b0ebb2b9d019160dbd4f35aa947ae83564e637a b/workspace/assets/skins/a7/a7bedf9dc406aa8818552c185b0ebb2b9d019160dbd4f35aa947ae83564e637a new file mode 100644 index 00000000..852ea60f Binary files /dev/null and b/workspace/assets/skins/a7/a7bedf9dc406aa8818552c185b0ebb2b9d019160dbd4f35aa947ae83564e637a differ diff --git a/workspace/assets/skins/a8/a89ccc22c8657db09a4a2257ba591e7d3ec5919806d5e978e0e7d923224617c5 b/workspace/assets/skins/a8/a89ccc22c8657db09a4a2257ba591e7d3ec5919806d5e978e0e7d923224617c5 new file mode 100644 index 00000000..e2c0390c Binary files /dev/null and b/workspace/assets/skins/a8/a89ccc22c8657db09a4a2257ba591e7d3ec5919806d5e978e0e7d923224617c5 differ diff --git a/workspace/assets/skins/a9/a9843ea638ce965591bde227e1bacba239b37f636c39b21294a4ae5bb7ff5805 b/workspace/assets/skins/a9/a9843ea638ce965591bde227e1bacba239b37f636c39b21294a4ae5bb7ff5805 new file mode 100644 index 00000000..61de9a0e Binary files /dev/null and b/workspace/assets/skins/a9/a9843ea638ce965591bde227e1bacba239b37f636c39b21294a4ae5bb7ff5805 differ diff --git a/workspace/assets/skins/aa/aa3e7cee64112c13f1e2ddf27d7dc7e4df688d93114ad8cddec99790f3e3280a b/workspace/assets/skins/aa/aa3e7cee64112c13f1e2ddf27d7dc7e4df688d93114ad8cddec99790f3e3280a new file mode 100644 index 00000000..73eb660f Binary files /dev/null and b/workspace/assets/skins/aa/aa3e7cee64112c13f1e2ddf27d7dc7e4df688d93114ad8cddec99790f3e3280a differ diff --git a/workspace/assets/skins/ab/ab600bd58f302722edc805831fda7f223347fbd3baaaa03e378812a7746eb12f b/workspace/assets/skins/ab/ab600bd58f302722edc805831fda7f223347fbd3baaaa03e378812a7746eb12f new file mode 100644 index 00000000..a595f31c Binary files /dev/null and b/workspace/assets/skins/ab/ab600bd58f302722edc805831fda7f223347fbd3baaaa03e378812a7746eb12f differ diff --git a/workspace/assets/skins/ac/ac2e237d6e0977384b186426b67fb3e9a3637912b879d2e086608b20560eec77 b/workspace/assets/skins/ac/ac2e237d6e0977384b186426b67fb3e9a3637912b879d2e086608b20560eec77 new file mode 100644 index 00000000..1c2dd966 Binary files /dev/null and b/workspace/assets/skins/ac/ac2e237d6e0977384b186426b67fb3e9a3637912b879d2e086608b20560eec77 differ diff --git a/workspace/assets/skins/ac/ac46ea75f43201c94b59f4a2429a0eca083f794a5675df913b4af7850e42d64 b/workspace/assets/skins/ac/ac46ea75f43201c94b59f4a2429a0eca083f794a5675df913b4af7850e42d64 new file mode 100644 index 00000000..43103643 Binary files /dev/null and b/workspace/assets/skins/ac/ac46ea75f43201c94b59f4a2429a0eca083f794a5675df913b4af7850e42d64 differ diff --git a/workspace/assets/skins/ac/ace6f03f5da39814f3ea09c1332712951d5049fd52473736c642be870c1263ca b/workspace/assets/skins/ac/ace6f03f5da39814f3ea09c1332712951d5049fd52473736c642be870c1263ca new file mode 100644 index 00000000..feb79570 Binary files /dev/null and b/workspace/assets/skins/ac/ace6f03f5da39814f3ea09c1332712951d5049fd52473736c642be870c1263ca differ diff --git a/workspace/assets/skins/ad/ad233873edfab3c424ac90101f8738a75a1a729fa328371d3f84cc0198b127df b/workspace/assets/skins/ad/ad233873edfab3c424ac90101f8738a75a1a729fa328371d3f84cc0198b127df new file mode 100644 index 00000000..c8971e22 Binary files /dev/null and b/workspace/assets/skins/ad/ad233873edfab3c424ac90101f8738a75a1a729fa328371d3f84cc0198b127df differ diff --git a/workspace/assets/skins/b1/b19ef4cf9651fdf8c82c4360486d6e63ad0a48064bc30446b6e0a64e1136233d b/workspace/assets/skins/b1/b19ef4cf9651fdf8c82c4360486d6e63ad0a48064bc30446b6e0a64e1136233d new file mode 100644 index 00000000..2e192288 Binary files /dev/null and b/workspace/assets/skins/b1/b19ef4cf9651fdf8c82c4360486d6e63ad0a48064bc30446b6e0a64e1136233d differ diff --git a/workspace/assets/skins/b3/b34a8bd7d328a3c0e03da822afe934a34cc4bfcb5a5e2c7ecca598d75dea9ec4 b/workspace/assets/skins/b3/b34a8bd7d328a3c0e03da822afe934a34cc4bfcb5a5e2c7ecca598d75dea9ec4 new file mode 100644 index 00000000..5622a726 Binary files /dev/null and b/workspace/assets/skins/b3/b34a8bd7d328a3c0e03da822afe934a34cc4bfcb5a5e2c7ecca598d75dea9ec4 differ diff --git a/workspace/assets/skins/b3/b3c78ddc32cd2bbd43ab9aaca97bcf23ec8c8da83a7ec28c2cdf3c08c83ab147 b/workspace/assets/skins/b3/b3c78ddc32cd2bbd43ab9aaca97bcf23ec8c8da83a7ec28c2cdf3c08c83ab147 new file mode 100644 index 00000000..c7817743 Binary files /dev/null and b/workspace/assets/skins/b3/b3c78ddc32cd2bbd43ab9aaca97bcf23ec8c8da83a7ec28c2cdf3c08c83ab147 differ diff --git a/workspace/assets/skins/b4/b498563b8d3db9bb36f4e81bd7369e15f3f704e9653d6dafa93441705b507a9b b/workspace/assets/skins/b4/b498563b8d3db9bb36f4e81bd7369e15f3f704e9653d6dafa93441705b507a9b new file mode 100644 index 00000000..9941fec8 Binary files /dev/null and b/workspace/assets/skins/b4/b498563b8d3db9bb36f4e81bd7369e15f3f704e9653d6dafa93441705b507a9b differ diff --git a/workspace/assets/skins/b6/b6613758059b443f5f3e5b77e000eed64d52a4ad2e4ca71cd8256973753cb72d b/workspace/assets/skins/b6/b6613758059b443f5f3e5b77e000eed64d52a4ad2e4ca71cd8256973753cb72d new file mode 100644 index 00000000..c53a2d56 Binary files /dev/null and b/workspace/assets/skins/b6/b6613758059b443f5f3e5b77e000eed64d52a4ad2e4ca71cd8256973753cb72d differ diff --git a/workspace/assets/skins/b6/b6aadaec19432a7cf69d1c3f2c03a564dc4eae826ad83adc19eb8c7405e0034f b/workspace/assets/skins/b6/b6aadaec19432a7cf69d1c3f2c03a564dc4eae826ad83adc19eb8c7405e0034f new file mode 100644 index 00000000..c958eae5 Binary files /dev/null and b/workspace/assets/skins/b6/b6aadaec19432a7cf69d1c3f2c03a564dc4eae826ad83adc19eb8c7405e0034f differ diff --git a/workspace/assets/skins/b6/b6aeceba255555600ca2a3046d63ee2d97dd424ecc291cd1fe21ba6f53398d71 b/workspace/assets/skins/b6/b6aeceba255555600ca2a3046d63ee2d97dd424ecc291cd1fe21ba6f53398d71 new file mode 100644 index 00000000..55ce868e Binary files /dev/null and b/workspace/assets/skins/b6/b6aeceba255555600ca2a3046d63ee2d97dd424ecc291cd1fe21ba6f53398d71 differ diff --git a/workspace/assets/skins/b8/b8e025fc38c8d1ab7de5402ea780cf8396c3e275e568471aff0437fb1356a716 b/workspace/assets/skins/b8/b8e025fc38c8d1ab7de5402ea780cf8396c3e275e568471aff0437fb1356a716 new file mode 100644 index 00000000..197ad802 Binary files /dev/null and b/workspace/assets/skins/b8/b8e025fc38c8d1ab7de5402ea780cf8396c3e275e568471aff0437fb1356a716 differ diff --git a/workspace/assets/skins/ba/ba0ce605d0d2660d20d988ae90dae9672f51e6b6c4780fc4a887cc60c895a8b5 b/workspace/assets/skins/ba/ba0ce605d0d2660d20d988ae90dae9672f51e6b6c4780fc4a887cc60c895a8b5 new file mode 100644 index 00000000..176d9eff Binary files /dev/null and b/workspace/assets/skins/ba/ba0ce605d0d2660d20d988ae90dae9672f51e6b6c4780fc4a887cc60c895a8b5 differ diff --git a/workspace/assets/skins/bc/bc25f628caa0d24057f068b46be5db37af38537968eb809799f749d8606c7fe6 b/workspace/assets/skins/bc/bc25f628caa0d24057f068b46be5db37af38537968eb809799f749d8606c7fe6 new file mode 100644 index 00000000..9095269b Binary files /dev/null and b/workspace/assets/skins/bc/bc25f628caa0d24057f068b46be5db37af38537968eb809799f749d8606c7fe6 differ diff --git a/workspace/assets/skins/bc/bc53c106059f5654c21b4c4ed8cc0beeb8dd1698438545d84925288ddaedda65 b/workspace/assets/skins/bc/bc53c106059f5654c21b4c4ed8cc0beeb8dd1698438545d84925288ddaedda65 new file mode 100644 index 00000000..eeb2a219 Binary files /dev/null and b/workspace/assets/skins/bc/bc53c106059f5654c21b4c4ed8cc0beeb8dd1698438545d84925288ddaedda65 differ diff --git a/workspace/assets/skins/bc/bce1d217280aeb213a6fd5590f0c22dddd3e42a867f09639e6a91e5a5c32498e b/workspace/assets/skins/bc/bce1d217280aeb213a6fd5590f0c22dddd3e42a867f09639e6a91e5a5c32498e new file mode 100644 index 00000000..ed534589 Binary files /dev/null and b/workspace/assets/skins/bc/bce1d217280aeb213a6fd5590f0c22dddd3e42a867f09639e6a91e5a5c32498e differ diff --git a/workspace/assets/skins/bd/bd7df4183f9d689df7d181aba01b5de0acda74e11cbf77ef2084a68be49694f6 b/workspace/assets/skins/bd/bd7df4183f9d689df7d181aba01b5de0acda74e11cbf77ef2084a68be49694f6 new file mode 100644 index 00000000..96132724 Binary files /dev/null and b/workspace/assets/skins/bd/bd7df4183f9d689df7d181aba01b5de0acda74e11cbf77ef2084a68be49694f6 differ diff --git a/workspace/assets/skins/be/be87430cd01f6fa91a53266a64d55a06a65923b1cf7e500c50ca3072699acfe9 b/workspace/assets/skins/be/be87430cd01f6fa91a53266a64d55a06a65923b1cf7e500c50ca3072699acfe9 new file mode 100644 index 00000000..f8e40e25 Binary files /dev/null and b/workspace/assets/skins/be/be87430cd01f6fa91a53266a64d55a06a65923b1cf7e500c50ca3072699acfe9 differ diff --git a/workspace/assets/skins/bf/bfaffa17e62917643fb09c7e5dbc398e09b256bf2e1197499a9bdaec90c9a823 b/workspace/assets/skins/bf/bfaffa17e62917643fb09c7e5dbc398e09b256bf2e1197499a9bdaec90c9a823 new file mode 100644 index 00000000..d1f2cc97 Binary files /dev/null and b/workspace/assets/skins/bf/bfaffa17e62917643fb09c7e5dbc398e09b256bf2e1197499a9bdaec90c9a823 differ diff --git a/workspace/assets/skins/bf/bfb578575a6fcee1ff21e16040e2ac9dc1e9f8aed502eb8789069f12d91bdc6d b/workspace/assets/skins/bf/bfb578575a6fcee1ff21e16040e2ac9dc1e9f8aed502eb8789069f12d91bdc6d new file mode 100644 index 00000000..4d9cc022 Binary files /dev/null and b/workspace/assets/skins/bf/bfb578575a6fcee1ff21e16040e2ac9dc1e9f8aed502eb8789069f12d91bdc6d differ diff --git a/workspace/assets/skins/c0/c01fa703b5552dae1bafa84a18127b020ca7761ccfff5d47d87f34a0b7e27073 b/workspace/assets/skins/c0/c01fa703b5552dae1bafa84a18127b020ca7761ccfff5d47d87f34a0b7e27073 new file mode 100644 index 00000000..5b974e80 Binary files /dev/null and b/workspace/assets/skins/c0/c01fa703b5552dae1bafa84a18127b020ca7761ccfff5d47d87f34a0b7e27073 differ diff --git a/workspace/assets/skins/c0/c0882974c39cd68d5881aaf14d78b7744ed4574f95ab106b1215e8d1075160fb b/workspace/assets/skins/c0/c0882974c39cd68d5881aaf14d78b7744ed4574f95ab106b1215e8d1075160fb new file mode 100644 index 00000000..9efb485c Binary files /dev/null and b/workspace/assets/skins/c0/c0882974c39cd68d5881aaf14d78b7744ed4574f95ab106b1215e8d1075160fb differ diff --git a/workspace/assets/skins/c0/c0bdb3ced23bef2c3fc325b4e6ed8d012d552831d2920c004d763766a2113966 b/workspace/assets/skins/c0/c0bdb3ced23bef2c3fc325b4e6ed8d012d552831d2920c004d763766a2113966 new file mode 100644 index 00000000..d3cae0c0 Binary files /dev/null and b/workspace/assets/skins/c0/c0bdb3ced23bef2c3fc325b4e6ed8d012d552831d2920c004d763766a2113966 differ diff --git a/workspace/assets/skins/c1/c13c3544b8380b31c16d80ac89b64f07e27fbdf3ad61c7b6d69fb7ddbe34c6e4 b/workspace/assets/skins/c1/c13c3544b8380b31c16d80ac89b64f07e27fbdf3ad61c7b6d69fb7ddbe34c6e4 new file mode 100644 index 00000000..37821ed9 Binary files /dev/null and b/workspace/assets/skins/c1/c13c3544b8380b31c16d80ac89b64f07e27fbdf3ad61c7b6d69fb7ddbe34c6e4 differ diff --git a/workspace/assets/skins/c1/c186634e01796fd8cecc39091c49be6c439606f0eca766068fe098aa7f61b8b2 b/workspace/assets/skins/c1/c186634e01796fd8cecc39091c49be6c439606f0eca766068fe098aa7f61b8b2 new file mode 100644 index 00000000..74d15838 Binary files /dev/null and b/workspace/assets/skins/c1/c186634e01796fd8cecc39091c49be6c439606f0eca766068fe098aa7f61b8b2 differ diff --git a/workspace/assets/skins/c5/c57f023997749f2587e946312e5b4d9c58f1d105bd016c91ed9615cb12826263 b/workspace/assets/skins/c5/c57f023997749f2587e946312e5b4d9c58f1d105bd016c91ed9615cb12826263 new file mode 100644 index 00000000..8f312bd7 Binary files /dev/null and b/workspace/assets/skins/c5/c57f023997749f2587e946312e5b4d9c58f1d105bd016c91ed9615cb12826263 differ diff --git a/workspace/assets/skins/c5/c5df6740d469673a6449aa3d8eb5f351facd83085228bbcac084f69410f0bb48 b/workspace/assets/skins/c5/c5df6740d469673a6449aa3d8eb5f351facd83085228bbcac084f69410f0bb48 new file mode 100644 index 00000000..43d8690e Binary files /dev/null and b/workspace/assets/skins/c5/c5df6740d469673a6449aa3d8eb5f351facd83085228bbcac084f69410f0bb48 differ diff --git a/workspace/assets/skins/c6/c6e8c72cb54a4d8b66174ce9b9f22f1d6b7d989ecdb7f6d9703795472cba2ff7 b/workspace/assets/skins/c6/c6e8c72cb54a4d8b66174ce9b9f22f1d6b7d989ecdb7f6d9703795472cba2ff7 new file mode 100644 index 00000000..8fa111f2 Binary files /dev/null and b/workspace/assets/skins/c6/c6e8c72cb54a4d8b66174ce9b9f22f1d6b7d989ecdb7f6d9703795472cba2ff7 differ diff --git a/workspace/assets/skins/c7/c708a01238d7d3f52f0cd9fcf77cfdd13353532628fae5c824fdfa8d59c1eca b/workspace/assets/skins/c7/c708a01238d7d3f52f0cd9fcf77cfdd13353532628fae5c824fdfa8d59c1eca new file mode 100644 index 00000000..af4cfa59 Binary files /dev/null and b/workspace/assets/skins/c7/c708a01238d7d3f52f0cd9fcf77cfdd13353532628fae5c824fdfa8d59c1eca differ diff --git a/workspace/assets/skins/c9/c93b29d9b1c158ac457f09c93c1315517ea66a0c32e7fc711f7da82b98cb0198 b/workspace/assets/skins/c9/c93b29d9b1c158ac457f09c93c1315517ea66a0c32e7fc711f7da82b98cb0198 new file mode 100644 index 00000000..70435017 Binary files /dev/null and b/workspace/assets/skins/c9/c93b29d9b1c158ac457f09c93c1315517ea66a0c32e7fc711f7da82b98cb0198 differ diff --git a/workspace/assets/skins/c9/c943e438b591313667d5690f832036d72a275da1af33087e1fdbbbc0aff5d0b b/workspace/assets/skins/c9/c943e438b591313667d5690f832036d72a275da1af33087e1fdbbbc0aff5d0b new file mode 100644 index 00000000..f031610a Binary files /dev/null and b/workspace/assets/skins/c9/c943e438b591313667d5690f832036d72a275da1af33087e1fdbbbc0aff5d0b differ diff --git a/workspace/assets/skins/ca/caa814e54fb16ac4782dcc4964074bf08c086d0d8ad674f86392cb261f7ffe50 b/workspace/assets/skins/ca/caa814e54fb16ac4782dcc4964074bf08c086d0d8ad674f86392cb261f7ffe50 new file mode 100644 index 00000000..adb7b147 Binary files /dev/null and b/workspace/assets/skins/ca/caa814e54fb16ac4782dcc4964074bf08c086d0d8ad674f86392cb261f7ffe50 differ diff --git a/workspace/assets/skins/cd/cd7d2eccece6cf72fe2bbd425353823813f0b663e9187cd8c7312f7f206dda70 b/workspace/assets/skins/cd/cd7d2eccece6cf72fe2bbd425353823813f0b663e9187cd8c7312f7f206dda70 new file mode 100644 index 00000000..b818dc23 Binary files /dev/null and b/workspace/assets/skins/cd/cd7d2eccece6cf72fe2bbd425353823813f0b663e9187cd8c7312f7f206dda70 differ diff --git a/workspace/assets/skins/cf/cf6e72d9c42fcc653f0e58a88a72e387287df1f37e0974936ee35d060a0d269e b/workspace/assets/skins/cf/cf6e72d9c42fcc653f0e58a88a72e387287df1f37e0974936ee35d060a0d269e new file mode 100644 index 00000000..bfb71a56 Binary files /dev/null and b/workspace/assets/skins/cf/cf6e72d9c42fcc653f0e58a88a72e387287df1f37e0974936ee35d060a0d269e differ diff --git a/workspace/assets/skins/cf/cf9d2d9f837b6ff94e6b9f593ac5daad5e1bd2dad3abb1563a509fdbdb1cd2bf b/workspace/assets/skins/cf/cf9d2d9f837b6ff94e6b9f593ac5daad5e1bd2dad3abb1563a509fdbdb1cd2bf new file mode 100644 index 00000000..59bb78cd Binary files /dev/null and b/workspace/assets/skins/cf/cf9d2d9f837b6ff94e6b9f593ac5daad5e1bd2dad3abb1563a509fdbdb1cd2bf differ diff --git a/workspace/assets/skins/d4/d417fa9825e69aba9c4ef877672ed55411b086f6fb419e662d0928230eda35f5 b/workspace/assets/skins/d4/d417fa9825e69aba9c4ef877672ed55411b086f6fb419e662d0928230eda35f5 new file mode 100644 index 00000000..5cfde693 Binary files /dev/null and b/workspace/assets/skins/d4/d417fa9825e69aba9c4ef877672ed55411b086f6fb419e662d0928230eda35f5 differ diff --git a/workspace/assets/skins/d4/d42c98f2c33bd0ec2c087e493591a768dccbd5ba0922131cea0d7bb9e620f25b b/workspace/assets/skins/d4/d42c98f2c33bd0ec2c087e493591a768dccbd5ba0922131cea0d7bb9e620f25b new file mode 100644 index 00000000..df613680 Binary files /dev/null and b/workspace/assets/skins/d4/d42c98f2c33bd0ec2c087e493591a768dccbd5ba0922131cea0d7bb9e620f25b differ diff --git a/workspace/assets/skins/d4/d4e5c4d9c737cc3af0157d775af9185b6ba45a07edc611ef9b3c6dc8aaea2105 b/workspace/assets/skins/d4/d4e5c4d9c737cc3af0157d775af9185b6ba45a07edc611ef9b3c6dc8aaea2105 new file mode 100644 index 00000000..65fe682d Binary files /dev/null and b/workspace/assets/skins/d4/d4e5c4d9c737cc3af0157d775af9185b6ba45a07edc611ef9b3c6dc8aaea2105 differ diff --git a/workspace/assets/skins/d4/d4e959fe6aa0789df8a4df77e219cd288a8933202de5bd2f67532085f14343dc b/workspace/assets/skins/d4/d4e959fe6aa0789df8a4df77e219cd288a8933202de5bd2f67532085f14343dc new file mode 100644 index 00000000..93ac514e Binary files /dev/null and b/workspace/assets/skins/d4/d4e959fe6aa0789df8a4df77e219cd288a8933202de5bd2f67532085f14343dc differ diff --git a/workspace/assets/skins/d6/d66bd5bdcef7dd5da1964000dda1f3dc51d88f552cf58e138c237598ce259ffd b/workspace/assets/skins/d6/d66bd5bdcef7dd5da1964000dda1f3dc51d88f552cf58e138c237598ce259ffd new file mode 100644 index 00000000..a2160ba3 Binary files /dev/null and b/workspace/assets/skins/d6/d66bd5bdcef7dd5da1964000dda1f3dc51d88f552cf58e138c237598ce259ffd differ diff --git a/workspace/assets/skins/d6/d6dece842bb5082c3bb7d9bb5eb820ca1692d21db7508dcb43a471b11980cba9 b/workspace/assets/skins/d6/d6dece842bb5082c3bb7d9bb5eb820ca1692d21db7508dcb43a471b11980cba9 new file mode 100644 index 00000000..dbeb3e24 Binary files /dev/null and b/workspace/assets/skins/d6/d6dece842bb5082c3bb7d9bb5eb820ca1692d21db7508dcb43a471b11980cba9 differ diff --git a/workspace/assets/skins/d8/d80fd55f4b66e8ab99c07de9e1070477927232cac61b0b87c602a5d7ea138786 b/workspace/assets/skins/d8/d80fd55f4b66e8ab99c07de9e1070477927232cac61b0b87c602a5d7ea138786 new file mode 100644 index 00000000..ead5a6f8 Binary files /dev/null and b/workspace/assets/skins/d8/d80fd55f4b66e8ab99c07de9e1070477927232cac61b0b87c602a5d7ea138786 differ diff --git a/workspace/assets/skins/d8/d85c1867269270774911b328a662e94a1f3636adfd6e65721039922fee63d804 b/workspace/assets/skins/d8/d85c1867269270774911b328a662e94a1f3636adfd6e65721039922fee63d804 new file mode 100644 index 00000000..7fa43e0b Binary files /dev/null and b/workspace/assets/skins/d8/d85c1867269270774911b328a662e94a1f3636adfd6e65721039922fee63d804 differ diff --git a/workspace/assets/skins/d9/d999eb593856344db80d572ec57fe5709389f8ef9bff89f6bad753f4ca4549fd b/workspace/assets/skins/d9/d999eb593856344db80d572ec57fe5709389f8ef9bff89f6bad753f4ca4549fd new file mode 100644 index 00000000..43b3cd18 Binary files /dev/null and b/workspace/assets/skins/d9/d999eb593856344db80d572ec57fe5709389f8ef9bff89f6bad753f4ca4549fd differ diff --git a/workspace/assets/skins/d9/d9eb64e674a49b8382e9c3bb91a5ffb2118cb82eda53996ebdd34dee5db2aa50 b/workspace/assets/skins/d9/d9eb64e674a49b8382e9c3bb91a5ffb2118cb82eda53996ebdd34dee5db2aa50 new file mode 100644 index 00000000..2533d708 Binary files /dev/null and b/workspace/assets/skins/d9/d9eb64e674a49b8382e9c3bb91a5ffb2118cb82eda53996ebdd34dee5db2aa50 differ diff --git a/workspace/assets/skins/db/dbb29e60c2a540d09283de22b356f5c1d6d8958d4d978673d8e6f6c94981f22a b/workspace/assets/skins/db/dbb29e60c2a540d09283de22b356f5c1d6d8958d4d978673d8e6f6c94981f22a new file mode 100644 index 00000000..c2ca08f5 Binary files /dev/null and b/workspace/assets/skins/db/dbb29e60c2a540d09283de22b356f5c1d6d8958d4d978673d8e6f6c94981f22a differ diff --git a/workspace/assets/skins/db/dbc5282a63f60761533cb17ee52faa84249352464ead727d6302de01a5463745 b/workspace/assets/skins/db/dbc5282a63f60761533cb17ee52faa84249352464ead727d6302de01a5463745 new file mode 100644 index 00000000..f0b12095 Binary files /dev/null and b/workspace/assets/skins/db/dbc5282a63f60761533cb17ee52faa84249352464ead727d6302de01a5463745 differ diff --git a/workspace/assets/skins/dc/dc067d9d1fff995099eee81648d98248a7f4701827e602e1b54ca8d9f7d86132 b/workspace/assets/skins/dc/dc067d9d1fff995099eee81648d98248a7f4701827e602e1b54ca8d9f7d86132 new file mode 100644 index 00000000..14bc0660 Binary files /dev/null and b/workspace/assets/skins/dc/dc067d9d1fff995099eee81648d98248a7f4701827e602e1b54ca8d9f7d86132 differ diff --git a/workspace/assets/skins/dc/dc59419fa6a199cd102a42a35f1e81f3d9877ceb82eb0984fce773e2671a5617 b/workspace/assets/skins/dc/dc59419fa6a199cd102a42a35f1e81f3d9877ceb82eb0984fce773e2671a5617 new file mode 100644 index 00000000..554b8386 Binary files /dev/null and b/workspace/assets/skins/dc/dc59419fa6a199cd102a42a35f1e81f3d9877ceb82eb0984fce773e2671a5617 differ diff --git a/workspace/assets/skins/de/de4be4aa6ae0627c27b3b9c3496335d814216b6c8be2ecc7b2b5011fa7fea9d7 b/workspace/assets/skins/de/de4be4aa6ae0627c27b3b9c3496335d814216b6c8be2ecc7b2b5011fa7fea9d7 new file mode 100644 index 00000000..603004dc Binary files /dev/null and b/workspace/assets/skins/de/de4be4aa6ae0627c27b3b9c3496335d814216b6c8be2ecc7b2b5011fa7fea9d7 differ diff --git a/workspace/assets/skins/de/de647076151abb5a9c81fbc992d968adc740803c67aad0aa83c35f7c0586e60c b/workspace/assets/skins/de/de647076151abb5a9c81fbc992d968adc740803c67aad0aa83c35f7c0586e60c new file mode 100644 index 00000000..73976f04 Binary files /dev/null and b/workspace/assets/skins/de/de647076151abb5a9c81fbc992d968adc740803c67aad0aa83c35f7c0586e60c differ diff --git a/workspace/assets/skins/de/deaa89583f9256c55924a38367ebd0fc093115c4c640ce94e537fd1788f1a7a4 b/workspace/assets/skins/de/deaa89583f9256c55924a38367ebd0fc093115c4c640ce94e537fd1788f1a7a4 new file mode 100644 index 00000000..e76cfc39 Binary files /dev/null and b/workspace/assets/skins/de/deaa89583f9256c55924a38367ebd0fc093115c4c640ce94e537fd1788f1a7a4 differ diff --git a/workspace/assets/skins/de/def894c1c500ddabe1f699f4f7a6d412c99f3ebe25cfce925a0780ee4a415bbf b/workspace/assets/skins/de/def894c1c500ddabe1f699f4f7a6d412c99f3ebe25cfce925a0780ee4a415bbf new file mode 100644 index 00000000..682c5c9b Binary files /dev/null and b/workspace/assets/skins/de/def894c1c500ddabe1f699f4f7a6d412c99f3ebe25cfce925a0780ee4a415bbf differ diff --git a/workspace/assets/skins/df/df7798055a0418e1755e4cf36524c630d17e32c417eb19183dca88f6fedf5544 b/workspace/assets/skins/df/df7798055a0418e1755e4cf36524c630d17e32c417eb19183dca88f6fedf5544 new file mode 100644 index 00000000..c6e95fdf Binary files /dev/null and b/workspace/assets/skins/df/df7798055a0418e1755e4cf36524c630d17e32c417eb19183dca88f6fedf5544 differ diff --git a/workspace/assets/skins/df/dfe60d4990b419abe35f81844b11bdd3448f0d1ada7e2ac6ca7dbcf4b7624d48 b/workspace/assets/skins/df/dfe60d4990b419abe35f81844b11bdd3448f0d1ada7e2ac6ca7dbcf4b7624d48 new file mode 100644 index 00000000..9490cbc3 Binary files /dev/null and b/workspace/assets/skins/df/dfe60d4990b419abe35f81844b11bdd3448f0d1ada7e2ac6ca7dbcf4b7624d48 differ diff --git a/workspace/assets/skins/e0/e0bd60828c28bd3fc77977dfe830df6e14ae2de2dd22ed49c33fcbcce167af50 b/workspace/assets/skins/e0/e0bd60828c28bd3fc77977dfe830df6e14ae2de2dd22ed49c33fcbcce167af50 new file mode 100644 index 00000000..c02d084a Binary files /dev/null and b/workspace/assets/skins/e0/e0bd60828c28bd3fc77977dfe830df6e14ae2de2dd22ed49c33fcbcce167af50 differ diff --git a/workspace/assets/skins/e2/e2ab4191150ac8608aa5fa3dca0e7f9da520dde23b73175cf051a6275fa219b7 b/workspace/assets/skins/e2/e2ab4191150ac8608aa5fa3dca0e7f9da520dde23b73175cf051a6275fa219b7 new file mode 100644 index 00000000..278ec4c5 Binary files /dev/null and b/workspace/assets/skins/e2/e2ab4191150ac8608aa5fa3dca0e7f9da520dde23b73175cf051a6275fa219b7 differ diff --git a/workspace/assets/skins/e5/e505f48e1afb1bc862764dcb6ba521ccf27a394263c0c35a44e9f80b65fa6b83 b/workspace/assets/skins/e5/e505f48e1afb1bc862764dcb6ba521ccf27a394263c0c35a44e9f80b65fa6b83 new file mode 100644 index 00000000..280629b6 Binary files /dev/null and b/workspace/assets/skins/e5/e505f48e1afb1bc862764dcb6ba521ccf27a394263c0c35a44e9f80b65fa6b83 differ diff --git a/workspace/assets/skins/e7/e7cfcdce9959218d6f9c1b4cf5bd76b16c84e5b387e7c2f857eba3e02a9e9baa b/workspace/assets/skins/e7/e7cfcdce9959218d6f9c1b4cf5bd76b16c84e5b387e7c2f857eba3e02a9e9baa new file mode 100644 index 00000000..26514bd0 Binary files /dev/null and b/workspace/assets/skins/e7/e7cfcdce9959218d6f9c1b4cf5bd76b16c84e5b387e7c2f857eba3e02a9e9baa differ diff --git a/workspace/assets/skins/e8/e85ee70b7607f3eefbdb7b4ad19483bf5fe8c4e95b2ba9c8ff5565e615f026c6 b/workspace/assets/skins/e8/e85ee70b7607f3eefbdb7b4ad19483bf5fe8c4e95b2ba9c8ff5565e615f026c6 new file mode 100644 index 00000000..2bd51e01 Binary files /dev/null and b/workspace/assets/skins/e8/e85ee70b7607f3eefbdb7b4ad19483bf5fe8c4e95b2ba9c8ff5565e615f026c6 differ diff --git a/workspace/assets/skins/e8/e8e8bdbeec65641c95b7035906c3e864d73aadb0992ce84a26aedebd79c0939a b/workspace/assets/skins/e8/e8e8bdbeec65641c95b7035906c3e864d73aadb0992ce84a26aedebd79c0939a new file mode 100644 index 00000000..f7b0137d Binary files /dev/null and b/workspace/assets/skins/e8/e8e8bdbeec65641c95b7035906c3e864d73aadb0992ce84a26aedebd79c0939a differ diff --git a/workspace/assets/skins/ea/eab12251fffd8fbc0cf6ddc63423e6325b75ad1e73f4cd213941ff72b1e48f82 b/workspace/assets/skins/ea/eab12251fffd8fbc0cf6ddc63423e6325b75ad1e73f4cd213941ff72b1e48f82 new file mode 100644 index 00000000..ee4469e3 Binary files /dev/null and b/workspace/assets/skins/ea/eab12251fffd8fbc0cf6ddc63423e6325b75ad1e73f4cd213941ff72b1e48f82 differ diff --git a/workspace/assets/skins/ec/ec13fa8aac84c270c59aae11dfabf7a0f7b59f5a4843a0bb0b47f1345defd321 b/workspace/assets/skins/ec/ec13fa8aac84c270c59aae11dfabf7a0f7b59f5a4843a0bb0b47f1345defd321 new file mode 100644 index 00000000..84656dfc Binary files /dev/null and b/workspace/assets/skins/ec/ec13fa8aac84c270c59aae11dfabf7a0f7b59f5a4843a0bb0b47f1345defd321 differ diff --git a/workspace/assets/skins/ec/ec2cd4c04a0c4b911be5b0da2d3bcbeee94b72d8d092fc45ced3cba1954066af b/workspace/assets/skins/ec/ec2cd4c04a0c4b911be5b0da2d3bcbeee94b72d8d092fc45ced3cba1954066af new file mode 100644 index 00000000..bf55d6b0 Binary files /dev/null and b/workspace/assets/skins/ec/ec2cd4c04a0c4b911be5b0da2d3bcbeee94b72d8d092fc45ced3cba1954066af differ diff --git a/workspace/assets/skins/ef/ef3509d6a0eb759a817eb637c0060e57dba22b0f9e9687f37c12e0cba16f1049 b/workspace/assets/skins/ef/ef3509d6a0eb759a817eb637c0060e57dba22b0f9e9687f37c12e0cba16f1049 new file mode 100644 index 00000000..93af49ec Binary files /dev/null and b/workspace/assets/skins/ef/ef3509d6a0eb759a817eb637c0060e57dba22b0f9e9687f37c12e0cba16f1049 differ diff --git a/workspace/assets/skins/ef/eff3c5ed2ec961a5c046e247ab5ac21c43144f0c0d11dc69bf3a1c11b81380a0 b/workspace/assets/skins/ef/eff3c5ed2ec961a5c046e247ab5ac21c43144f0c0d11dc69bf3a1c11b81380a0 new file mode 100644 index 00000000..fc33a62c Binary files /dev/null and b/workspace/assets/skins/ef/eff3c5ed2ec961a5c046e247ab5ac21c43144f0c0d11dc69bf3a1c11b81380a0 differ diff --git a/workspace/assets/skins/f1/f1032fb4dad53ad4f8b6517c7e1c9b66ab86821d0d9958e04f2369aebe8076d8 b/workspace/assets/skins/f1/f1032fb4dad53ad4f8b6517c7e1c9b66ab86821d0d9958e04f2369aebe8076d8 new file mode 100644 index 00000000..1ae42736 Binary files /dev/null and b/workspace/assets/skins/f1/f1032fb4dad53ad4f8b6517c7e1c9b66ab86821d0d9958e04f2369aebe8076d8 differ diff --git a/workspace/assets/skins/f1/f134c00cb1dda76ea6d5405be73e5aed4d5bfb2db581921fa8b13795d1e80e20 b/workspace/assets/skins/f1/f134c00cb1dda76ea6d5405be73e5aed4d5bfb2db581921fa8b13795d1e80e20 new file mode 100644 index 00000000..395f19c5 Binary files /dev/null and b/workspace/assets/skins/f1/f134c00cb1dda76ea6d5405be73e5aed4d5bfb2db581921fa8b13795d1e80e20 differ diff --git a/workspace/assets/skins/f1/f163bd16ba83e283a5ab3e39912c1cfd8c6a143c816a7ebd85772ac4aaf4f90 b/workspace/assets/skins/f1/f163bd16ba83e283a5ab3e39912c1cfd8c6a143c816a7ebd85772ac4aaf4f90 new file mode 100644 index 00000000..16e28d96 Binary files /dev/null and b/workspace/assets/skins/f1/f163bd16ba83e283a5ab3e39912c1cfd8c6a143c816a7ebd85772ac4aaf4f90 differ diff --git a/workspace/assets/skins/f1/f1c96dd74fd17b50428196650cb0d09d6eea75f331b08ebc83e4fc7df893e798 b/workspace/assets/skins/f1/f1c96dd74fd17b50428196650cb0d09d6eea75f331b08ebc83e4fc7df893e798 new file mode 100644 index 00000000..34301e15 Binary files /dev/null and b/workspace/assets/skins/f1/f1c96dd74fd17b50428196650cb0d09d6eea75f331b08ebc83e4fc7df893e798 differ diff --git a/workspace/assets/skins/f1/f1cd5de9696d12183fbc769c64803b97bda7f43265ef568990eda62f5fbc070 b/workspace/assets/skins/f1/f1cd5de9696d12183fbc769c64803b97bda7f43265ef568990eda62f5fbc070 new file mode 100644 index 00000000..b4096382 Binary files /dev/null and b/workspace/assets/skins/f1/f1cd5de9696d12183fbc769c64803b97bda7f43265ef568990eda62f5fbc070 differ diff --git a/workspace/assets/skins/f3/f315588bdc46d5fa6868ebc447489ef6e7b461b987acb0bba6ee1dc4cb97b756 b/workspace/assets/skins/f3/f315588bdc46d5fa6868ebc447489ef6e7b461b987acb0bba6ee1dc4cb97b756 new file mode 100644 index 00000000..6a77e9c5 Binary files /dev/null and b/workspace/assets/skins/f3/f315588bdc46d5fa6868ebc447489ef6e7b461b987acb0bba6ee1dc4cb97b756 differ diff --git a/workspace/assets/skins/f4/f44b7fadd44758998e348503ee380a8c2869e70528f587b035373f3cf2b7bd55 b/workspace/assets/skins/f4/f44b7fadd44758998e348503ee380a8c2869e70528f587b035373f3cf2b7bd55 new file mode 100644 index 00000000..5212936e Binary files /dev/null and b/workspace/assets/skins/f4/f44b7fadd44758998e348503ee380a8c2869e70528f587b035373f3cf2b7bd55 differ diff --git a/workspace/assets/skins/f4/f4639031594fea6b3084f7db6e8a8cb8c53868cbf8919c89c9f76111c8d13fbb b/workspace/assets/skins/f4/f4639031594fea6b3084f7db6e8a8cb8c53868cbf8919c89c9f76111c8d13fbb new file mode 100644 index 00000000..266fab3c Binary files /dev/null and b/workspace/assets/skins/f4/f4639031594fea6b3084f7db6e8a8cb8c53868cbf8919c89c9f76111c8d13fbb differ diff --git a/workspace/assets/skins/f6/f607485da6937fafb8d9e2b3d60f9c19a695715926e5def4d99390f5f54e36f9 b/workspace/assets/skins/f6/f607485da6937fafb8d9e2b3d60f9c19a695715926e5def4d99390f5f54e36f9 new file mode 100644 index 00000000..cd3b54fc Binary files /dev/null and b/workspace/assets/skins/f6/f607485da6937fafb8d9e2b3d60f9c19a695715926e5def4d99390f5f54e36f9 differ diff --git a/workspace/assets/skins/f6/f6423c0ec942a93334be52c5a0a7728f55220b140ccf8e2352cb317268f2ef64 b/workspace/assets/skins/f6/f6423c0ec942a93334be52c5a0a7728f55220b140ccf8e2352cb317268f2ef64 new file mode 100644 index 00000000..7ca0e556 Binary files /dev/null and b/workspace/assets/skins/f6/f6423c0ec942a93334be52c5a0a7728f55220b140ccf8e2352cb317268f2ef64 differ diff --git a/workspace/assets/skins/f7/f736cec5299e81052e7c8652f5aa40c731b7411727c072e6d57ea9947201a047 b/workspace/assets/skins/f7/f736cec5299e81052e7c8652f5aa40c731b7411727c072e6d57ea9947201a047 new file mode 100644 index 00000000..48e88635 Binary files /dev/null and b/workspace/assets/skins/f7/f736cec5299e81052e7c8652f5aa40c731b7411727c072e6d57ea9947201a047 differ diff --git a/workspace/assets/skins/f8/f81b2ee7fdc67c0dd1a4910af0b0192a692ff9b1369fe4122571a1eb7ef9ca3c b/workspace/assets/skins/f8/f81b2ee7fdc67c0dd1a4910af0b0192a692ff9b1369fe4122571a1eb7ef9ca3c new file mode 100644 index 00000000..8157e7c3 Binary files /dev/null and b/workspace/assets/skins/f8/f81b2ee7fdc67c0dd1a4910af0b0192a692ff9b1369fe4122571a1eb7ef9ca3c differ diff --git a/workspace/assets/skins/f9/f99d58d940bcb2d7b0d7544b0d50b7d8002c2f10e92879e2ed12bb4eec2eeb29 b/workspace/assets/skins/f9/f99d58d940bcb2d7b0d7544b0d50b7d8002c2f10e92879e2ed12bb4eec2eeb29 new file mode 100644 index 00000000..130b6544 Binary files /dev/null and b/workspace/assets/skins/f9/f99d58d940bcb2d7b0d7544b0d50b7d8002c2f10e92879e2ed12bb4eec2eeb29 differ diff --git a/workspace/assets/skins/fb/fb840cac11b7ec9c448c54b25e35cb30b357d75a9ef25a3f1beccd56f936c0d1 b/workspace/assets/skins/fb/fb840cac11b7ec9c448c54b25e35cb30b357d75a9ef25a3f1beccd56f936c0d1 new file mode 100644 index 00000000..15a7eda8 Binary files /dev/null and b/workspace/assets/skins/fb/fb840cac11b7ec9c448c54b25e35cb30b357d75a9ef25a3f1beccd56f936c0d1 differ diff --git a/workspace/assets/skins/fb/fbf9b998e2139fb3f94c09115796a69ca683a083387ae315bebc3aecccb2f655 b/workspace/assets/skins/fb/fbf9b998e2139fb3f94c09115796a69ca683a083387ae315bebc3aecccb2f655 new file mode 100644 index 00000000..c98e5240 Binary files /dev/null and b/workspace/assets/skins/fb/fbf9b998e2139fb3f94c09115796a69ca683a083387ae315bebc3aecccb2f655 differ diff --git a/workspace/assets/skins/fc/fc6d9f2e0469e95ae208fd921561b7ee39940081b0daaca9c54fcae977df097a b/workspace/assets/skins/fc/fc6d9f2e0469e95ae208fd921561b7ee39940081b0daaca9c54fcae977df097a new file mode 100644 index 00000000..51ddb332 Binary files /dev/null and b/workspace/assets/skins/fc/fc6d9f2e0469e95ae208fd921561b7ee39940081b0daaca9c54fcae977df097a differ diff --git a/workspace/assets/skins/fc/fc76d2939265b1ac8f195398337d93c41979912d2f451381fe6c32bb536769d0 b/workspace/assets/skins/fc/fc76d2939265b1ac8f195398337d93c41979912d2f451381fe6c32bb536769d0 new file mode 100644 index 00000000..7f282b89 Binary files /dev/null and b/workspace/assets/skins/fc/fc76d2939265b1ac8f195398337d93c41979912d2f451381fe6c32bb536769d0 differ diff --git a/workspace/assets/skins/fd/fdfeca43ff1003a0f2139e590a0ad2fc45dbd2bb9a64b236d59b72245401a093 b/workspace/assets/skins/fd/fdfeca43ff1003a0f2139e590a0ad2fc45dbd2bb9a64b236d59b72245401a093 new file mode 100644 index 00000000..ee7dbecd Binary files /dev/null and b/workspace/assets/skins/fd/fdfeca43ff1003a0f2139e590a0ad2fc45dbd2bb9a64b236d59b72245401a093 differ diff --git a/workspace/crash-reports/crash-2023-06-08_17.27.31-client.txt b/workspace/crash-reports/crash-2023-06-08_17.27.31-client.txt new file mode 100644 index 00000000..fe6e4d09 --- /dev/null +++ b/workspace/crash-reports/crash-2023-06-08_17.27.31-client.txt @@ -0,0 +1,104 @@ +---- Minecraft Crash Report ---- +// This doesn't make any sense! + +Time: 6/8/23 5:27 PM +Description: Rendering screen + +java.lang.NullPointerException: Rendering screen + at rip.athena.client.utils.font.impl.athena.FontRenderer.requiresInternationalFont(FontRenderer.java:285) + at rip.athena.client.utils.font.impl.athena.FontRenderer.width(FontRenderer.java:247) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.getStringWidth(SimpleGradientButton.java:91) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.onRender(SimpleGradientButton.java:74) + at rip.athena.client.gui.clickgui.components.mods.ModScrollPane.onRender(ModScrollPane.java:195) + at rip.athena.client.gui.framework.Menu.onRender(Menu.java:88) + at rip.athena.client.gui.framework.MinecraftMenuImpl.drawScreen(MinecraftMenuImpl.java:56) + at rip.athena.client.gui.clickgui.IngameMenu.drawScreen(IngameMenu.java:155) + at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1431) + at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1151) + at net.minecraft.client.Minecraft.run(Minecraft.java:430) + at net.minecraft.client.main.Main.main(Main.java:113) + at Start.main(Start.java:11) + + +A detailed walkthrough of the error, its code path and all known details is as follows: +--------------------------------------------------------------------------------------- + +-- Head -- +Stacktrace: + at rip.athena.client.utils.font.impl.athena.FontRenderer.requiresInternationalFont(FontRenderer.java:285) + at rip.athena.client.utils.font.impl.athena.FontRenderer.width(FontRenderer.java:247) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.getStringWidth(SimpleGradientButton.java:91) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.onRender(SimpleGradientButton.java:74) + at rip.athena.client.gui.clickgui.components.mods.ModScrollPane.onRender(ModScrollPane.java:195) + at rip.athena.client.gui.framework.Menu.onRender(Menu.java:88) + at rip.athena.client.gui.framework.MinecraftMenuImpl.drawScreen(MinecraftMenuImpl.java:56) + at rip.athena.client.gui.clickgui.IngameMenu.drawScreen(IngameMenu.java:155) + +-- Screen render details -- +Details: + Screen name: rip.athena.client.gui.clickgui.IngameMenu + Mouse location: Scaled: (291, 317). Absolute: (582, 374) + Screen size: Scaled: (960, 505). Absolute: (1920, 1009). Scale factor of 2 + +-- Affected level -- +Details: + Level name: MpServer + All players: 1 total; [EntityPlayerSP['Player813'/85, l='MpServer', x=-65.18, y=73.00, z=478.87]] + Chunk stats: MultiplayerChunkCache: 289, 289 + Level seed: 0 + Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false + Level generator options: + Level spawn location: 5.00,64.00,557.00 - World: (5,64,557), Chunk: (at 5,4,13 in 0,34; contains blocks 0,0,544 to 15,255,559), Region: (0,1; contains chunks 0,32 to 31,63, blocks 0,0,512 to 511,255,1023) + Level time: 228251 game time, 212665 day time + Level dimension: 0 + Level storage version: 0x00000 - Unknown? + Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) + Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false + Forced entities: 29 total; [EntityZombie['Zombie'/128, l='MpServer', x=-106.50, y=24.00, z=478.50], EntityBat['Bat'/64, l='MpServer', x=3.38, y=16.00, z=524.97], EntityZombie['Zombie'/130, l='MpServer', x=-107.54, y=24.00, z=479.09], EntityZombie['Zombie'/131, l='MpServer', x=-106.50, y=24.00, z=481.50], EntityPlayerSP['Player813'/85, l='MpServer', x=-65.18, y=73.00, z=478.87], EntityZombie['Zombie'/17, l='MpServer', x=-135.97, y=17.00, z=526.44], EntityBat['Bat'/18, l='MpServer', x=-131.00, y=15.00, z=532.66], EntityCreeper['Creeper'/21, l='MpServer', x=-122.50, y=26.00, z=401.50], EntityZombie['Zombie'/22, l='MpServer', x=-128.16, y=13.00, z=522.28], EntityZombie['Zombie'/23, l='MpServer', x=-125.81, y=14.00, z=527.22], EntityBat['Bat'/24, l='MpServer', x=-125.16, y=24.47, z=516.47], EntityBat['Bat'/25, l='MpServer', x=-123.94, y=24.72, z=519.13], EntityZombie['Zombie'/26, l='MpServer', x=-123.50, y=45.00, z=515.50], EntitySkeleton['Skeleton'/27, l='MpServer', x=-119.50, y=15.00, z=545.50], EntitySkeleton['Skeleton'/100, l='MpServer', x=-81.30, y=64.97, z=443.57], EntityBat['Bat'/41, l='MpServer', x=-80.34, y=55.10, z=473.69], EntitySkeleton['Skeleton'/46, l='MpServer', x=-67.91, y=66.00, z=404.88], EntityZombie['Zombie'/47, l='MpServer', x=-70.50, y=66.00, z=408.50], EntitySpider['Spider'/48, l='MpServer', x=-64.50, y=67.00, z=513.50], EntitySpider['Spider'/49, l='MpServer', x=-63.50, y=66.00, z=401.50], EntitySkeleton['Skeleton'/50, l='MpServer', x=-54.09, y=69.00, z=464.44], EntitySkeleton['Skeleton'/51, l='MpServer', x=-61.50, y=69.00, z=533.50], EntitySpider['Spider'/52, l='MpServer', x=-54.50, y=69.00, z=530.50], EntityCreeper['Creeper'/53, l='MpServer', x=-38.84, y=62.53, z=467.75], EntitySkeleton['Skeleton'/122, l='MpServer', x=-62.50, y=69.00, z=452.50], EntityCreeper['Creeper'/58, l='MpServer', x=-2.13, y=72.00, z=472.19], EntityEnderman['Enderman'/123, l='MpServer', x=-113.50, y=29.00, z=552.50], EntityZombie['Zombie'/127, l='MpServer', x=-108.50, y=24.00, z=479.50], EntityCreeper['Creeper'/63, l='MpServer', x=10.50, y=70.00, z=510.50]] + Retry entities: 0 total; [] + Server brand: vanilla + Server type: Integrated singleplayer server +Stacktrace: + at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401) + at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2791) + at net.minecraft.client.Minecraft.run(Minecraft.java:451) + at net.minecraft.client.main.Main.main(Main.java:113) + at Start.main(Start.java:11) + +-- System Details -- +Details: + Minecraft Version: 1.8.8 + Operating System: Windows 10 (amd64) version 10.0 + CPU: 12x AMD Ryzen 5 5600X 6-Core Processor + Java Version: 1.8.0_202, Oracle Corporation + Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation + Memory: 148976752 bytes (142 MB) / 807927808 bytes (770 MB) up to 3801088000 bytes (3625 MB) + JVM Flags: 0 total; + IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 99 + Launched Version: mcp + LWJGL: 2.9.4 + OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation + GL Caps: Using GL 1.3 multitexturing. +Using GL 1.3 texture combiners. +Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. +Shaders are available because OpenGL 2.1 is supported. +VBOs are available because OpenGL 1.5 is supported. + + Using VBOs: Yes + Is Modded: Very likely; Jar signature invalidated + Type: Client (map_client.txt) + Resource Packs: ! §bPotfast 5kay.zip + Current Language: English (US) + Profiler Position: N/A (disabled) + CPU: 12x AMD Ryzen 5 5600X 6-Core Processor + OptiFine Version: OptiFine_1.8.8_HD_U_H8 + Render Distance Chunks: 8 + Mipmaps: 4 + Anisotropic Filtering: 1 + Antialiasing: 0 + Multitexture: false + Shaders: null + OpenGlVersion: 4.6.0 NVIDIA 532.03 + OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 + OpenGlVendor: NVIDIA Corporation + CpuCount: 12 \ No newline at end of file diff --git a/workspace/crash-reports/crash-2023-06-08_17.35.41-client.txt b/workspace/crash-reports/crash-2023-06-08_17.35.41-client.txt new file mode 100644 index 00000000..d86aba3e --- /dev/null +++ b/workspace/crash-reports/crash-2023-06-08_17.35.41-client.txt @@ -0,0 +1,104 @@ +---- Minecraft Crash Report ---- +// There are four lights! + +Time: 6/8/23 5:35 PM +Description: Rendering screen + +java.lang.NullPointerException: Rendering screen + at rip.athena.client.utils.font.impl.athena.FontRenderer.requiresInternationalFont(FontRenderer.java:285) + at rip.athena.client.utils.font.impl.athena.FontRenderer.width(FontRenderer.java:247) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.getStringWidth(SimpleGradientButton.java:91) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.onRender(SimpleGradientButton.java:74) + at rip.athena.client.gui.clickgui.components.mods.ModScrollPane.onRender(ModScrollPane.java:195) + at rip.athena.client.gui.framework.Menu.onRender(Menu.java:88) + at rip.athena.client.gui.framework.MinecraftMenuImpl.drawScreen(MinecraftMenuImpl.java:56) + at rip.athena.client.gui.clickgui.IngameMenu.drawScreen(IngameMenu.java:155) + at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1431) + at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1151) + at net.minecraft.client.Minecraft.run(Minecraft.java:430) + at net.minecraft.client.main.Main.main(Main.java:113) + at Start.main(Start.java:11) + + +A detailed walkthrough of the error, its code path and all known details is as follows: +--------------------------------------------------------------------------------------- + +-- Head -- +Stacktrace: + at rip.athena.client.utils.font.impl.athena.FontRenderer.requiresInternationalFont(FontRenderer.java:285) + at rip.athena.client.utils.font.impl.athena.FontRenderer.width(FontRenderer.java:247) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.getStringWidth(SimpleGradientButton.java:91) + at rip.athena.client.gui.clickgui.components.themes.SimpleGradientButton.onRender(SimpleGradientButton.java:74) + at rip.athena.client.gui.clickgui.components.mods.ModScrollPane.onRender(ModScrollPane.java:195) + at rip.athena.client.gui.framework.Menu.onRender(Menu.java:88) + at rip.athena.client.gui.framework.MinecraftMenuImpl.drawScreen(MinecraftMenuImpl.java:56) + at rip.athena.client.gui.clickgui.IngameMenu.drawScreen(IngameMenu.java:155) + +-- Screen render details -- +Details: + Screen name: rip.athena.client.gui.clickgui.IngameMenu + Mouse location: Scaled: (565, 326). Absolute: (1131, 356) + Screen size: Scaled: (960, 505). Absolute: (1920, 1009). Scale factor of 2 + +-- Affected level -- +Details: + Level name: MpServer + All players: 1 total; [EntityPlayerSP['Player999'/98, l='MpServer', x=-80.34, y=76.51, z=541.60]] + Chunk stats: MultiplayerChunkCache: 287, 287 + Level seed: 0 + Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false + Level generator options: + Level spawn location: 5.00,64.00,557.00 - World: (5,64,557), Chunk: (at 5,4,13 in 0,34; contains blocks 0,0,544 to 15,255,559), Region: (0,1; contains chunks 0,32 to 31,63, blocks 0,0,512 to 511,255,1023) + Level time: 237006 game time, 221420 day time + Level dimension: 0 + Level storage version: 0x00000 - Unknown? + Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) + Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false + Forced entities: 55 total; [EntityWitch['Witch'/2309, l='MpServer', x=-124.50, y=27.00, z=492.50], EntityBat['Bat'/1933, l='MpServer', x=-27.50, y=20.34, z=568.63], EntityCreeper['Creeper'/2201, l='MpServer', x=-2.50, y=24.00, z=591.50], EntitySkeleton['Skeleton'/3357, l='MpServer', x=-35.50, y=21.00, z=580.50], EntitySkeleton['Skeleton'/3358, l='MpServer', x=-37.50, y=21.00, z=579.50], EntitySkeleton['Skeleton'/3359, l='MpServer', x=-40.50, y=21.00, z=579.50], EntitySkeleton['Skeleton'/3360, l='MpServer', x=-35.50, y=21.00, z=575.50], EntitySpider['Spider'/36, l='MpServer', x=-115.50, y=65.00, z=579.50], EntitySkeleton['Skeleton'/2345, l='MpServer', x=-112.50, y=48.00, z=495.50], EntitySpider['Spider'/170, l='MpServer', x=-107.50, y=64.00, z=580.50], EntityZombie['Zombie'/1963, l='MpServer', x=-23.31, y=27.00, z=507.84], EntityBat['Bat'/51, l='MpServer', x=-80.34, y=55.10, z=473.69], EntitySkeleton['Skeleton'/2869, l='MpServer', x=-145.50, y=14.00, z=514.50], EntityCreeper['Creeper'/3125, l='MpServer', x=-119.50, y=30.00, z=603.50], EntityZombie['Zombie'/3253, l='MpServer', x=-91.50, y=21.00, z=473.50], EntitySkeleton['Skeleton'/2870, l='MpServer', x=-141.50, y=14.00, z=512.50], EntitySkeleton['Skeleton'/2871, l='MpServer', x=-139.94, y=14.00, z=519.41], EntityBat['Bat'/2232, l='MpServer', x=-103.04, y=26.57, z=466.67], EntitySkeleton['Skeleton'/2872, l='MpServer', x=-142.50, y=14.00, z=512.50], EntityCreeper['Creeper'/2492, l='MpServer', x=-120.50, y=20.00, z=533.50], EntityCreeper['Creeper'/2115, l='MpServer', x=-112.50, y=45.00, z=531.50], EntityCreeper['Creeper'/2246, l='MpServer', x=-2.50, y=27.00, z=542.03], EntityCreeper['Creeper'/2247, l='MpServer', x=-2.50, y=27.00, z=541.13], EntityZombie['Zombie'/3017, l='MpServer', x=-120.50, y=47.00, z=517.50], EntityZombie['Zombie'/2634, l='MpServer', x=-123.50, y=34.00, z=608.88], EntityBat['Bat'/2763, l='MpServer', x=-29.22, y=43.56, z=583.06], EntityZombie['Zombie'/2635, l='MpServer', x=-120.50, y=32.00, z=614.50], EntitySkeleton['Skeleton'/3279, l='MpServer', x=-4.47, y=21.00, z=561.50], EntityCreeper['Creeper'/3280, l='MpServer', x=-4.63, y=18.00, z=566.00], EntityCreeper['Creeper'/3281, l='MpServer', x=-1.53, y=17.00, z=548.31], EntityBat['Bat'/2899, l='MpServer', x=-28.68, y=22.38, z=573.10], EntitySkeleton['Skeleton'/3157, l='MpServer', x=-57.50, y=38.00, z=579.50], EntitySkeleton['Skeleton'/3158, l='MpServer', x=-65.50, y=38.00, z=570.50], EntityBat['Bat'/2903, l='MpServer', x=-140.47, y=30.28, z=600.06], EntitySkeleton['Skeleton'/3159, l='MpServer', x=-64.50, y=38.00, z=569.50], EntityZombie['Zombie'/2776, l='MpServer', x=-108.44, y=40.00, z=463.56], EntityZombie['Zombie'/2777, l='MpServer', x=-108.72, y=40.00, z=462.28], EntityCreeper['Creeper'/2782, l='MpServer', x=-2.28, y=19.00, z=551.03], EntityZombie['Zombie'/2404, l='MpServer', x=-134.50, y=17.00, z=546.50], EntityPlayerSP['Player999'/98, l='MpServer', x=-80.34, y=76.51, z=541.60], EntityCreeper['Creeper'/3309, l='MpServer', x=-160.34, y=14.00, z=553.74], EntitySkeleton['Skeleton'/2672, l='MpServer', x=-67.69, y=38.00, z=566.28], EntityZombie['Zombie'/3058, l='MpServer', x=-75.47, y=20.00, z=555.03], EntityZombie['Zombie'/3059, l='MpServer', x=-71.50, y=20.00, z=555.50], EntityWitch['Witch'/3315, l='MpServer', x=-20.44, y=50.00, z=566.41], EntityZombie['Zombie'/3060, l='MpServer', x=-69.50, y=20.00, z=556.50], EntityWitch['Witch'/3316, l='MpServer', x=-22.50, y=50.00, z=561.50], EntityZombie['Zombie'/3062, l='MpServer', x=-71.44, y=20.00, z=557.50], EntityBat['Bat'/2298, l='MpServer', x=-115.38, y=45.09, z=593.41], EntitySkeleton['Skeleton'/3194, l='MpServer', x=-8.50, y=27.00, z=595.50], EntitySkeleton['Skeleton'/3322, l='MpServer', x=-20.50, y=50.00, z=564.50], EntityWitch['Witch'/2043, l='MpServer', x=-140.41, y=19.00, z=539.97], EntitySkeleton['Skeleton'/3323, l='MpServer', x=-17.84, y=48.00, z=568.53], EntityBat['Bat'/2302, l='MpServer', x=-118.66, y=45.06, z=591.47], EntityZombie['Zombie'/3071, l='MpServer', x=-140.50, y=23.00, z=489.50]] + Retry entities: 0 total; [] + Server brand: vanilla + Server type: Integrated singleplayer server +Stacktrace: + at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401) + at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2791) + at net.minecraft.client.Minecraft.run(Minecraft.java:451) + at net.minecraft.client.main.Main.main(Main.java:113) + at Start.main(Start.java:11) + +-- System Details -- +Details: + Minecraft Version: 1.8.8 + Operating System: Windows 10 (amd64) version 10.0 + CPU: 12x AMD Ryzen 5 5600X 6-Core Processor + Java Version: 1.8.0_202, Oracle Corporation + Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation + Memory: 77256216 bytes (73 MB) / 305135616 bytes (291 MB) up to 3801088000 bytes (3625 MB) + JVM Flags: 0 total; + IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 99 + Launched Version: mcp + LWJGL: 2.9.4 + OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation + GL Caps: Using GL 1.3 multitexturing. +Using GL 1.3 texture combiners. +Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. +Shaders are available because OpenGL 2.1 is supported. +VBOs are available because OpenGL 1.5 is supported. + + Using VBOs: Yes + Is Modded: Very likely; Jar signature invalidated + Type: Client (map_client.txt) + Resource Packs: ! §bPotfast 5kay.zip + Current Language: English (US) + Profiler Position: N/A (disabled) + CPU: 12x AMD Ryzen 5 5600X 6-Core Processor + OptiFine Version: OptiFine_1.8.8_HD_U_H8 + Render Distance Chunks: 8 + Mipmaps: 4 + Anisotropic Filtering: 1 + Antialiasing: 0 + Multitexture: false + Shaders: null + OpenGlVersion: 4.6.0 NVIDIA 532.03 + OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 + OpenGlVendor: NVIDIA Corporation + CpuCount: 12 \ No newline at end of file diff --git a/workspace/logs/2023-06-08-1.log.gz b/workspace/logs/2023-06-08-1.log.gz index b69558b6..8c44796d 100644 Binary files a/workspace/logs/2023-06-08-1.log.gz and b/workspace/logs/2023-06-08-1.log.gz differ diff --git a/workspace/logs/2023-06-08-2.log.gz b/workspace/logs/2023-06-08-2.log.gz index f5082069..f49dd8bb 100644 Binary files a/workspace/logs/2023-06-08-2.log.gz and b/workspace/logs/2023-06-08-2.log.gz differ diff --git a/workspace/logs/2023-06-08-3.log.gz b/workspace/logs/2023-06-08-3.log.gz index fe57a593..c5e59352 100644 Binary files a/workspace/logs/2023-06-08-3.log.gz and b/workspace/logs/2023-06-08-3.log.gz differ diff --git a/workspace/logs/2023-06-08-4.log.gz b/workspace/logs/2023-06-08-4.log.gz new file mode 100644 index 00000000..eb8c71a3 Binary files /dev/null and b/workspace/logs/2023-06-08-4.log.gz differ diff --git a/workspace/logs/2023-06-08-5.log.gz b/workspace/logs/2023-06-08-5.log.gz new file mode 100644 index 00000000..79410ef9 Binary files /dev/null and b/workspace/logs/2023-06-08-5.log.gz differ diff --git a/workspace/logs/2023-06-08-6.log.gz b/workspace/logs/2023-06-08-6.log.gz new file mode 100644 index 00000000..8b85a5ba Binary files /dev/null and b/workspace/logs/2023-06-08-6.log.gz differ diff --git a/workspace/logs/2023-06-08-7.log.gz b/workspace/logs/2023-06-08-7.log.gz new file mode 100644 index 00000000..772078e8 Binary files /dev/null and b/workspace/logs/2023-06-08-7.log.gz differ diff --git a/workspace/logs/latest.log b/workspace/logs/latest.log index 275050bf..efe85a73 100644 --- a/workspace/logs/latest.log +++ b/workspace/logs/latest.log @@ -1,205 +1,141 @@ -[10:41:51] [Client thread/INFO]: Setting user: Player268 -[10:41:51] [Client thread/INFO]: (Session ID is token:0:Player268) -[10:41:52] [Client thread/INFO]: [OptiFine] *** Reflector Forge *** -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.Attributes -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: mods.betterfoliage.client.BetterFoliageClient -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.asm.transformers.BlamingTransformer -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.world.ChunkWatchEvent$UnWatch -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.relauncher.CoreModManager -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.DimensionManager -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.GuiScreenEvent$DrawScreenEvent$Pre -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.GuiScreenEvent$DrawScreenEvent$Post -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.EntityViewRenderEvent$CameraSetup -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.EntityViewRenderEvent$FogColors -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.Event -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.EventBus -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.Event$Result -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.property.ExtendedBlockState -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.FMLClientHandler -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.FMLCommonHandler -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.biome.BiomeGenBase.getWaterColorMultiplier -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.addDestroyEffects -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.addHitEffects -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.canCreatureSpawn -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.canRenderInLayer -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.doesSideBlockRendering -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.getBedDirection -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.getExtendedState -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.hasTileEntity -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isAir -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isBed -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isBedFoot -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isSideSolid -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.canRiderInteract -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Field not present: net.minecraft.entity.Entity.captureDrops -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Field not present: net.minecraft.entity.Entity.capturedDrops -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.shouldRenderInPass -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.shouldRiderSit -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.ForgeEventFactory -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.ForgeHooks -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ForgeHooksClient -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.getDurabilityForDisplay -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.getModel -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.onEntitySwing -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.shouldCauseReequipAnimation -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.showDurabilityBar -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.ItemRecord.getRecordResource -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.ForgeModContainer -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.potion.PotionEffect.isCurativeItem -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.canRenderBreaking -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.getRenderBoundingBox -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.hasFastRenderer -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.shouldRenderInPass -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.preDrawBatch -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.drawBatch -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.vertex.VertexFormatElement$EnumUsage.preDraw -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.vertex.VertexFormatElement$EnumUsage.postDraw -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.World.countEntities -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.World.getPerWorldStorage -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getCloudRenderer -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getSkyRenderer -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getWeatherRenderer -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.GuiModList -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.IColoredBakedQuad -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.property.IExtendedBlockState -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.IRenderHandler -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.ISmartBlockModel -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ItemModelMesherForge -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraft.launchwrapper.Launch -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.pipeline.LightUtil -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.MinecraftForge -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.MinecraftForgeClient -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.ModelLoader -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderBlockOverlayEvent$OverlayType -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.registry.RenderingRegistry -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderItemInFrameEvent -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Pre -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Post -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Specials$Pre -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Specials$Post -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.SplashProgress -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.world.WorldEvent$Load -[10:41:52] [Client thread/INFO]: [OptiFine] *** Reflector Vanilla *** -[10:41:52] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: optifine.OptiFineClassTransformer -[10:41:52] [Client thread/ERROR]: [Athena] Failed to load resource outside namespace (C:\Users\remgab001\Desktop\Athena-Client\workspace\.\assets\minecraft\Athena\gui\settings.png).javax.imageio.IIOException: Can't read input file! -[10:41:52] [Client thread/INFO]: LWJGL Version: 2.9.4 -[10:41:53] [Client thread/INFO]: [OptiFine] -[10:41:53] [Client thread/INFO]: [OptiFine] OptiFine_1.8.8_HD_U_H8 -[10:41:53] [Client thread/INFO]: [OptiFine] Build: null -[10:41:53] [Client thread/INFO]: [OptiFine] OS: Windows 10 (amd64) version 10.0 -[10:41:53] [Client thread/INFO]: [OptiFine] Java: 1.8.0_202, Oracle Corporation -[10:41:53] [Client thread/INFO]: [OptiFine] VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation -[10:41:53] [Client thread/INFO]: [OptiFine] LWJGL: 2.9.4 -[10:41:53] [Client thread/INFO]: [OptiFine] OpenGL: Intel(R) Iris(R) Xe Graphics, version 4.6.0 - Build 30.0.101.1298, Intel -[10:41:53] [Client thread/INFO]: [OptiFine] OpenGL Version: 4.6.0 -[10:41:53] [Client thread/INFO]: [OptiFine] OpenGL Fancy fog: Not available (GL_NV_fog_distance) -[10:41:53] [Client thread/INFO]: [OptiFine] Maximum texture size: 16384x16384 -[10:41:53] [Client thread/INFO]: [OptiFine] FSAA Samples: 16 -[10:41:53] [Thread-7/INFO]: [OptiFine] Checking for new version -[10:41:53] [Client thread/INFO]: [Shaders] ShadersMod version: 2.4.12 -[10:41:53] [Client thread/INFO]: [Shaders] OpenGL Version: 4.6.0 - Build 30.0.101.1298 -[10:41:53] [Client thread/INFO]: [Shaders] Vendor: Intel -[10:41:53] [Client thread/INFO]: [Shaders] Renderer: Intel(R) Iris(R) Xe Graphics -[10:41:53] [Client thread/INFO]: [Shaders] Capabilities: 2.0 2.1 3.0 3.2 4.0 -[10:41:53] [Client thread/INFO]: [Shaders] GL_MAX_DRAW_BUFFERS: 8 -[10:41:53] [Client thread/INFO]: [Shaders] GL_MAX_COLOR_ATTACHMENTS_EXT: 8 -[10:41:53] [Client thread/INFO]: [Shaders] GL_MAX_TEXTURE_IMAGE_UNITS: 32 -[10:41:53] [Client thread/INFO]: [Shaders] Load ShadersMod configuration. -[10:41:53] [Client thread/INFO]: [Shaders] Shaders can not be loaded, Antialiasing is enabled: 16x -[10:41:53] [Client thread/INFO]: [Shaders] Shaders can not be loaded, Fast Render is enabled. -[10:41:53] [Client thread/INFO]: [Shaders] No shaderpack loaded. -[10:41:53] [Thread-7/INFO]: [OptiFine] Version found: I7 -[10:41:54] [Client thread/INFO]: Reloading ResourceManager: Default -[10:41:54] [Client thread/INFO]: [OptiFine] *** Reloading textures *** -[10:41:54] [Client thread/INFO]: [OptiFine] Resource packs: Default -[10:41:54] [Sound Library Loader/INFO]: Starting up SoundSystem... -[10:41:54] [Thread-8/INFO]: Initializing LWJGL OpenAL -[10:41:54] [Thread-8/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) -[10:41:55] [Thread-8/INFO]: OpenAL initialized. -[10:41:55] [Sound Library Loader/INFO]: Sound engine started -[10:41:56] [Client thread/INFO]: [OptiFine] Mipmap levels: 4 -[10:41:56] [Client thread/INFO]: [OptiFine] Multitexture: true -[10:41:56] [Client thread/INFO]: [OptiFine] Multipass connected textures: false -[10:41:56] [Client thread/ERROR]: Using missing texture, unable to load minecraft:mcpatcher/ctm/default/empty.png, java.io.FileNotFoundException -[10:41:56] [Client thread/INFO]: Created: 512x512 textures-atlas -[10:41:58] [Client thread/INFO]: [OptiFine] *** Reloading custom textures *** -[10:41:58] [Client thread/INFO]: [OptiFine] Enable face culling: acacia_leaves, birch_leaves, dark_oak_leaves, jungle_leaves, oak_leaves, spruce_leaves -[10:42:06] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8 -[10:42:06] [Server thread/INFO]: Generating keypair -[10:42:06] [Server thread/INFO]: Preparing start region for level 0 -[10:42:07] [Server thread/INFO]: Changing view distance to 8, from 10 -[10:42:07] [Server thread/INFO]: Player268[local:E:78c35288] logged in with entity id 57 at (-370.13231447523856, 77.54040525373046, 351.4682160208162) -[10:42:07] [Server thread/INFO]: Player268 joined the game -[10:42:08] [Client thread/INFO]: [CHAT] A new §eOptiFine§f version is available: §eHD Ultra I7§f -[10:42:17] [Server thread/INFO]: Saving and pausing game... -[10:42:17] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld -[10:42:17] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether -[10:42:17] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End -[10:42:21] [Client thread/INFO]: Reloading ResourceManager: Default -[10:42:21] [Client thread/INFO]: [OptiFine] *** Reloading textures *** -[10:42:21] [Client thread/INFO]: [OptiFine] Resource packs: Default -[10:42:21] [Client thread/INFO]: SoundSystem shutting down... -[10:42:21] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com -[10:42:21] [Sound Library Loader/INFO]: Starting up SoundSystem... -[10:42:22] [Thread-16/INFO]: Initializing LWJGL OpenAL -[10:42:22] [Thread-16/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) -[10:42:22] [Thread-16/INFO]: OpenAL initialized. -[10:42:22] [Sound Library Loader/INFO]: Sound engine started -[10:42:22] [Client thread/INFO]: [OptiFine] Mipmap levels: 4 -[10:42:22] [Client thread/INFO]: [OptiFine] Multitexture: true -[10:42:22] [Client thread/INFO]: [OptiFine] Multipass connected textures: false -[10:42:22] [Client thread/ERROR]: Using missing texture, unable to load minecraft:mcpatcher/ctm/default/empty.png, java.io.FileNotFoundException -[10:42:22] [Client thread/INFO]: Created: 512x512 textures-atlas -[10:42:24] [Client thread/INFO]: [OptiFine] *** Reloading custom textures *** -[10:42:24] [Client thread/INFO]: [OptiFine] Enable face culling: acacia_leaves, birch_leaves, dark_oak_leaves, jungle_leaves, oak_leaves, spruce_leaves -[10:42:25] [Client thread/INFO]: Reloading ResourceManager: Default -[10:42:25] [Client thread/INFO]: [OptiFine] *** Reloading textures *** -[10:42:25] [Client thread/INFO]: [OptiFine] Resource packs: Default -[10:42:26] [Client thread/INFO]: SoundSystem shutting down... -[10:42:26] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com -[10:42:26] [Sound Library Loader/INFO]: Starting up SoundSystem... -[10:42:26] [Thread-18/INFO]: Initializing LWJGL OpenAL -[10:42:26] [Thread-18/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) -[10:42:26] [Thread-18/INFO]: OpenAL initialized. -[10:42:26] [Client thread/INFO]: [OptiFine] Mipmap levels: 4 -[10:42:26] [Client thread/INFO]: [OptiFine] Multitexture: true -[10:42:26] [Sound Library Loader/INFO]: Sound engine started -[10:42:27] [Client thread/INFO]: Created: 512x512 textures-atlas -[10:42:27] [Client thread/INFO]: [OptiFine] *** Reloading custom textures *** -[10:42:27] [Client thread/INFO]: [OptiFine] Enable face culling: acacia_leaves, birch_leaves, dark_oak_leaves, jungle_leaves, oak_leaves, spruce_leaves -[10:42:32] [Server thread/INFO]: Saving and pausing game... -[10:42:32] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld -[10:42:32] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether -[10:42:32] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End -[10:42:34] [Server thread/INFO]: Saving and pausing game... -[10:42:34] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld -[10:42:34] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether -[10:42:34] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End -[10:49:06] [Server thread/INFO]: dsfsdfsdfdf -[10:49:06] [Client thread/INFO]: [CHAT] dsfsdfsdfdf -[10:49:06] [Server thread/INFO]: dsfsdfsdfdf -[10:49:06] [Client thread/INFO]: [CHAT] dsfsdfsdfdf -[10:49:07] [Server thread/INFO]: dsfsdfsdfdf -[10:49:07] [Client thread/INFO]: [CHAT] dsfsdfsdfdf -[10:49:07] [Server thread/INFO]: dsfsdfsdfdf -[10:49:07] [Client thread/INFO]: [CHAT] dsfsdfsdfdf -[10:49:07] [Server thread/INFO]: dsfsdfsdfdf -[10:49:07] [Client thread/INFO]: [CHAT] dsfsdfsdfdf -[10:49:10] [Server thread/INFO]: Saving and pausing game... -[10:49:10] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld -[10:49:10] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether -[10:49:10] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End -[10:53:45] [Server thread/INFO]: Saving and pausing game... -[10:53:45] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld -[10:53:45] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether -[10:53:45] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End -[10:53:45] [Client thread/INFO]: Stopping! -[10:53:45] [Client thread/INFO]: [Athena] Shutting down client -[10:53:45] [Client thread/INFO]: SoundSystem shutting down... -[10:53:45] [Server thread/INFO]: Stopping server -[10:53:45] [Server thread/INFO]: Saving players -[10:53:45] [Server thread/INFO]: Saving worlds -[10:53:45] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld -[10:53:45] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether -[10:53:45] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End -[10:53:45] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com +[19:37:49] [Client thread/INFO]: Setting user: Player918 +[19:37:49] [Client thread/INFO]: (Session ID is token:0:Player918) +[19:37:50] [Client thread/INFO]: [OptiFine] *** Reflector Forge *** +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.Attributes +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: mods.betterfoliage.client.BetterFoliageClient +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.asm.transformers.BlamingTransformer +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.world.ChunkWatchEvent$UnWatch +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.relauncher.CoreModManager +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.DimensionManager +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.GuiScreenEvent$DrawScreenEvent$Pre +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.GuiScreenEvent$DrawScreenEvent$Post +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.EntityViewRenderEvent$CameraSetup +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.EntityViewRenderEvent$FogColors +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.Event +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.EventBus +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.Event$Result +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.property.ExtendedBlockState +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.FMLClientHandler +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.FMLCommonHandler +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.biome.BiomeGenBase.getWaterColorMultiplier +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.addDestroyEffects +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.addHitEffects +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.canCreatureSpawn +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.canRenderInLayer +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.doesSideBlockRendering +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.getBedDirection +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.getExtendedState +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.hasTileEntity +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isAir +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isBed +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isBedFoot +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isSideSolid +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.canRiderInteract +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Field not present: net.minecraft.entity.Entity.captureDrops +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Field not present: net.minecraft.entity.Entity.capturedDrops +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.shouldRenderInPass +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.shouldRiderSit +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.ForgeEventFactory +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.ForgeHooks +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ForgeHooksClient +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.getDurabilityForDisplay +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.getModel +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.onEntitySwing +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.shouldCauseReequipAnimation +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.showDurabilityBar +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.ItemRecord.getRecordResource +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.ForgeModContainer +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.potion.PotionEffect.isCurativeItem +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.canRenderBreaking +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.getRenderBoundingBox +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.hasFastRenderer +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.shouldRenderInPass +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.preDrawBatch +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.drawBatch +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.vertex.VertexFormatElement$EnumUsage.preDraw +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.vertex.VertexFormatElement$EnumUsage.postDraw +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.World.countEntities +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.World.getPerWorldStorage +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getCloudRenderer +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getSkyRenderer +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getWeatherRenderer +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.GuiModList +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.IColoredBakedQuad +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.property.IExtendedBlockState +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.IRenderHandler +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.ISmartBlockModel +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ItemModelMesherForge +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraft.launchwrapper.Launch +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.pipeline.LightUtil +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.MinecraftForge +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.MinecraftForgeClient +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.ModelLoader +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderBlockOverlayEvent$OverlayType +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.registry.RenderingRegistry +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderItemInFrameEvent +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Pre +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Post +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Specials$Pre +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Specials$Post +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.SplashProgress +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.world.WorldEvent$Load +[19:37:50] [Client thread/INFO]: [OptiFine] *** Reflector Vanilla *** +[19:37:50] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: optifine.OptiFineClassTransformer +[19:37:50] [Client thread/ERROR]: [Athena] Failed to load resource outside namespace (C:\Users\remig\Desktop\Athena-Client\workspace\.\assets\minecraft\Athena\gui\settings.png).javax.imageio.IIOException: Can't read input file! +[19:37:50] [Client thread/WARN]: [Athena] Tried accessing non-existing module: theme +[19:37:50] [Client thread/WARN]: [Athena] Loaded config default with left over setting theme which is no longer used. +[19:37:50] [Client thread/INFO]: LWJGL Version: 2.9.4 +[19:37:50] [Client thread/INFO]: [OptiFine] +[19:37:50] [Client thread/INFO]: [OptiFine] OptiFine_1.8.8_HD_U_H8 +[19:37:50] [Client thread/INFO]: [OptiFine] Build: null +[19:37:50] [Client thread/INFO]: [OptiFine] OS: Windows 10 (amd64) version 10.0 +[19:37:50] [Client thread/INFO]: [OptiFine] Java: 1.8.0_202, Oracle Corporation +[19:37:50] [Client thread/INFO]: [OptiFine] VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation +[19:37:50] [Client thread/INFO]: [OptiFine] LWJGL: 2.9.4 +[19:37:50] [Client thread/INFO]: [OptiFine] OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2, version 4.6.0 NVIDIA 532.03, NVIDIA Corporation +[19:37:50] [Client thread/INFO]: [OptiFine] OpenGL Version: 4.6.0 +[19:37:50] [Client thread/INFO]: [OptiFine] Maximum texture size: 32768x32768 +[19:37:50] [Thread-7/INFO]: [OptiFine] Checking for new version +[19:37:50] [Client thread/INFO]: [Shaders] ShadersMod version: 2.4.12 +[19:37:50] [Client thread/INFO]: [Shaders] OpenGL Version: 4.6.0 NVIDIA 532.03 +[19:37:50] [Client thread/INFO]: [Shaders] Vendor: NVIDIA Corporation +[19:37:50] [Client thread/INFO]: [Shaders] Renderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 +[19:37:50] [Client thread/INFO]: [Shaders] Capabilities: 2.0 2.1 3.0 3.2 4.0 +[19:37:50] [Client thread/INFO]: [Shaders] GL_MAX_DRAW_BUFFERS: 8 +[19:37:50] [Client thread/INFO]: [Shaders] GL_MAX_COLOR_ATTACHMENTS_EXT: 8 +[19:37:50] [Client thread/INFO]: [Shaders] GL_MAX_TEXTURE_IMAGE_UNITS: 32 +[19:37:50] [Client thread/INFO]: [Shaders] Load ShadersMod configuration. +[19:37:50] [Client thread/INFO]: [Shaders] No shaderpack loaded. +[19:37:51] [Client thread/INFO]: Reloading ResourceManager: Default, ! §bPotfast 5kay.zip +[19:37:51] [Thread-7/INFO]: [OptiFine] Version found: I7 +[19:37:51] [Client thread/INFO]: [OptiFine] *** Reloading textures *** +[19:37:51] [Client thread/INFO]: [OptiFine] Resource packs: ! §bPotfast 5kay.zip +[19:37:51] [Sound Library Loader/INFO]: Starting up SoundSystem... +[19:37:51] [Thread-8/INFO]: Initializing LWJGL OpenAL +[19:37:51] [Thread-8/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) +[19:37:51] [Thread-8/INFO]: OpenAL initialized. +[19:37:51] [Sound Library Loader/INFO]: Sound engine started +[19:37:52] [Client thread/INFO]: [OptiFine] Sprite size: 32 +[19:37:52] [Client thread/INFO]: [OptiFine] Mipmap levels: 5 +[19:37:52] [Client thread/INFO]: [OptiFine] Multitexture: false +[19:37:52] [Client thread/INFO]: Created: 2048x2048 textures-atlas +[19:37:52] [Client thread/INFO]: [OptiFine] *** Reloading custom textures *** +[19:37:52] [Client thread/INFO]: [OptiFine] Enable face culling: acacia_leaves, birch_leaves, dark_oak_leaves, jungle_leaves, oak_leaves, spruce_leaves +[19:37:58] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8 +[19:37:58] [Server thread/INFO]: Generating keypair +[19:37:58] [Server thread/INFO]: Preparing start region for level 0 +[19:37:58] [Server thread/INFO]: Changing view distance to 8, from 10 +[19:37:58] [Server thread/INFO]: Player918[local:E:3695adfb] logged in with entity id 119 at (-30.713995775359958, 77.36424699721599, 663.4639004413986) +[19:37:58] [Server thread/INFO]: Player918 joined the game +[19:37:59] [Client thread/INFO]: [CHAT] A new §eOptiFine§f version is available: §eHD Ultra I7§f +[19:38:01] [Server thread/INFO]: Saving and pausing game... +[19:38:01] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld +[19:38:01] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether +[19:38:01] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End +[19:51:28] [Server thread/INFO]: Player918 has just earned the achievement [Taking Inventory] +[19:51:28] [Client thread/INFO]: [CHAT] Player918 has just earned the achievement [Taking Inventory] +[19:51:35] [Server thread/INFO]: Saving and pausing game... +[19:51:35] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Overworld +[19:51:35] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/Nether +[19:51:35] [Server thread/INFO]: Saving chunks for level 'Copy of Copy of mcpworldppdsa|'/The End +[19:52:51] [Client Shutdown Thread/INFO]: Stopping server diff --git a/workspace/options.txt b/workspace/options.txt index e00536e7..ed9f63b3 100644 --- a/workspace/options.txt +++ b/workspace/options.txt @@ -1,6 +1,6 @@ invertYMouse:false mouseSensitivity:0.15492958 -fov:0.0 +fov:0.25 gamma:1.0 saturation:0.0 renderDistance:8 @@ -10,11 +10,11 @@ bobView:true anaglyph3d:false maxFps:260 fboEnable:true -difficulty:2 -fancyGraphics:true +difficulty:1 +fancyGraphics:false ao:2 -renderClouds:true -resourcePacks:[] +renderClouds:false +resourcePacks:["! §bPotfast 5kay.zip"] incompatibleResourcePacks:[] lastServer: lang:en_US @@ -26,7 +26,7 @@ chatOpacity:1.0 snooperEnabled:true fullscreen:false enableVsync:false -useVbo:false +useVbo:true hideServerAddress:false advancedItemTooltips:false pauseOnLostFocus:true @@ -52,7 +52,7 @@ streamChatEnabled:0 streamChatUserFilter:0 streamMicToggleBehavior:0 forceUnicodeFont:false -allowBlockAlternatives:true +allowBlockAlternatives:false reducedDebugInfo:false useNativeTransport:true entityShadows:true diff --git a/workspace/optionsof.txt b/workspace/optionsof.txt index 87fb9772..33231b50 100644 --- a/workspace/optionsof.txt +++ b/workspace/optionsof.txt @@ -1,65 +1,65 @@ ofRenderDistanceChunks:8 -ofFogType:1 -ofFogStart:0.8 +ofFogType:3 +ofFogStart:0.2 ofMipmapType:0 ofOcclusionFancy:false ofSmoothFps:false ofSmoothWorld:true -ofAoLevel:1.0 -ofClouds:0 +ofAoLevel:0.0 +ofClouds:3 ofCloudsHeight:0.0 -ofTrees:0 -ofDroppedItems:0 -ofRain:0 -ofAnimatedWater:0 -ofAnimatedLava:0 -ofAnimatedFire:true -ofAnimatedPortal:true -ofAnimatedRedstone:true -ofAnimatedExplosion:true -ofAnimatedFlame:true -ofAnimatedSmoke:true -ofVoidParticles:true -ofWaterParticles:true -ofPortalParticles:true +ofTrees:1 +ofDroppedItems:1 +ofRain:3 +ofAnimatedWater:2 +ofAnimatedLava:2 +ofAnimatedFire:false +ofAnimatedPortal:false +ofAnimatedRedstone:false +ofAnimatedExplosion:false +ofAnimatedFlame:false +ofAnimatedSmoke:false +ofVoidParticles:false +ofWaterParticles:false +ofPortalParticles:false ofPotionParticles:true -ofFireworkParticles:true -ofDrippingWaterLava:true -ofAnimatedTerrain:true -ofAnimatedTextures:true -ofRainSplash:true +ofFireworkParticles:false +ofDrippingWaterLava:false +ofAnimatedTerrain:false +ofAnimatedTextures:false +ofRainSplash:false ofLagometer:false ofShowFps:false -ofAutoSaveTicks:4000 +ofAutoSaveTicks:30000 ofBetterGrass:3 ofConnectedTextures:3 -ofWeather:true -ofSky:true -ofStars:true -ofSunMoon:true -ofVignette:0 +ofWeather:false +ofSky:false +ofStars:false +ofSunMoon:false +ofVignette:1 ofChunkUpdates:1 ofChunkUpdatesDynamic:false ofTime:0 ofClearWater:false -ofAaLevel:16 -ofAfLevel:8 +ofAaLevel:0 +ofAfLevel:1 ofProfiler:false ofBetterSnow:false -ofSwampColors:true +ofSwampColors:false ofRandomMobs:true -ofSmoothBiomes:true -ofCustomFonts:true -ofCustomColors:true +ofSmoothBiomes:false +ofCustomFonts:false +ofCustomColors:false ofCustomItems:true -ofCustomSky:true -ofShowCapes:true +ofCustomSky:false +ofShowCapes:false ofNaturalTextures:false -ofLazyChunkLoading:true +ofLazyChunkLoading:false ofDynamicFov:false ofDynamicLights:3 ofFullscreenMode:Default -ofFastMath:false -ofFastRender:true -ofTranslucentBlocks:0 +ofFastMath:true +ofFastRender:false +ofTranslucentBlocks:1 key_of.key.zoom:46 diff --git a/workspace/resourcepacks/4Verzide_V2_lf128x.zip b/workspace/resourcepacks/4Verzide_V2_lf128x.zip new file mode 100644 index 00000000..50393073 Binary files /dev/null and b/workspace/resourcepacks/4Verzide_V2_lf128x.zip differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Mineshaft.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Mineshaft.dat index b769a1f7..195aacae 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Mineshaft.dat and b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Mineshaft.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Stronghold.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Stronghold.dat index a3b9cfbd..7f9afebb 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Stronghold.dat and b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/Stronghold.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages.dat index d07207fb..f216bfdb 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages.dat and b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_end.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_end.dat index d07207fb..f216bfdb 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_end.dat and b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_end.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_nether.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_nether.dat index d07207fb..f216bfdb 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_nether.dat and b/workspace/saves/Copy of Copy of mcpworldppdsa_/data/villages_nether.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat index afc8e552..eb9f1cf5 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat and b/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat_old b/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat_old index 36477ebc..05ee109e 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat_old and b/workspace/saves/Copy of Copy of mcpworldppdsa_/level.dat_old differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/01d9f825-5509-3b83-aacf-c98ce0dce1c7.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/01d9f825-5509-3b83-aacf-c98ce0dce1c7.dat new file mode 100644 index 00000000..649e247f Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/01d9f825-5509-3b83-aacf-c98ce0dce1c7.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/0704e0ba-eaf6-3b26-b880-53fd45ec3b48.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/0704e0ba-eaf6-3b26-b880-53fd45ec3b48.dat new file mode 100644 index 00000000..b9b087e4 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/0704e0ba-eaf6-3b26-b880-53fd45ec3b48.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/09805145-bb70-3fc1-9783-30845f8dd6d0.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/09805145-bb70-3fc1-9783-30845f8dd6d0.dat new file mode 100644 index 00000000..cb9608c8 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/09805145-bb70-3fc1-9783-30845f8dd6d0.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2659329e-1c65-3850-9659-d27fc655aa3c.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2659329e-1c65-3850-9659-d27fc655aa3c.dat new file mode 100644 index 00000000..67ae6324 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2659329e-1c65-3850-9659-d27fc655aa3c.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2a68c4a4-c1ba-3396-a626-ac7041e25da5.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2a68c4a4-c1ba-3396-a626-ac7041e25da5.dat new file mode 100644 index 00000000..455bea50 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2a68c4a4-c1ba-3396-a626-ac7041e25da5.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2eef3335-8d1f-3428-af42-f3cec9010d4c.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2eef3335-8d1f-3428-af42-f3cec9010d4c.dat new file mode 100644 index 00000000..9eaa26a1 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2eef3335-8d1f-3428-af42-f3cec9010d4c.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2f0d3d8c-afbe-358f-b8f3-786d7b0f9259.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2f0d3d8c-afbe-358f-b8f3-786d7b0f9259.dat new file mode 100644 index 00000000..a6b876c7 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/2f0d3d8c-afbe-358f-b8f3-786d7b0f9259.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/31a9aee6-8c2b-389d-b14e-b75d71479611.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/31a9aee6-8c2b-389d-b14e-b75d71479611.dat new file mode 100644 index 00000000..f4953d8d Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/31a9aee6-8c2b-389d-b14e-b75d71479611.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/3b1946fe-c2d1-3fab-8b74-bd39d8b52fb4.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/3b1946fe-c2d1-3fab-8b74-bd39d8b52fb4.dat new file mode 100644 index 00000000..d2291c25 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/3b1946fe-c2d1-3fab-8b74-bd39d8b52fb4.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/3c28cca8-db38-324d-ac91-779beed87c8d.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/3c28cca8-db38-324d-ac91-779beed87c8d.dat new file mode 100644 index 00000000..0ae436ba Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/3c28cca8-db38-324d-ac91-779beed87c8d.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/408d12c9-559c-3212-bca5-d1a3fc38a0f7.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/408d12c9-559c-3212-bca5-d1a3fc38a0f7.dat new file mode 100644 index 00000000..08375d56 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/408d12c9-559c-3212-bca5-d1a3fc38a0f7.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/409ad871-75ba-3dbd-b116-807d64800e7d.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/409ad871-75ba-3dbd-b116-807d64800e7d.dat new file mode 100644 index 00000000..a0ce30bb Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/409ad871-75ba-3dbd-b116-807d64800e7d.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/41dc22e0-3e7d-3bce-88c0-a274eb3e3859.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/41dc22e0-3e7d-3bce-88c0-a274eb3e3859.dat new file mode 100644 index 00000000..43eb4994 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/41dc22e0-3e7d-3bce-88c0-a274eb3e3859.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/46f780a1-2e26-3e88-a90a-02cf37fe1547.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/46f780a1-2e26-3e88-a90a-02cf37fe1547.dat new file mode 100644 index 00000000..0c31d3bc Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/46f780a1-2e26-3e88-a90a-02cf37fe1547.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/55199b58-d04f-3d22-9ce2-5472509a024b.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/55199b58-d04f-3d22-9ce2-5472509a024b.dat new file mode 100644 index 00000000..62d033e3 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/55199b58-d04f-3d22-9ce2-5472509a024b.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6004b361-ef29-34d2-b89c-32df237908c7.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6004b361-ef29-34d2-b89c-32df237908c7.dat new file mode 100644 index 00000000..bf82e6dd Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6004b361-ef29-34d2-b89c-32df237908c7.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/600ef575-e50b-3323-b0f1-19e3a176b08b.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/600ef575-e50b-3323-b0f1-19e3a176b08b.dat new file mode 100644 index 00000000..38430e53 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/600ef575-e50b-3323-b0f1-19e3a176b08b.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/60d19c6d-8381-348f-9d23-cb28708609fc.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/60d19c6d-8381-348f-9d23-cb28708609fc.dat new file mode 100644 index 00000000..23f6274e Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/60d19c6d-8381-348f-9d23-cb28708609fc.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/618c707a-83d7-31ad-b075-bd98e2c75926.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/618c707a-83d7-31ad-b075-bd98e2c75926.dat new file mode 100644 index 00000000..95e0383c Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/618c707a-83d7-31ad-b075-bd98e2c75926.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6ae8fe40-3ccb-3755-8fd2-c5445728b386.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6ae8fe40-3ccb-3755-8fd2-c5445728b386.dat new file mode 100644 index 00000000..ef483141 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6ae8fe40-3ccb-3755-8fd2-c5445728b386.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6db1171d-4fa6-31cb-b425-1896281a26e2.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6db1171d-4fa6-31cb-b425-1896281a26e2.dat new file mode 100644 index 00000000..369865f9 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6db1171d-4fa6-31cb-b425-1896281a26e2.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6e946422-0041-3048-9c85-48e4f886211a.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6e946422-0041-3048-9c85-48e4f886211a.dat new file mode 100644 index 00000000..2bb1d07a Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/6e946422-0041-3048-9c85-48e4f886211a.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/74e89738-6c9e-4f59-83ef-d365849e6049.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/74e89738-6c9e-4f59-83ef-d365849e6049.dat new file mode 100644 index 00000000..6414baab Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/74e89738-6c9e-4f59-83ef-d365849e6049.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/7ef37f89-ec95-314c-ad83-8a71ac6e461c.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/7ef37f89-ec95-314c-ad83-8a71ac6e461c.dat new file mode 100644 index 00000000..ab5170e9 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/7ef37f89-ec95-314c-ad83-8a71ac6e461c.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/7fac0f4d-6ee9-33e9-a874-7b4a3cc238c6.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/7fac0f4d-6ee9-33e9-a874-7b4a3cc238c6.dat new file mode 100644 index 00000000..2911957b Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/7fac0f4d-6ee9-33e9-a874-7b4a3cc238c6.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/8dbdaed5-4750-31ee-aa4f-4c3b2bfbc6f7.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/8dbdaed5-4750-31ee-aa4f-4c3b2bfbc6f7.dat new file mode 100644 index 00000000..24c87857 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/8dbdaed5-4750-31ee-aa4f-4c3b2bfbc6f7.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/a205b8da-efc6-37ad-8e1d-84c0239cdd21.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/a205b8da-efc6-37ad-8e1d-84c0239cdd21.dat new file mode 100644 index 00000000..843842ed Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/a205b8da-efc6-37ad-8e1d-84c0239cdd21.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/ad8236b9-e26f-349c-902e-7100197cd86d.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/ad8236b9-e26f-349c-902e-7100197cd86d.dat new file mode 100644 index 00000000..742ca4d4 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/ad8236b9-e26f-349c-902e-7100197cd86d.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/b7a940e4-3cde-3275-9c73-2f71fe593c98.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/b7a940e4-3cde-3275-9c73-2f71fe593c98.dat new file mode 100644 index 00000000..0d58e732 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/b7a940e4-3cde-3275-9c73-2f71fe593c98.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/cb3fd6c5-1d0c-334b-a8d4-85d2c85eb576.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/cb3fd6c5-1d0c-334b-a8d4-85d2c85eb576.dat new file mode 100644 index 00000000..d6fd0626 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/cb3fd6c5-1d0c-334b-a8d4-85d2c85eb576.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/d96be705-d0ae-31d3-afba-31a637d80f6d.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/d96be705-d0ae-31d3-afba-31a637d80f6d.dat new file mode 100644 index 00000000..d69c08c9 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/d96be705-d0ae-31d3-afba-31a637d80f6d.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/d978d670-4b07-3a90-bfb6-b4e7c70fe7fc.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/d978d670-4b07-3a90-bfb6-b4e7c70fe7fc.dat new file mode 100644 index 00000000..a106788b Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/d978d670-4b07-3a90-bfb6-b4e7c70fe7fc.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f2937d48-a72f-3375-bb6f-69c5f204d185.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f2937d48-a72f-3375-bb6f-69c5f204d185.dat new file mode 100644 index 00000000..07e386cd Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f2937d48-a72f-3375-bb6f-69c5f204d185.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f318a6c7-0ff1-368e-9d3e-1b850b84da5e.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f318a6c7-0ff1-368e-9d3e-1b850b84da5e.dat new file mode 100644 index 00000000..7ef77dbb Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f318a6c7-0ff1-368e-9d3e-1b850b84da5e.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f4642d2b-29f9-34b7-8b90-e6570e856434.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f4642d2b-29f9-34b7-8b90-e6570e856434.dat new file mode 100644 index 00000000..59f4d2dd Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/f4642d2b-29f9-34b7-8b90-e6570e856434.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/fb8576b0-fae6-3c1e-b44e-6422260d3c41.dat b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/fb8576b0-fae6-3c1e-b44e-6422260d3c41.dat new file mode 100644 index 00000000..a01efd81 Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/playerdata/fb8576b0-fae6-3c1e-b44e-6422260d3c41.dat differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.0.mca b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.0.mca index 7a18a1ac..14f01f4c 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.0.mca and b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.0.mca differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.1.mca b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.1.mca index 99b27f20..31593078 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.1.mca and b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-1.1.mca differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-2.0.mca b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-2.0.mca index 94c5ebf6..c5eecce4 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-2.0.mca and b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-2.0.mca differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-2.1.mca b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-2.1.mca new file mode 100644 index 00000000..facf638d Binary files /dev/null and b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.-2.1.mca differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.0.mca b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.0.mca index ce4fe567..8226c261 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.0.mca and b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.0.mca differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.1.mca b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.1.mca index 4c98acb4..af7858a4 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.1.mca and b/workspace/saves/Copy of Copy of mcpworldppdsa_/region/r.0.1.mca differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/session.lock b/workspace/saves/Copy of Copy of mcpworldppdsa_/session.lock index 35bcdda7..fd6820a4 100644 Binary files a/workspace/saves/Copy of Copy of mcpworldppdsa_/session.lock and b/workspace/saves/Copy of Copy of mcpworldppdsa_/session.lock differ diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/01d9f825-5509-3b83-aacf-c98ce0dce1c7.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/01d9f825-5509-3b83-aacf-c98ce0dce1c7.json new file mode 100644 index 00000000..abcb65fa --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/01d9f825-5509-3b83-aacf-c98ce0dce1c7.json @@ -0,0 +1 @@ +{"stat.playOneMinute":1246,"stat.leaveGame":1,"stat.timeSinceDeath":1246,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/0704e0ba-eaf6-3b26-b880-53fd45ec3b48.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/0704e0ba-eaf6-3b26-b880-53fd45ec3b48.json new file mode 100644 index 00000000..3f131d80 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/0704e0ba-eaf6-3b26-b880-53fd45ec3b48.json @@ -0,0 +1 @@ +{"stat.playOneMinute":238,"stat.leaveGame":1,"stat.timeSinceDeath":238,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/09805145-bb70-3fc1-9783-30845f8dd6d0.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/09805145-bb70-3fc1-9783-30845f8dd6d0.json new file mode 100644 index 00000000..35c0064f --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/09805145-bb70-3fc1-9783-30845f8dd6d0.json @@ -0,0 +1 @@ +{"stat.flyOneCm":2828,"stat.walkOneCm":2078,"stat.jump":15,"stat.playOneMinute":1336,"stat.leaveGame":1,"stat.crouchOneCm":20,"stat.timeSinceDeath":1336,"stat.sprintOneCm":1798,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2659329e-1c65-3850-9659-d27fc655aa3c.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2659329e-1c65-3850-9659-d27fc655aa3c.json new file mode 100644 index 00000000..faaf373b --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2659329e-1c65-3850-9659-d27fc655aa3c.json @@ -0,0 +1 @@ +{"stat.playOneMinute":1372,"stat.leaveGame":1,"stat.timeSinceDeath":1372,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2a68c4a4-c1ba-3396-a626-ac7041e25da5.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2a68c4a4-c1ba-3396-a626-ac7041e25da5.json new file mode 100644 index 00000000..58c71e9a --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2a68c4a4-c1ba-3396-a626-ac7041e25da5.json @@ -0,0 +1 @@ +{"stat.walkOneCm":43,"stat.playOneMinute":6281,"stat.timeSinceDeath":6281,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2eef3335-8d1f-3428-af42-f3cec9010d4c.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2eef3335-8d1f-3428-af42-f3cec9010d4c.json new file mode 100644 index 00000000..e0a95418 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2eef3335-8d1f-3428-af42-f3cec9010d4c.json @@ -0,0 +1 @@ +{"stat.flyOneCm":4034,"stat.playOneMinute":6512,"stat.leaveGame":3,"stat.timeSinceDeath":6512,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2f0d3d8c-afbe-358f-b8f3-786d7b0f9259.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2f0d3d8c-afbe-358f-b8f3-786d7b0f9259.json new file mode 100644 index 00000000..87be19d7 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/2f0d3d8c-afbe-358f-b8f3-786d7b0f9259.json @@ -0,0 +1 @@ +{"stat.playOneMinute":5170,"stat.leaveGame":1,"stat.timeSinceDeath":5170,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/31a9aee6-8c2b-389d-b14e-b75d71479611.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/31a9aee6-8c2b-389d-b14e-b75d71479611.json new file mode 100644 index 00000000..72569487 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/31a9aee6-8c2b-389d-b14e-b75d71479611.json @@ -0,0 +1 @@ +{"stat.flyOneCm":3019,"stat.walkOneCm":788,"stat.jump":10,"stat.useItem.minecraft.sand":5,"stat.playOneMinute":12173,"stat.leaveGame":1,"stat.timeSinceDeath":12173,"stat.sprintOneCm":520,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/3b1946fe-c2d1-3fab-8b74-bd39d8b52fb4.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/3b1946fe-c2d1-3fab-8b74-bd39d8b52fb4.json new file mode 100644 index 00000000..826bb012 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/3b1946fe-c2d1-3fab-8b74-bd39d8b52fb4.json @@ -0,0 +1 @@ +{"stat.walkOneCm":27989,"achievement.openInventory":1,"stat.leaveGame":3,"stat.flyOneCm":84375,"stat.drop":2,"stat.useItem.minecraft.sand":277,"stat.jump":225,"stat.playOneMinute":48151,"stat.damageDealt":20,"stat.crouchOneCm":33,"stat.timeSinceDeath":48151,"stat.sprintOneCm":23090,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]},"stat.useItem.minecraft.cactus":120} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/3c28cca8-db38-324d-ac91-779beed87c8d.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/3c28cca8-db38-324d-ac91-779beed87c8d.json new file mode 100644 index 00000000..c44314be --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/3c28cca8-db38-324d-ac91-779beed87c8d.json @@ -0,0 +1 @@ +{"stat.flyOneCm":5251,"stat.walkOneCm":348,"stat.jump":1,"stat.playOneMinute":8735,"stat.leaveGame":1,"stat.timeSinceDeath":8735,"stat.sprintOneCm":264,"achievement.exploreAllBiomes":{"value":0,"progress":["River","Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/408d12c9-559c-3212-bca5-d1a3fc38a0f7.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/408d12c9-559c-3212-bca5-d1a3fc38a0f7.json new file mode 100644 index 00000000..d4286810 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/408d12c9-559c-3212-bca5-d1a3fc38a0f7.json @@ -0,0 +1 @@ +{"stat.flyOneCm":1614,"stat.playOneMinute":28183,"stat.leaveGame":1,"stat.timeSinceDeath":28183,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/409ad871-75ba-3dbd-b116-807d64800e7d.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/409ad871-75ba-3dbd-b116-807d64800e7d.json new file mode 100644 index 00000000..50df917f --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/409ad871-75ba-3dbd-b116-807d64800e7d.json @@ -0,0 +1 @@ +{"stat.flyOneCm":3288,"stat.playOneMinute":8412,"stat.leaveGame":1,"stat.timeSinceDeath":8412,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/41dc22e0-3e7d-3bce-88c0-a274eb3e3859.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/41dc22e0-3e7d-3bce-88c0-a274eb3e3859.json new file mode 100644 index 00000000..f9fae360 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/41dc22e0-3e7d-3bce-88c0-a274eb3e3859.json @@ -0,0 +1 @@ +{"stat.playOneMinute":89,"stat.leaveGame":1,"stat.timeSinceDeath":89,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/46f780a1-2e26-3e88-a90a-02cf37fe1547.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/46f780a1-2e26-3e88-a90a-02cf37fe1547.json new file mode 100644 index 00000000..cc30d343 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/46f780a1-2e26-3e88-a90a-02cf37fe1547.json @@ -0,0 +1 @@ +{"stat.playOneMinute":17,"stat.leaveGame":1,"stat.timeSinceDeath":17} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/55199b58-d04f-3d22-9ce2-5472509a024b.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/55199b58-d04f-3d22-9ce2-5472509a024b.json new file mode 100644 index 00000000..285bf134 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/55199b58-d04f-3d22-9ce2-5472509a024b.json @@ -0,0 +1 @@ +{"stat.flyOneCm":1136,"stat.walkOneCm":715,"stat.jump":6,"stat.playOneMinute":1336,"stat.leaveGame":1,"stat.timeSinceDeath":1336,"stat.sprintOneCm":479,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6004b361-ef29-34d2-b89c-32df237908c7.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6004b361-ef29-34d2-b89c-32df237908c7.json new file mode 100644 index 00000000..a15eef86 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6004b361-ef29-34d2-b89c-32df237908c7.json @@ -0,0 +1 @@ +{"stat.playOneMinute":10050,"stat.leaveGame":1,"stat.timeSinceDeath":10050,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/600ef575-e50b-3323-b0f1-19e3a176b08b.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/600ef575-e50b-3323-b0f1-19e3a176b08b.json new file mode 100644 index 00000000..1cf2f69b --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/600ef575-e50b-3323-b0f1-19e3a176b08b.json @@ -0,0 +1 @@ +{"stat.playOneMinute":72,"stat.leaveGame":1,"stat.timeSinceDeath":72,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/60d19c6d-8381-348f-9d23-cb28708609fc.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/60d19c6d-8381-348f-9d23-cb28708609fc.json new file mode 100644 index 00000000..361f90c3 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/60d19c6d-8381-348f-9d23-cb28708609fc.json @@ -0,0 +1 @@ +{"stat.flyOneCm":555,"stat.playOneMinute":13413,"stat.leaveGame":1,"stat.timeSinceDeath":13413,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/618c707a-83d7-31ad-b075-bd98e2c75926.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/618c707a-83d7-31ad-b075-bd98e2c75926.json new file mode 100644 index 00000000..0e2cae67 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/618c707a-83d7-31ad-b075-bd98e2c75926.json @@ -0,0 +1 @@ +{"stat.playOneMinute":30693,"stat.leaveGame":1,"stat.timeSinceDeath":30693,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6ae8fe40-3ccb-3755-8fd2-c5445728b386.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6ae8fe40-3ccb-3755-8fd2-c5445728b386.json new file mode 100644 index 00000000..c1d6b03c --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6ae8fe40-3ccb-3755-8fd2-c5445728b386.json @@ -0,0 +1 @@ +{"stat.playOneMinute":88,"stat.leaveGame":1,"stat.timeSinceDeath":88,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6db1171d-4fa6-31cb-b425-1896281a26e2.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6db1171d-4fa6-31cb-b425-1896281a26e2.json new file mode 100644 index 00000000..57ca1dae --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6db1171d-4fa6-31cb-b425-1896281a26e2.json @@ -0,0 +1 @@ +{"stat.flyOneCm":21819,"stat.walkOneCm":4994,"stat.jump":46,"stat.playOneMinute":805,"stat.leaveGame":1,"stat.damageDealt":85,"stat.timeSinceDeath":805,"stat.sprintOneCm":3595,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6e946422-0041-3048-9c85-48e4f886211a.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6e946422-0041-3048-9c85-48e4f886211a.json new file mode 100644 index 00000000..306e56d2 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/6e946422-0041-3048-9c85-48e4f886211a.json @@ -0,0 +1 @@ +{"stat.playOneMinute":16719,"stat.leaveGame":1,"stat.timeSinceDeath":16719,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/74e89738-6c9e-4f59-83ef-d365849e6049.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/74e89738-6c9e-4f59-83ef-d365849e6049.json new file mode 100644 index 00000000..4888da8d --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/74e89738-6c9e-4f59-83ef-d365849e6049.json @@ -0,0 +1 @@ +{"stat.flyOneCm":97811,"stat.walkOneCm":51373,"stat.drop":1,"stat.jump":363,"stat.useItem.minecraft.sand":596,"stat.playOneMinute":21168,"achievement.openInventory":4,"stat.leaveGame":2,"stat.timeSinceDeath":21168,"stat.sprintOneCm":30272,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/7ef37f89-ec95-314c-ad83-8a71ac6e461c.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/7ef37f89-ec95-314c-ad83-8a71ac6e461c.json new file mode 100644 index 00000000..e4f0e882 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/7ef37f89-ec95-314c-ad83-8a71ac6e461c.json @@ -0,0 +1 @@ +{"stat.flyOneCm":1332,"stat.playOneMinute":27275,"stat.leaveGame":1,"stat.timeSinceDeath":27275,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/7fac0f4d-6ee9-33e9-a874-7b4a3cc238c6.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/7fac0f4d-6ee9-33e9-a874-7b4a3cc238c6.json new file mode 100644 index 00000000..7ea1b2a0 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/7fac0f4d-6ee9-33e9-a874-7b4a3cc238c6.json @@ -0,0 +1 @@ +{"stat.flyOneCm":8558,"stat.walkOneCm":3678,"stat.jump":19,"stat.playOneMinute":17843,"achievement.openInventory":1,"stat.leaveGame":2,"stat.damageDealt":40,"stat.crouchOneCm":13,"stat.timeSinceDeath":17843,"stat.sprintOneCm":2483,"stat.useItem.minecraft.spawn_egg":1,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/8dbdaed5-4750-31ee-aa4f-4c3b2bfbc6f7.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/8dbdaed5-4750-31ee-aa4f-4c3b2bfbc6f7.json new file mode 100644 index 00000000..7b478f1c --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/8dbdaed5-4750-31ee-aa4f-4c3b2bfbc6f7.json @@ -0,0 +1 @@ +{"stat.playOneMinute":33,"stat.leaveGame":1,"stat.timeSinceDeath":33,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/a205b8da-efc6-37ad-8e1d-84c0239cdd21.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/a205b8da-efc6-37ad-8e1d-84c0239cdd21.json new file mode 100644 index 00000000..2a3bab02 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/a205b8da-efc6-37ad-8e1d-84c0239cdd21.json @@ -0,0 +1 @@ +{"stat.walkOneCm":1022,"stat.playOneMinute":800,"stat.leaveGame":1,"stat.timeSinceDeath":800,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/ad8236b9-e26f-349c-902e-7100197cd86d.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/ad8236b9-e26f-349c-902e-7100197cd86d.json new file mode 100644 index 00000000..e121b079 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/ad8236b9-e26f-349c-902e-7100197cd86d.json @@ -0,0 +1 @@ +{"stat.flyOneCm":58,"stat.playOneMinute":193,"stat.leaveGame":1,"stat.timeSinceDeath":193,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/b7a940e4-3cde-3275-9c73-2f71fe593c98.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/b7a940e4-3cde-3275-9c73-2f71fe593c98.json new file mode 100644 index 00000000..60f5c231 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/b7a940e4-3cde-3275-9c73-2f71fe593c98.json @@ -0,0 +1 @@ +{"stat.flyOneCm":1992,"stat.walkOneCm":1173,"stat.jump":9,"stat.playOneMinute":2793,"stat.leaveGame":1,"stat.timeSinceDeath":2793,"stat.sprintOneCm":995,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/cb3fd6c5-1d0c-334b-a8d4-85d2c85eb576.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/cb3fd6c5-1d0c-334b-a8d4-85d2c85eb576.json new file mode 100644 index 00000000..d026431e --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/cb3fd6c5-1d0c-334b-a8d4-85d2c85eb576.json @@ -0,0 +1 @@ +{"stat.flyOneCm":282,"stat.walkOneCm":692,"stat.jump":2,"stat.playOneMinute":5124,"stat.leaveGame":1,"stat.timeSinceDeath":5124,"stat.sprintOneCm":420,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/d96be705-d0ae-31d3-afba-31a637d80f6d.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/d96be705-d0ae-31d3-afba-31a637d80f6d.json new file mode 100644 index 00000000..1f107ec6 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/d96be705-d0ae-31d3-afba-31a637d80f6d.json @@ -0,0 +1 @@ +{"stat.flyOneCm":988,"stat.walkOneCm":1870,"stat.jump":4,"stat.playOneMinute":3525,"stat.leaveGame":1,"stat.crouchOneCm":45,"stat.timeSinceDeath":3525,"stat.sprintOneCm":1680,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/d978d670-4b07-3a90-bfb6-b4e7c70fe7fc.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/d978d670-4b07-3a90-bfb6-b4e7c70fe7fc.json new file mode 100644 index 00000000..46921be4 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/d978d670-4b07-3a90-bfb6-b4e7c70fe7fc.json @@ -0,0 +1 @@ +{"stat.flyOneCm":307,"stat.playOneMinute":8006,"stat.leaveGame":1,"stat.timeSinceDeath":8006,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f2937d48-a72f-3375-bb6f-69c5f204d185.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f2937d48-a72f-3375-bb6f-69c5f204d185.json new file mode 100644 index 00000000..ebf1e850 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f2937d48-a72f-3375-bb6f-69c5f204d185.json @@ -0,0 +1 @@ +{"stat.playOneMinute":47,"stat.leaveGame":1,"stat.timeSinceDeath":47,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f318a6c7-0ff1-368e-9d3e-1b850b84da5e.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f318a6c7-0ff1-368e-9d3e-1b850b84da5e.json new file mode 100644 index 00000000..ab793b76 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f318a6c7-0ff1-368e-9d3e-1b850b84da5e.json @@ -0,0 +1 @@ +{"stat.flyOneCm":1882,"stat.walkOneCm":1006,"stat.jump":8,"stat.playOneMinute":4261,"stat.leaveGame":2,"stat.timeSinceDeath":4261,"stat.sprintOneCm":817,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f4642d2b-29f9-34b7-8b90-e6570e856434.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f4642d2b-29f9-34b7-8b90-e6570e856434.json new file mode 100644 index 00000000..bfcfea1c --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/f4642d2b-29f9-34b7-8b90-e6570e856434.json @@ -0,0 +1 @@ +{"stat.flyOneCm":2726,"stat.walkOneCm":2576,"stat.jump":16,"stat.playOneMinute":3339,"stat.leaveGame":1,"stat.timeSinceDeath":3339,"stat.sprintOneCm":1550,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/fb8576b0-fae6-3c1e-b44e-6422260d3c41.json b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/fb8576b0-fae6-3c1e-b44e-6422260d3c41.json new file mode 100644 index 00000000..4dee8dd8 --- /dev/null +++ b/workspace/saves/Copy of Copy of mcpworldppdsa_/stats/fb8576b0-fae6-3c1e-b44e-6422260d3c41.json @@ -0,0 +1 @@ +{"stat.playOneMinute":40,"stat.leaveGame":1,"stat.timeSinceDeath":40,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}} \ No newline at end of file diff --git a/workspace/screenshots/2023-06-08_14.56.23.png b/workspace/screenshots/2023-06-08_14.56.23.png new file mode 100644 index 00000000..5c02a69f Binary files /dev/null and b/workspace/screenshots/2023-06-08_14.56.23.png differ diff --git a/workspace/settings/configs/default.json b/workspace/settings/configs/default.json index a3f6ade6..45b419a6 100644 --- a/workspace/settings/configs/default.json +++ b/workspace/settings/configs/default.json @@ -12,9 +12,9 @@ "Remove chat background": false, "Merge TNT": true, "Better skin loading": true, - "Chunk update limiter": false, + "Chunk update limiter": true, "Remove item glint": true, - "Chunk updates per second": 136, + "Chunk updates per second": 50, "Better Chests": false, "Static drops": true, "Disable fog": true, @@ -42,8 +42,8 @@ "CPS": { "settings": { "Static Chroma": false, - "Background": false, - "Custom Font": true, + "Background": true, + "Custom Font": false, "Wave Chroma": false, "Color": { "red": 255, @@ -55,7 +55,7 @@ "red": 0, "green": 0, "blue": 0, - "alpha": 153 + "alpha": 150 }, "Display Mode": "Modern", "Right Click Counter": false @@ -63,12 +63,12 @@ "bind": 0, "hud": {"cps": { "visible": true, - "x": 370, - "y": 286, + "x": 107, + "y": 208, "scale": 1 }}, "bindtype": "Toggle", - "enabled": false + "enabled": true }, "Crosshair": { "settings": { @@ -91,13 +91,13 @@ "settings": { "Static Chroma": false, "Background": true, - "Custom Font": true, + "Custom Font": false, "Wave Chroma": false, "Background Color": { "red": 0, "green": 0, "blue": 0, - "alpha": 153 + "alpha": 150 }, "Color": { "red": 255, @@ -110,8 +110,8 @@ "bind": 0, "hud": {"fps": { "visible": true, - "x": 483, - "y": 316, + "x": 1, + "y": 175, "scale": 1 }}, "bindtype": "Toggle", @@ -121,23 +121,54 @@ "settings": { "Chroma": false, "Outline Color": { - "red": 0, - "green": 0, - "blue": 255, + "red": 252, + "green": 252, + "blue": 250, "alpha": 255 }, - "Line Width": 5.5, + "Line Width": 6.01, "Mode": "Both", "Highlight Color": { - "red": 0, - "green": 0, - "blue": 255, + "red": 252, + "green": 252, + "blue": 250, "alpha": 255 } }, "bind": 0, "hud": {}, - "bindtype": "Hold", + "bindtype": "Toggle", + "enabled": true + }, + "Custom Text": { + "settings": { + "Static Chroma": false, + "Custom Font": false, + "Background": true, + "Wave Chroma": false, + "Color": { + "red": 255, + "green": 255, + "blue": 255, + "alpha": 255 + }, + "Background Color": { + "red": 0, + "green": 0, + "blue": 0, + "alpha": 150 + }, + "Display Mode": "Modern", + "Custom Text": "Custom Text Here" + }, + "bind": 0, + "hud": {"customtext": { + "visible": true, + "x": 1, + "y": 200, + "scale": 1 + }}, + "bindtype": "Toggle", "enabled": false }, "Clock": { @@ -156,7 +187,7 @@ "red": 0, "green": 0, "blue": 0, - "alpha": 153 + "alpha": 150 }, "Display Mode": "Modern", "Clock Format": "yyyy/MM/dd HH:mm:ss" @@ -164,19 +195,20 @@ "bind": 0, "hud": {"time": { "visible": true, - "x": 443, - "y": 150, + "x": 1, + "y": 190, "scale": 1 }}, "bindtype": "Toggle", "enabled": false }, - "Custom Text": { + "Memory usage": { "settings": { "Static Chroma": false, - "Custom Font": false, "Background": true, + "Custom Font": false, "Wave Chroma": false, + "Percentage": false, "Color": { "red": 255, "green": 255, @@ -187,16 +219,15 @@ "red": 0, "green": 0, "blue": 0, - "alpha": 153 + "alpha": 150 }, - "Display Mode": "Modern", - "Custom Text": "Penis" + "Display Mode": "Modern" }, "bind": 0, - "hud": {"customtext": { + "hud": {"memory usage": { "visible": true, - "x": 648, - "y": 260, + "x": 1, + "y": 175, "scale": 1 }}, "bindtype": "Toggle", @@ -232,37 +263,6 @@ "bindtype": "Toggle", "enabled": false }, - "Memory usage": { - "settings": { - "Static Chroma": false, - "Background": true, - "Custom Font": false, - "Wave Chroma": false, - "Percentage": false, - "Color": { - "red": 255, - "green": 255, - "blue": 255, - "alpha": 255 - }, - "Background Color": { - "red": 0, - "green": 0, - "blue": 0, - "alpha": 150 - }, - "Display Mode": "Modern" - }, - "bind": 0, - "hud": {"memory usage": { - "visible": true, - "x": 303, - "y": 265, - "scale": 1 - }}, - "bindtype": "Toggle", - "enabled": false - }, "Armor Status": { "settings": { "Value Display": "Value Damage", @@ -281,9 +281,9 @@ }, "bind": 0, "hud": {"armorstatus": { - "visible": false, + "visible": true, "x": 0, - "y": 346, + "y": 200, "scale": 1 }}, "bindtype": "Toggle", @@ -315,6 +315,7 @@ "bindtype": "Toggle", "enabled": false }, + "theme": "AUBERGINE", "Freelook": { "settings": { "Perspective Key": 0, @@ -325,12 +326,7 @@ "bindtype": "Toggle", "enabled": false }, - "macros": [{ - "name": "test", - "command": "dsfsdfsdfdf", - "key": 34, - "enabled": true - }], + "macros": [], "Coordinates": { "settings": { "Show Compass": true, @@ -378,12 +374,12 @@ "bind": 0, "hud": {"coordinates": { "visible": true, - "x": 119, - "y": 138, + "x": 51, + "y": 73, "scale": 1 }}, "bindtype": "Toggle", - "enabled": false + "enabled": true }, "fps": { "entities": [], @@ -408,19 +404,19 @@ "red": 0, "green": 0, "blue": 0, - "alpha": 150 + "alpha": 153 }, "Display Mode": "Modern" }, "bind": 0, "hud": {"entityhud": { "visible": true, - "x": 826, - "y": 86, + "x": 51, + "y": 159, "scale": 1 }}, "bindtype": "Toggle", - "enabled": false + "enabled": true }, "Custom Hit Color": { "settings": {"Hit Color": { @@ -465,7 +461,7 @@ "hud": {"keystrokes": { "visible": true, "x": 0, - "y": 18, + "y": 120, "scale": 1 }}, "bindtype": "Toggle", @@ -514,15 +510,15 @@ "red": 0, "green": 0, "blue": 0, - "alpha": 153 + "alpha": 150 }, "Display Mode": "Modern" }, "bind": 0, "hud": {"potioncounter": { "visible": true, - "x": 657, - "y": 150, + "x": 1, + "y": 200, "scale": 1 }}, "bindtype": "Toggle", diff --git a/workspace/usercache.json b/workspace/usercache.json index 46876701..898a50c8 100644 --- a/workspace/usercache.json +++ b/workspace/usercache.json @@ -1 +1 @@ -[{"name":"Player268","uuid":"b84ce5d9-353d-370c-a2cf-b4a66513f5a8","expiresOn":"2023-07-08 10:42:07 +0200"},{"name":"Player571","uuid":"5d4844c1-110f-375f-8c73-6803b7a61e5d","expiresOn":"2023-07-08 08:06:30 +0200"},{"name":"Player814","uuid":"777409db-46bf-31bf-844f-6d600c083d6c","expiresOn":"2023-07-08 09:47:50 +0200"}] \ No newline at end of file +[{"name":"Player918","uuid":"7fac0f4d-6ee9-33e9-a874-7b4a3cc238c6","expiresOn":"2023-07-08 19:37:58 +0200"},{"name":"Player597","uuid":"618c707a-83d7-31ad-b075-bd98e2c75926","expiresOn":"2023-07-08 16:49:56 +0200"},{"name":"Player697","uuid":"09805145-bb70-3fc1-9783-30845f8dd6d0","expiresOn":"2023-07-08 16:35:52 +0200"},{"name":"Player336","uuid":"2eef3335-8d1f-3428-af42-f3cec9010d4c","expiresOn":"2023-07-08 19:21:04 +0200"},{"name":"Player621","uuid":"55199b58-d04f-3d22-9ce2-5472509a024b","expiresOn":"2023-07-08 16:26:24 +0200"},{"name":"Player414","uuid":"408d12c9-559c-3212-bca5-d1a3fc38a0f7","expiresOn":"2023-07-08 18:22:02 +0200"},{"name":"Player742","uuid":"01d9f825-5509-3b83-aacf-c98ce0dce1c7","expiresOn":"2023-07-08 17:55:59 +0200"},{"name":"Player422","uuid":"cb3fd6c5-1d0c-334b-a8d4-85d2c85eb576","expiresOn":"2023-07-08 17:21:41 +0200"},{"name":"ziue","uuid":"74e89738-6c9e-4f59-83ef-d365849e6049","expiresOn":"2023-07-08 15:25:38 +0200"},{"name":"Player601","uuid":"3b1946fe-c2d1-3fab-8b74-bd39d8b52fb4","expiresOn":"2023-07-08 13:17:47 +0200"},{"name":"Player750","uuid":"2659329e-1c65-3850-9659-d27fc655aa3c","expiresOn":"2023-07-08 19:27:39 +0200"},{"name":"Player730","uuid":"409ad871-75ba-3dbd-b116-807d64800e7d","expiresOn":"2023-07-08 17:48:36 +0200"},{"name":"Player203","uuid":"d96be705-d0ae-31d3-afba-31a637d80f6d","expiresOn":"2023-07-08 16:29:04 +0200"},{"name":"Player405","uuid":"600ef575-e50b-3323-b0f1-19e3a176b08b","expiresOn":"2023-07-08 19:15:08 +0200"},{"name":"Player815","uuid":"41dc22e0-3e7d-3bce-88c0-a274eb3e3859","expiresOn":"2023-07-08 19:16:28 +0200"},{"name":"Player6","uuid":"6e946422-0041-3048-9c85-48e4f886211a","expiresOn":"2023-07-08 18:00:50 +0200"},{"name":"Player755","uuid":"8dbdaed5-4750-31ee-aa4f-4c3b2bfbc6f7","expiresOn":"2023-07-08 19:11:24 +0200"},{"name":"Player939","uuid":"0704e0ba-eaf6-3b26-b880-53fd45ec3b48","expiresOn":"2023-07-08 19:15:56 +0200"},{"name":"Player999","uuid":"3c28cca8-db38-324d-ac91-779beed87c8d","expiresOn":"2023-07-08 17:28:24 +0200"},{"name":"Player308","uuid":"6db1171d-4fa6-31cb-b425-1896281a26e2","expiresOn":"2023-07-08 13:43:03 +0200"},{"name":"Player814","uuid":"777409db-46bf-31bf-844f-6d600c083d6c","expiresOn":"2023-07-08 09:47:50 +0200"},{"name":"Player412","uuid":"d978d670-4b07-3a90-bfb6-b4e7c70fe7fc","expiresOn":"2023-07-08 18:15:08 +0200"},{"name":"Player3","uuid":"f318a6c7-0ff1-368e-9d3e-1b850b84da5e","expiresOn":"2023-07-08 16:41:01 +0200"},{"name":"Player920","uuid":"ad8236b9-e26f-349c-902e-7100197cd86d","expiresOn":"2023-07-08 19:13:30 +0200"},{"name":"Player155","uuid":"60d19c6d-8381-348f-9d23-cb28708609fc","expiresOn":"2023-07-08 17:36:23 +0200"},{"name":"Player813","uuid":"fb8576b0-fae6-3c1e-b44e-6422260d3c41","expiresOn":"2023-07-08 17:27:24 +0200"},{"name":"Player491","uuid":"46f780a1-2e26-3e88-a90a-02cf37fe1547","expiresOn":"2023-07-08 19:10:32 +0200"},{"name":"Player962","uuid":"7ef37f89-ec95-314c-ad83-8a71ac6e461c","expiresOn":"2023-07-08 18:46:33 +0200"},{"name":"Player790","uuid":"2f0d3d8c-afbe-358f-b8f3-786d7b0f9259","expiresOn":"2023-07-08 16:44:53 +0200"},{"name":"Player693","uuid":"f2937d48-a72f-3375-bb6f-69c5f204d185","expiresOn":"2023-07-08 19:16:58 +0200"},{"name":"Player268","uuid":"b84ce5d9-353d-370c-a2cf-b4a66513f5a8","expiresOn":"2023-07-08 10:42:07 +0200"},{"name":"Player571","uuid":"5d4844c1-110f-375f-8c73-6803b7a61e5d","expiresOn":"2023-07-08 08:06:30 +0200"},{"name":"Player136","uuid":"f4642d2b-29f9-34b7-8b90-e6570e856434","expiresOn":"2023-07-08 16:32:44 +0200"},{"name":"Player579","uuid":"6ae8fe40-3ccb-3755-8fd2-c5445728b386","expiresOn":"2023-07-08 19:18:18 +0200"},{"name":"Player172","uuid":"31a9aee6-8c2b-389d-b14e-b75d71479611","expiresOn":"2023-07-08 16:15:57 +0200"},{"name":"Player854","uuid":"2a68c4a4-c1ba-3396-a626-ac7041e25da5","expiresOn":"2023-07-08 17:15:46 +0200"},{"name":"Player773","uuid":"b7a940e4-3cde-3275-9c73-2f71fe593c98","expiresOn":"2023-07-08 16:37:19 +0200"},{"name":"Player889","uuid":"a205b8da-efc6-37ad-8e1d-84c0239cdd21","expiresOn":"2023-07-08 16:14:54 +0200"},{"name":"Player847","uuid":"6004b361-ef29-34d2-b89c-32df237908c7","expiresOn":"2023-07-08 19:29:12 +0200"}] \ No newline at end of file