From d5f730db91bca16e9b51ea0f157492cbfb91ad7d Mon Sep 17 00:00:00 2001 From: Saad Nadeem Date: Fri, 21 Aug 2026 01:17:20 -0400 Subject: [PATCH 1/3] chore: remove unused blur handler --- .../api/ui/v1/internal/BlurHandler.java | 83 ------------------- .../oneconfig/internal/OneConfig.java | 2 - minecraft/stonecutter.gradle.kts | 3 - 3 files changed, 88 deletions(-) delete mode 100644 minecraft/src/main/java/org/polyfrost/oneconfig/api/ui/v1/internal/BlurHandler.java diff --git a/minecraft/src/main/java/org/polyfrost/oneconfig/api/ui/v1/internal/BlurHandler.java b/minecraft/src/main/java/org/polyfrost/oneconfig/api/ui/v1/internal/BlurHandler.java deleted file mode 100644 index e27f12804..000000000 --- a/minecraft/src/main/java/org/polyfrost/oneconfig/api/ui/v1/internal/BlurHandler.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * This file is part of OneConfig. - * OneConfig - Next Generation Config Library for Minecraft: Java Edition - * Copyright (C) 2021~2024 Polyfrost. - * - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * OneConfig is licensed under the terms of version 3 of the GNU Lesser - * General Public License as published by the Free Software Foundation, AND - * under the Additional Terms Applicable to OneConfig, as published by Polyfrost, - * either version 1.0 of the Additional Terms, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License. If not, see . You should - * have also received a copy of the Additional Terms Applicable - * to OneConfig, as published by Polyfrost. If not, see - * - */ - -package org.polyfrost.oneconfig.api.ui.v1.internal; - -//~ identifier -import net.minecraft.resources.Identifier; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.polyfrost.oneconfig.api.event.v1.events.ScreenOpenEvent; -import org.polyfrost.oneconfig.api.event.v1.invoke.EventHandler; - -/** - * An adapted and optimized implementation of the BlurMC mod by tterrag1098, later modified by boomboompower. - *

- * For the original source see here. - * taken the MIT Licence. - *

