From a555f5e1fc37aa56806f6ab6c3651bfe2a2ceb37 Mon Sep 17 00:00:00 2001 From: Taken Date: Thu, 15 Jan 2026 13:57:24 +0100 Subject: [PATCH] Updated version to 1.21.11 --- build.gradle | 9 ++++--- gradle.properties | 25 +++++++++---------- gradle/wrapper/gradle-wrapper.properties | 2 +- .../mcbrowser/screen/BrowserScreen.java | 7 +++--- .../blobanium/mcbrowser/util/BrowserImpl.java | 2 +- .../mcbrowser/util/button/NewTabButton.java | 5 ++++ .../mcbrowser/util/button/ReloadButton.java | 15 +++-------- .../mcbrowser/util/button/TabButton.java | 17 ++++++++----- src/main/resources/fabric.mod.json | 23 ++++++----------- 9 files changed, 50 insertions(+), 55 deletions(-) diff --git a/build.gradle b/build.gradle index a966676..1dc0972 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.11-SNAPSHOT' + id 'fabric-loom' version '1.14-SNAPSHOT' id 'maven-publish' } @@ -17,7 +17,8 @@ repositories { maven { url "https://maven.shedaniel.me/" } maven { url "https://maven.terraformersmc.com/releases/" } - maven {url "https://api.modrinth.com/maven" } + maven { url "https://api.modrinth.com/maven" } + maven { url "https://keksuccino.github.io/maven/" } } dependencies { @@ -28,8 +29,8 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - modImplementation "maven.modrinth:mcef-keksuccino:${project.mcef_version}" - modRuntimeOnly "maven.modrinth:mcef-keksuccino:${project.mcef_version}" + modImplementation "de.keksuccino:mcef-fabric:${project.mcef_version}" + modRuntimeOnly "de.keksuccino:mcef-fabric:${project.mcef_version}" modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") { exclude(group: "net.fabricmc.fabric-api") } diff --git a/gradle.properties b/gradle.properties index 8456559..49fbf96 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,20 +2,19 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties - # check these on https://modmuss50.me/fabric.html - minecraft_version=1.21.10 - yarn_mappings=1.21.10+build.2 - loader_version=0.17.3 +# check these on https://modmuss50.me/fabric.html +minecraft_version=1.21.11 +yarn_mappings=1.21.11+build.4 +loader_version=0.18.4 # Mod Properties - mod_version = 1.3.3-Snapshot - maven_group = io.github.blobanium - archives_base_name = MCBrowser +mod_version = 1.3.3-Snapshot +maven_group = io.github.blobanium +archives_base_name = MCBrowser # Dependencies - # check this on https://modmuss50.me/fabric.html - fabric_version=0.136.0+1.21.10 - - mcef_version=2.1.7-1.21.10-fabric - cloth_config_version=20.0.148 - mod_menu_version=16.0.0-rc.1 +# check this on https://modmuss50.me/fabric.html +fabric_version=0.141.1+1.21.11 +mcef_version=2.1.9-1.21.11 +cloth_config_version=21.11.153 +mod_menu_version=16.0.0-rc.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e11132..23449a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/io/github/blobanium/mcbrowser/screen/BrowserScreen.java b/src/main/java/io/github/blobanium/mcbrowser/screen/BrowserScreen.java index 10073ce..d599be4 100644 --- a/src/main/java/io/github/blobanium/mcbrowser/screen/BrowserScreen.java +++ b/src/main/java/io/github/blobanium/mcbrowser/screen/BrowserScreen.java @@ -128,6 +128,7 @@ public void initElements() { } public void updateWidgets() { + if (urlBox == null) return; // Screen not fully initialized yet urlBox.setText(currentTab.getURL()); urlBox.setCursorToStart(false); backButton.active = currentTab.canGoBack(); @@ -138,11 +139,10 @@ public void updateWidgets() { currentTab.resize(BrowserUtil.scaleX(width, BD_OFFSET), BrowserUtil.scaleY(height, BD_OFFSET)); } - @Override public void resize(MinecraftClient minecraft, int i, int j) { ArrayList tempList = new ArrayList<>(tabButtons); tabButtons.clear(); - super.resize(minecraft, i, j); + super.resize(i, j); resizeBrowser(); updateWidgets(); for (TabButton tabButton : tabButtons) { remove(tabButton); } @@ -177,6 +177,7 @@ public void render(DrawContext context, int mouseX, int mouseY, float delta) { } private void renderWidgets(DrawContext context, int mouseX, int mouseY, float delta){ + if (urlBox == null) return; // Screen not fully initialized yet urlBox.renderWidget(context, mouseX, mouseY, delta); for (PressableWidget button : navigationButtons) button.render(context, mouseX, mouseY, delta); if (SpecialButtonHelper.isOnCompatableSite(TabManager.getCurrentUrl())) specialButton.render(context, mouseX, mouseY, delta); @@ -247,7 +248,7 @@ public boolean keyReleased(KeyInput input) { } private void sendKeyActivityAndSetFocus(int keyCode, int scanCode, int modifiers, boolean isPress){ - if (isPress ? !urlBox.isFocused() : !(client != null && client.isCtrlPressed()) || keyCode != GLFW.GLFW_KEY_TAB) BrowserUtil.runAsyncIfEnabled(() -> currentTab.sendKeyPressRelease(keyCode, scanCode, modifiers, isPress)); + if (isPress ? !urlBox.isFocused() : !(client != null && client.isCtrlPressed()) || keyCode != GLFW.GLFW_KEY_LEFT_CONTROL) BrowserUtil.runAsyncIfEnabled(() -> currentTab.sendKeyPressRelease(keyCode, scanCode, modifiers, isPress)); setFocus(); } diff --git a/src/main/java/io/github/blobanium/mcbrowser/util/BrowserImpl.java b/src/main/java/io/github/blobanium/mcbrowser/util/BrowserImpl.java index 68bd706..566e61c 100644 --- a/src/main/java/io/github/blobanium/mcbrowser/util/BrowserImpl.java +++ b/src/main/java/io/github/blobanium/mcbrowser/util/BrowserImpl.java @@ -35,7 +35,7 @@ public boolean isLoading() { } public void render(DrawContext context, int x, int y, int width, int height) { - Identifier textureLocation = getTextureLocation(); + Identifier textureLocation = this.getTextureIdentifier(); if (isTextureReady()) { context.drawTexture(RenderPipelines.GUI_TEXTURED, textureLocation, x, y, 0F, 0F, width, height, width, height, ColorHelper.getWhite(1F)); diff --git a/src/main/java/io/github/blobanium/mcbrowser/util/button/NewTabButton.java b/src/main/java/io/github/blobanium/mcbrowser/util/button/NewTabButton.java index 281a352..991af88 100644 --- a/src/main/java/io/github/blobanium/mcbrowser/util/button/NewTabButton.java +++ b/src/main/java/io/github/blobanium/mcbrowser/util/button/NewTabButton.java @@ -32,6 +32,11 @@ protected void appendClickableNarrations(NarrationMessageBuilder builder) { //Required for Implementation } + @Override + protected void drawIcon(net.minecraft.client.gui.DrawContext context, int x, int y, float delta) { + // Draw the default button with the "+" text + } + @Override public boolean mouseClicked(Click click, boolean doubled) { if (this.isSelected()){ diff --git a/src/main/java/io/github/blobanium/mcbrowser/util/button/ReloadButton.java b/src/main/java/io/github/blobanium/mcbrowser/util/button/ReloadButton.java index 49d66cf..c0d33bc 100644 --- a/src/main/java/io/github/blobanium/mcbrowser/util/button/ReloadButton.java +++ b/src/main/java/io/github/blobanium/mcbrowser/util/button/ReloadButton.java @@ -20,7 +20,7 @@ public class ReloadButton extends PressableWidget { ); public ReloadButton(int x, int y, int width, int height) { - super(x, y, height, width, null); + super(x, y, height, width, Text.empty()); } @Override @@ -33,20 +33,13 @@ protected void appendClickableNarrations(NarrationMessageBuilder builder) { //Required for Implementation } - /** - * Renders the widget on the screen. - * - * @param context the draw context - * @param mouseX the X coordinate of the mouse - * @param mouseY the Y coordinate of the mouse - * @param delta the time in ticks between the previous and current render - */ @Override - protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { + protected void drawIcon(DrawContext context, int x, int y, float delta) { Identifier texture = TEXTURES.get(this.isInteractable(), this.isFocused()); MinecraftClient minecraftClient = MinecraftClient.getInstance(); context.drawGuiTexture(RenderPipelines.GUI_TEXTURED, texture, this.getX(), this.getY(), this.getWidth(), this.getHeight()); - drawScrollableText(context, minecraftClient.textRenderer, Text.of(TabManager.getCurrentTab().isLoading() ? "❌" : "⟳"), this.getX() + 2, this.getY(), this.getX() + this.getWidth() - 2, this.getY() + this.getHeight(), 16777215 | MathHelper.ceil(this.alpha * 255.0F) << 24); + int color = 16777215 | MathHelper.ceil(this.alpha * 255.0F) << 24; + context.drawCenteredTextWithShadow(minecraftClient.textRenderer, Text.of(TabManager.getCurrentTab().isLoading() ? "❌" : "⟳"), this.getX() + this.getWidth() / 2, this.getY() + (this.getHeight() - 8) / 2, color); } @Override diff --git a/src/main/java/io/github/blobanium/mcbrowser/util/button/TabButton.java b/src/main/java/io/github/blobanium/mcbrowser/util/button/TabButton.java index 76b680f..a0d64db 100644 --- a/src/main/java/io/github/blobanium/mcbrowser/util/button/TabButton.java +++ b/src/main/java/io/github/blobanium/mcbrowser/util/button/TabButton.java @@ -32,7 +32,7 @@ public class TabButton extends PressableWidget { final int startX; public TabButton(int startX, int y, int width, int height, int tab) { - super(0, y, width, height, null); + super(0, y, width, height, Text.empty()); this.startX = startX; this.tab = tab; } @@ -57,11 +57,10 @@ protected void appendClickableNarrations(NarrationMessageBuilder builder) { //Required For Implementation } - private final boolean selected = TabManager.activeTab == tab; - private final boolean tooSmall = this.getWidth() < this.getHeight() * 3; - @Override - public void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { + protected void drawIcon(DrawContext context, int x, int y, float delta) { + boolean selected = TabManager.activeTab == tab; + boolean tooSmall = this.getWidth() < this.getHeight() * 3; Identifier texture = TEXTURES.get(this.isInteractable(), this.isFocused()); if (this.getX() > BrowserUtil.instance.width - BrowserScreen.BD_OFFSET - 35) { return; } @@ -69,7 +68,10 @@ public void renderWidget(DrawContext context, int mouseX, int mouseY, float delt String name = TabManager.tabs.get(tab).getTitle(); if (name == null || name.isEmpty()) { name = "Loading..."; } TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; - drawScrollableText(context, textRenderer, Text.of(name), this.getX() + 2 + 15, this.getY(), this.getX() + this.getWidth() - (!tooSmall || selected ? 17 : 2), this.getY() + this.getHeight(), 16777215 | MathHelper.ceil(this.alpha * 255.0F) << 24); + int color = 16777215 | MathHelper.ceil(this.alpha * 255.0F) << 24; + int textWidth = this.getX() + this.getWidth() - (!tooSmall || selected ? 17 : 2) - (this.getX() + 2 + 15); + String displayName = textRenderer.trimToWidth(name, textWidth); + context.drawText(textRenderer, displayName, this.getX() + 2 + 15, this.getY() + (this.getHeight() - 8) / 2, color, true); context.fill(this.getX(), this.getY(), this.getX() + this.getHeight(), this.getY() + this.getHeight(), 0x00FFFFFF); renderIco(context); @@ -158,6 +160,9 @@ public boolean mouseClicked(Click click, boolean doubled) { return true; } + boolean selected = TabManager.activeTab == tab; + boolean tooSmall = this.getWidth() < this.getHeight() * 3; + if (tooSmall && !selected) { open(); return true; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index bfd6d1a..e1bfbf8 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -14,27 +14,18 @@ "icon": "assets/mcbrowser/icon.png", "environment": "client", "entrypoints": { - "client": [ - "io.github.blobanium.mcbrowser.MCBrowser" - ], - "modmenu": [ - "io.github.blobanium.mcbrowser.config.ModMenuIntegration" - ] + "client": ["io.github.blobanium.mcbrowser.MCBrowser"], + "modmenu": ["io.github.blobanium.mcbrowser.config.ModMenuIntegration"] }, - "mixins": [ - "mcbrowser.mixins.json" - ], + "mixins": ["mcbrowser.mixins.json"], "suggests": { - "modmenu":"*" - }, - "recommends": { - "mcef": ">=2.1.6-1.21.10" + "modmenu": "*" }, "depends": { "fabricloader": ">=${loader_version}", - "minecraft": "1.21.10", - "mcef": ">=2.1.6-1.21.10", - "cloth-config": "20.*.*", + "minecraft": "${minecraft_version}", + "mcef": ">=2.1.9-1.21.11", + "cloth-config": "21.11.*", "fabric": "*" }, "conflicts": {