- * Modifications based on source from ToggleChat. See here for that licence. - * - * @author tterrag1098, boomboompower, nextday - */ -public final class BlurHandler { - public static final BlurHandler INSTANCE = new BlurHandler(); - private static final Logger LOGGER = LogManager.getLogger("OneConfig/Blur"); - private final Identifier blurShader = Identifier.parse("shaders/post/fade_in_blur.json"); - - private BlurHandler() { - EventHandler.ofRemoving(ScreenOpenEvent.class, e -> reloadBlur(e.getScreen())).register(); - } - - public static void init() { - // will call - } - - public static boolean isBlurring() { - return false; - } - - /** - * Activates or deactivates the blur in the current world when no other shader is in use and - * the blur setting is enabled - */ - private boolean reloadBlur(Object gui) { - return false; // TODO: Fix shader usage in 1.21.1+ - } - - private void tryStop() { - // no-op because the shader API is not available in 1.21.1+ - } - - @SuppressWarnings("BooleanMethodIsAlwaysInverted") - public boolean isShaderActive() { - return getShaderGroup() != null; - } - - private Object getShaderGroup() { - return null; - } -} diff --git a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java index 657b96b87..1163c0234 100644 --- a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java +++ b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java @@ -57,7 +57,6 @@ import org.polyfrost.oneconfig.api.notifications.v1.NotificationsRenderer; import org.polyfrost.oneconfig.api.platform.v1.ModInfo; import org.polyfrost.oneconfig.api.platform.v1.Platform; -import org.polyfrost.oneconfig.api.ui.v1.internal.BlurHandler; import org.polyfrost.oneconfig.api.ui.v1.keybind.KeybindHelper; import org.polyfrost.oneconfig.internal.ui.api.ConfigRegistry; import org.polyfrost.oneconfig.internal.ui.api.ConfigSource; @@ -346,7 +345,6 @@ private void init() { .orElse(null); String v = self == null ? "LOCAL" : self.getVersion(); LOGGER.info("Loading OneConfig v{}", v); - BlurHandler.init(); McFontService.INSTANCE.init(); ThirdPartyModCategories.INSTANCE.init(); // force class-load so the hello/disconnect handlers are armed before joining any server diff --git a/minecraft/stonecutter.gradle.kts b/minecraft/stonecutter.gradle.kts index b13d5ff53..684b99a91 100644 --- a/minecraft/stonecutter.gradle.kts +++ b/minecraft/stonecutter.gradle.kts @@ -52,9 +52,6 @@ stonecutter { string(eval(current.version, ">= 26.2"), "main_render_target") { replace("mainRenderTarget", "gameRenderer.mainRenderTarget()") } - string(eval(current.version, ">= 1.21.11"), "identifier") { - replace("ResourceLocation", "Identifier") - } regex(eval(current.version, "< 1.21.11")) { replace( "import net.minecraft.resources.Identifier(?!;)", From 7d67c1c7b550ff0f41ac0d93b11beb727a420682 Mon Sep 17 00:00:00 2001 From: Saad Nadeem Date: Fri, 21 Aug 2026 01:18:39 -0400 Subject: [PATCH 2/3] chore: stonecutter fixes --- .../polyfrost/oneconfig/internal/OneConfig.java | 1 + .../oneconfig/internal/OneConfigMixinInit.java | 6 ++---- .../skia/Mixin_GuiRendererLegacyTarget.java | 3 +-- .../item/MinecraftItemCatalogService.kt | 10 +++++----- minecraft/stonecutter.gradle.kts | 16 ++++++---------- 5 files changed, 15 insertions(+), 21 deletions(-) diff --git a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java index 1163c0234..39e1ea0a0 100644 --- a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java +++ b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java @@ -257,6 +257,7 @@ private static void registerEventHandlers() { ConfigRegistry.INSTANCE.loadFrom(ConfigManager.active(), ConfigSource.OC); org.polyfrost.oneconfig.internal.ui.hud.BuiltinHudRegistrar.register(); org.polyfrost.oneconfig.internal.compat.FirmamentHudCompat.register(); + //? if wwaypoints_compat org.polyfrost.oneconfig.internal.compat.WWaypointsCompat.register(); org.polyfrost.oneconfig.internal.ui.themes.ThemeRegistry.INSTANCE.loadFromConfig(); }); diff --git a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfigMixinInit.java b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfigMixinInit.java index c928cc43d..c4c1d2abf 100644 --- a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfigMixinInit.java +++ b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfigMixinInit.java @@ -162,12 +162,10 @@ public List getMixins() { mixins.add("skia.Mixin_InitSkiaFontRenderer"); mixins.add("skia.Mixin_FixComposeRaceCondition"); - //? >= 1.21.10 { + //? if >= 1.21.10 { mixins.add("keybind.Mixin_KeybindCategoryLabel"); - //? } - //? < 1.21.10 { + //?} else //mixins.add("keybind.KeyMappingCategoryAccessor"); - //? } mixins.add("keybind.Mixin_OneConfigKeybindRebind"); mixins.add("keybind.Mixin_KeyMappingResetDetect"); diff --git a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/skia/Mixin_GuiRendererLegacyTarget.java b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/skia/Mixin_GuiRendererLegacyTarget.java index 5a6d5f0aa..258bb28b1 100644 --- a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/skia/Mixin_GuiRendererLegacyTarget.java +++ b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/skia/Mixin_GuiRendererLegacyTarget.java @@ -45,8 +45,7 @@ public class Mixin_GuiRendererLegacyTarget { return override != null ? override.height : original; } //? } else { - /* - @ModifyExpressionValue( + /*@ModifyExpressionValue( method = "draw", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/Window;getWidth()I") ) diff --git a/minecraft/src/main/kotlin/org/polyfrost/oneconfig/internal/ui/components/item/MinecraftItemCatalogService.kt b/minecraft/src/main/kotlin/org/polyfrost/oneconfig/internal/ui/components/item/MinecraftItemCatalogService.kt index 44cd7bef9..b5fc8ae36 100644 --- a/minecraft/src/main/kotlin/org/polyfrost/oneconfig/internal/ui/components/item/MinecraftItemCatalogService.kt +++ b/minecraft/src/main/kotlin/org/polyfrost/oneconfig/internal/ui/components/item/MinecraftItemCatalogService.kt @@ -11,7 +11,7 @@ import com.mojang.blaze3d.buffers.GpuBuffer import com.mojang.blaze3d.buffers.BufferUsage *///? } //? if < 1.21.5 -/*import com.mojang.blaze3d.platform.NativeImage*/ +//import com.mojang.blaze3d.platform.NativeImage import net.minecraft.client.Minecraft import net.minecraft.client.gui.GuiGraphicsExtractor //? if >= 1.21.8 @@ -205,13 +205,13 @@ class MinecraftItemCatalogService : ItemCatalogService { //? if >= 1.21.11 { val graphics = GuiGraphicsExtractor(Minecraft.getInstance(), state, guiWidth, guiHeight) //? } else - /*val graphics = GuiGraphicsExtractor(Minecraft.getInstance(), state)*/ + //val graphics = GuiGraphicsExtractor(Minecraft.getInstance(), state) placements.forEach { placement -> val item = entriesById[placement.id]?.item ?: return@forEach //? if >= 26.1 { graphics.fakeItem(ItemStack(item), placement.x + ITEM_PADDING, placement.y + ITEM_PADDING) //? } else - /*graphics.renderFakeItem(ItemStack(item), placement.x + ITEM_PADDING, placement.y + ITEM_PADDING)*/ + //graphics.renderFakeItem(ItemStack(item), placement.x + ITEM_PADDING, placement.y + ITEM_PADDING) } val client = Minecraft.getInstance() @@ -438,7 +438,7 @@ class MinecraftItemCatalogService : ItemCatalogService { //? if >= 1.21.11 { device.createCommandEncoder().copyTextureToBuffer(texture, buffer, 0L, onCopied, 0) //? } else - /*device.createCommandEncoder().copyTextureToBuffer(texture, buffer, 0, onCopied, 0)*/ + //device.createCommandEncoder().copyTextureToBuffer(texture, buffer, 0, onCopied, 0) } catch (throwable: Throwable) { buffer.close() throw throwable @@ -461,7 +461,7 @@ class MinecraftItemCatalogService : ItemCatalogService { //? if >= 1.21.4 { image.getPixel(x, y) //? } else - /*abgrToArgb(image.getPixelRGBA(x, y))*/ + //abgrToArgb(image.getPixelRGBA(x, y)) } completeBatch(batch, icons) } finally { diff --git a/minecraft/stonecutter.gradle.kts b/minecraft/stonecutter.gradle.kts index 684b99a91..e5d3cf3a0 100644 --- a/minecraft/stonecutter.gradle.kts +++ b/minecraft/stonecutter.gradle.kts @@ -40,24 +40,20 @@ stonecutter { replace("GuiGraphics", "GuiGraphicsExtractor") } - regex(eval(current.version, "< 26.1")) { + string(eval(current.version, "< 26.1")) { replace( - "import net.minecraft.client.gui.GuiGraphicsExtractor(?!;)", - "import net.minecraft.client.gui.GuiGraphics as GuiGraphicsExtractor", - "import net.minecraft.client.gui.GuiGraphics as GuiGraphicsExtractor", - "import net.minecraft.client.gui.GuiGraphicsExtractor", + "import net.minecraft.client.gui.GuiGraphicsExtractor\n", + "import net.minecraft.client.gui.GuiGraphics as GuiGraphicsExtractor\n", ) } // 26.2 moved the main render target from Minecraft onto GameRenderer string(eval(current.version, ">= 26.2"), "main_render_target") { replace("mainRenderTarget", "gameRenderer.mainRenderTarget()") } - regex(eval(current.version, "< 1.21.11")) { + string(eval(current.version, "< 1.21.11")) { replace( - "import net.minecraft.resources.Identifier(?!;)", - "import net.minecraft.resources.ResourceLocation as Identifier", - "import net.minecraft.resources.ResourceLocation as Identifier", - "import net.minecraft.resources.Identifier", + "import net.minecraft.resources.Identifier\n", + "import net.minecraft.resources.ResourceLocation as Identifier\n", ) } From 75542f1626fc2e369bb56ef47b654bae09ce8dde Mon Sep 17 00:00:00 2001 From: Saad Nadeem Date: Fri, 21 Aug 2026 02:05:30 -0400 Subject: [PATCH 3/3] chore: cleanup random stuff --- .../main/java/org/polyfrost/oneconfig/internal/OneConfig.java | 4 +--- minecraft/src/main/resources/mixins.oneconfigv1.json | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java index 39e1ea0a0..63267966c 100644 --- a/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java +++ b/minecraft/src/main/java/org/polyfrost/oneconfig/internal/OneConfig.java @@ -34,7 +34,6 @@ import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.screens.ChatScreen; import net.minecraft.network.chat.Component; -import net.minecraft.server.packs.resources.ReloadableResourceManager; import net.minecraft.world.scores.DisplaySlot; import net.minecraft.world.scores.Scoreboard; import org.apache.logging.log4j.LogManager; @@ -57,7 +56,6 @@ import org.polyfrost.oneconfig.api.notifications.v1.NotificationsRenderer; import org.polyfrost.oneconfig.api.platform.v1.ModInfo; import org.polyfrost.oneconfig.api.platform.v1.Platform; -import org.polyfrost.oneconfig.api.ui.v1.keybind.KeybindHelper; import org.polyfrost.oneconfig.internal.ui.api.ConfigRegistry; import org.polyfrost.oneconfig.internal.ui.api.ConfigSource; import org.polyfrost.oneconfig.internal.ui.api.ThirdPartyModCategories; @@ -239,7 +237,7 @@ private static void registerEventHandlers() { // resets the editing flag if another screen replaces the HUD editor without going through // HudManager.closeEditor() and null opens are ignored because commands close chat first EventManager.register( - org.polyfrost.oneconfig.api.event.v1.events.ScreenOpenEvent.class, e -> { + ScreenOpenEvent.class, e -> { if (HudManager.INSTANCE.isEditorOpen() && e.getScreen() != null && !(e.getScreen() instanceof HudEditorUIScreen)) { HudManager.INSTANCE.closeEditor(); } diff --git a/minecraft/src/main/resources/mixins.oneconfigv1.json b/minecraft/src/main/resources/mixins.oneconfigv1.json index d240c4b60..1a6cedac9 100644 --- a/minecraft/src/main/resources/mixins.oneconfigv1.json +++ b/minecraft/src/main/resources/mixins.oneconfigv1.json @@ -6,6 +6,9 @@ "injectors": { "maxShiftBy": 5 }, + "mixinextras": { + "minVersion": "0.5.0" + }, "verbose": true, "client": [ "Mixin_PackRepository",