From a75f9f85708b8b746ae07a09e65d3b99eba79a61 Mon Sep 17 00:00:00 2001 From: tterrag Date: Tue, 11 Dec 2018 10:54:26 -0500 Subject: [PATCH 01/62] Basic port to fabric - no configs yet --- build.gradle | 53 ++----- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- src/main/java/com/tterrag/blur/Blur.java | 145 +++++++++--------- .../java/com/tterrag/blur/BlurPlugin.java | 33 ---- .../tterrag/blur/config/BlurConfigGui.java | 43 ------ .../tterrag/blur/config/BlurGuiFactory.java | 41 ----- .../java/com/tterrag/blur/mixin/MixinGui.java | 27 ++++ .../blur/mixin/MixinMinecraftClient.java | 30 ++++ .../blur/mixin/MixinWorldRenderer.java | 15 ++ .../tterrag/blur/util/ShaderResourcePack.java | 68 ++++---- src/main/resources/blur.client.json | 13 ++ src/main/resources/fabric.mod.json | 10 ++ src/main/resources/mcmod.info | 16 -- 14 files changed, 228 insertions(+), 270 deletions(-) delete mode 100644 src/main/java/com/tterrag/blur/BlurPlugin.java delete mode 100644 src/main/java/com/tterrag/blur/config/BlurConfigGui.java delete mode 100644 src/main/java/com/tterrag/blur/config/BlurGuiFactory.java create mode 100644 src/main/java/com/tterrag/blur/mixin/MixinGui.java create mode 100644 src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java create mode 100644 src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java create mode 100644 src/main/resources/blur.client.json create mode 100644 src/main/resources/fabric.mod.json delete mode 100644 src/main/resources/mcmod.info diff --git a/build.gradle b/build.gradle index 04044cf..95b16b7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,16 +1,17 @@ buildscript { - repositories { - mavenCentral() - maven { url = "http://files.minecraftforge.net/maven" } - maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" } - } - dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' } + repositories { + jcenter() + maven { url = 'http://maven.modmuss50.me' } + } + dependencies { + classpath 'net.fabricmc:fabric-loom:0.1.0-SNAPSHOT' + } } plugins { id 'com.matthewprenger.cursegradle' version '1.0.9' } -apply plugin: 'net.minecraftforge.gradle.forge' +apply plugin: 'fabric-loom' boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false'); ext.buildnumber = System.getenv().BUILD_NUMBER ?: 'custom'; @@ -23,39 +24,17 @@ sourceCompatibility = '1.8' targetCompatibility = '1.8' minecraft { - version = "${minecraft_version}-${forge_version}" - mappings = 'stable_29' - - runDir = 'run' - - clientJvmArgs += '-Dfml.coreMods.load=com.tterrag.blur.BlurPlugin' - - replace "@VERSION@", project.version } -processResources { - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include '**/*.info' - include '**/*.properties' +dependencies { + minecraft "com.mojang:minecraft:18w49a" + mappings "net.fabricmc:yarn:18w49a.10" + modCompile "net.fabricmc:fabric-loader:0.2.0.62" - // replace version and mcversion - expand 'version': project.version, 'mcversion': project.minecraft.version - } - - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude '**/*.info' - exclude '**/*.properties' - } -} - -jar.manifest { - attributes 'FMLCorePlugin': 'com.tterrag.blur.BlurPlugin' - attributes 'FMLCorePluginContainsFMLMod': 'true' + // Fabric API. This is technically optional, but you probably want it anyway. + modCompile "net.fabricmc:fabric:0.1.0.37" + + implementation 'com.google.code.findbugs:jsr305:3.0.2' } import org.apache.tools.ant.filters.ReplaceTokens diff --git a/gradle.properties b/gradle.properties index 40b3c2c..1f6a7f1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ minecraft_version=1.10.2 forge_version=12.18.3.2297 -mod_version=1.0.4 +mod_version=1.0.4-fabric project_id=268324 release_type=release diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4c3583a..603141c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index ac046d9..057bf8d 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,81 +1,85 @@ package com.tterrag.blur; -import java.io.File; import java.lang.reflect.Field; import java.util.List; +import java.util.Map; import javax.annotation.Nonnull; import org.apache.commons.lang3.ArrayUtils; import com.google.common.base.Throwables; +import com.tterrag.blur.mixin.MixinWorldRenderer; import com.tterrag.blur.util.ShaderResourcePack; -import static com.tterrag.blur.Blur.*; +import net.fabricmc.api.ModInitializer; +import net.minecraft.class_279; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gl.GlUniform; +import net.minecraft.client.gl.Shader; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.render.WorldRenderer; +import net.minecraft.client.resource.ClientResourcePackContainer; +import net.minecraft.resource.ResourcePackCompatibility; +import net.minecraft.resource.ResourcePackContainer; +import net.minecraft.resource.ResourcePackContainer.Factory; +import net.minecraft.resource.ResourcePackContainer.SortingDirection; +import net.minecraft.resource.ResourcePackContainerManager; +import net.minecraft.resource.ResourcePackCreator; +import net.minecraft.text.StringTextComponent; +import net.minecraft.util.Identifier; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiChat; -import net.minecraft.client.renderer.EntityRenderer; -import net.minecraft.client.resources.IResourcePack; -import net.minecraft.client.resources.SimpleReloadableResourceManager; -import net.minecraft.client.shader.Shader; -import net.minecraft.client.shader.ShaderGroup; -import net.minecraft.client.shader.ShaderUniform; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.event.GuiOpenEvent; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.fml.client.event.ConfigChangedEvent.OnConfigChangedEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.Mod.EventHandler; -import net.minecraftforge.fml.common.Mod.Instance; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; -import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent; -import net.minecraftforge.fml.relauncher.ReflectionHelper; - -@Mod(modid = MODID, name = MOD_NAME, version = VERSION, acceptedMinecraftVersions = "[1.9, 1.13)", clientSideOnly = true, guiFactory = "com.tterrag.blur.config.BlurGuiFactory") -public class Blur { +public class Blur implements ModInitializer { public static final String MODID = "blur"; public static final String MOD_NAME = "Blur"; public static final String VERSION = "@VERSION@"; - - @Instance - public static Blur instance; - - public Configuration config; - - private String[] blurExclusions; + + private String[] blurExclusions = new String[] { + "net.minecraft.client.gui.ingame.ChatGui" + }; private Field _listShaders; private long start; - private int fadeTime; + private int fadeTime = 250; - public int radius; // Store default so we don't trigger an extra reload - private int colorFirst, colorSecond; + public int radius = 10; // Store default so we don't trigger an extra reload + public int colorFirst, colorSecond; @Nonnull private ShaderResourcePack dummyPack = new ShaderResourcePack(); - @SuppressWarnings("unchecked") - public Blur() { - ((List)ReflectionHelper.getPrivateValue(Minecraft.class, Minecraft.getMinecraft(), "field_110449_ao", "defaultResourcePacks")).add(dummyPack); - } + public static Blur instance; - @EventHandler - public void preInit(FMLPreInitializationEvent event) { - MinecraftForge.EVENT_BUS.register(this); - + public Blur() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException { + Field _rps = MinecraftClient.class.getDeclaredField("resourcePackContainerManager"); + _rps.setAccessible(true); + ResourcePackContainerManager rps = (ResourcePackContainerManager)_rps.get(MinecraftClient.getInstance()); + rps.addCreator(new ResourcePackCreator() { + + @Override + public void registerContainer(Map var1, Factory factory) { + + T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, new StringTextComponent(dummyPack.getName()), new StringTextComponent(dummyPack.getName()), ResourcePackCompatibility.COMPATIBLE, SortingDirection.BOTTOM, true, null); + if (var3 != null) { + var1.put("blur", var3); + } + } + }); + + instance = this; + } + + @Override + public void onInitialize() { // Add our dummy resourcepack - ((SimpleReloadableResourceManager)Minecraft.getMinecraft().getResourceManager()).registerReloadListener(dummyPack); +// ((ReloadableResourceManager)MinecraftClient.getInstance().getResourceManager()).addListener(dummyPack); - config = new Configuration(new File(event.getModConfigurationDirectory(), "blur.cfg")); - saveConfig(); +// config = new Configuration(new File(event.getModConfigurationDirectory(), "blur.cfg")); +// saveConfig(); } - private void saveConfig() { +/* private void saveConfig() { blurExclusions = config.getStringList("guiExclusions", Configuration.CATEGORY_GENERAL, new String[] { GuiChat.class.getName(), @@ -103,28 +107,32 @@ private void saveConfig() { ); config.save(); - } + }*/ - @SubscribeEvent +/* @SubscribeEvent public void onConfigChanged(OnConfigChangedEvent event) { if (event.getModID().equals(MODID)) { saveConfig(); } } - - @SubscribeEvent - public void onGuiChange(GuiOpenEvent event) { + */ + public void onGuiChange(Gui newGui) { if (_listShaders == null) { - _listShaders = ReflectionHelper.findField(ShaderGroup.class, "field_148031_d", "listShaders"); + try { + _listShaders = class_279.class.getDeclaredField("field_1497"); + _listShaders.setAccessible(true); + } catch (NoSuchFieldException | SecurityException e) { + throw new RuntimeException(e); + } } - if (Minecraft.getMinecraft().world != null) { - EntityRenderer er = Minecraft.getMinecraft().entityRenderer; - boolean excluded = event.getGui() == null || ArrayUtils.contains(blurExclusions, event.getGui().getClass().getName()); - if (!er.isShaderActive() && !excluded) { - er.loadShader(new ResourceLocation("shaders/post/fade_in_blur.json")); + if (MinecraftClient.getInstance().world != null) { + WorldRenderer er = MinecraftClient.getInstance().worldRenderer; + boolean excluded = newGui == null || ArrayUtils.contains(blurExclusions, newGui.getClass().getName()); + if (!er.method_3175() && !excluded) { + ((MixinWorldRenderer)er).invokeLoadShader(new Identifier("shaders/post/fade_in_blur.json")); start = System.currentTimeMillis(); - } else if (er.isShaderActive() && excluded) { - er.stopUseShader(); + } else if (er.method_3175() && excluded) { + er.method_3207(); } } } @@ -133,17 +141,16 @@ private float getProgress() { return Math.min((System.currentTimeMillis() - start) / (float) fadeTime, 1); } - @SubscribeEvent - public void onRenderTick(RenderTickEvent event) { - if (event.phase == Phase.END && Minecraft.getMinecraft().currentScreen != null && Minecraft.getMinecraft().entityRenderer.isShaderActive()) { - ShaderGroup sg = Minecraft.getMinecraft().entityRenderer.getShaderGroup(); + public void onPostRenderTick() { + if (MinecraftClient.getInstance().currentGui != null && MinecraftClient.getInstance().worldRenderer.method_3175()) { + class_279 sg = MinecraftClient.getInstance().worldRenderer.method_3183(); try { @SuppressWarnings("unchecked") List shaders = (List) _listShaders.get(sg); for (Shader s : shaders) { - ShaderUniform su = s.getShaderManager().getShaderUniform("Progress"); + GlUniform su = s.method_1295().getUniformByName("Progress"); if (su != null) { - su.set(getProgress()); + su.method_1251(getProgress()); } } } catch (IllegalArgumentException | IllegalAccessException e) { @@ -152,8 +159,8 @@ public void onRenderTick(RenderTickEvent event) { } } - public static int getBackgroundColor(boolean second) { - int color = second ? instance.colorSecond : instance.colorFirst; + public int getBackgroundColor(boolean second) { + int color = second ? colorSecond : colorFirst; int a = color >>> 24; int r = (color >> 16) & 0xFF; int b = (color >> 8) & 0xFF; diff --git a/src/main/java/com/tterrag/blur/BlurPlugin.java b/src/main/java/com/tterrag/blur/BlurPlugin.java deleted file mode 100644 index 2134c72..0000000 --- a/src/main/java/com/tterrag/blur/BlurPlugin.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.tterrag.blur; - -import java.util.Map; - -import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; - -@IFMLLoadingPlugin.SortingIndex(Integer.MAX_VALUE) -public class BlurPlugin implements IFMLLoadingPlugin { - - @Override - public String[] getASMTransformerClass() { - return new String[] { "com.tterrag.blur.BlurTransformer" }; - } - - @Override - public String getModContainerClass() { - return null; - } - - @Override - public String getSetupClass() { - return null; - } - - @Override - public void injectData(Map data) { - } - - @Override - public String getAccessTransformerClass() { - return null; - } -} diff --git a/src/main/java/com/tterrag/blur/config/BlurConfigGui.java b/src/main/java/com/tterrag/blur/config/BlurConfigGui.java deleted file mode 100644 index b71063c..0000000 --- a/src/main/java/com/tterrag/blur/config/BlurConfigGui.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.tterrag.blur.config; - -import javax.annotation.Nonnull; - -import com.tterrag.blur.Blur; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.resources.I18n; -import net.minecraftforge.common.config.ConfigElement; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.fml.client.config.GuiConfig; -import net.minecraftforge.fml.client.config.GuiConfigEntries; - -public class BlurConfigGui extends GuiConfig { - - public BlurConfigGui(GuiScreen parentScreen) { - super(parentScreen, new ConfigElement(Blur.instance.config.getCategory(Configuration.CATEGORY_GENERAL)).getChildElements(), Blur.MODID, false, false, I18n.format(Blur.MODID + ".config.title")); - } - - @Override - public void initGui() { - if (this.entryList == null || this.needsRefresh) - { - this.entryList = new GuiConfigEntries(this, mc) { - @SuppressWarnings({ "unused", "null" }) - @Override - protected void drawContainerBackground(@Nonnull Tessellator tessellator) { - if (mc.world == null) { - super.drawContainerBackground(tessellator); - } - } - }; - this.needsRefresh = false; - } - super.initGui(); - } - - @Override - public void drawDefaultBackground() { - drawWorldBackground(0); - } -} diff --git a/src/main/java/com/tterrag/blur/config/BlurGuiFactory.java b/src/main/java/com/tterrag/blur/config/BlurGuiFactory.java deleted file mode 100644 index f8bdf1f..0000000 --- a/src/main/java/com/tterrag/blur/config/BlurGuiFactory.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.tterrag.blur.config; - -import java.util.Set; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; -import net.minecraftforge.fml.client.IModGuiFactory; - -public class BlurGuiFactory implements IModGuiFactory { - - @Override - public void initialize(Minecraft minecraftInstance) {} - - @Override - public Class mainConfigGuiClass() { - return BlurConfigGui.class; - } - - @Override - public Set runtimeGuiCategories() { - return null; - } - - @Override - @Deprecated - public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) { - return null; - } - -// 1.12 -// @Override - public boolean hasConfigGui() { - return true; - } - -// 1.12 -// @Override - public GuiScreen createConfigGui(GuiScreen parentScreen) { - return new BlurConfigGui(parentScreen); - } -} diff --git a/src/main/java/com/tterrag/blur/mixin/MixinGui.java b/src/main/java/com/tterrag/blur/mixin/MixinGui.java new file mode 100644 index 0000000..4a90742 --- /dev/null +++ b/src/main/java/com/tterrag/blur/mixin/MixinGui.java @@ -0,0 +1,27 @@ +package com.tterrag.blur.mixin; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +import com.tterrag.blur.Blur; + +import net.minecraft.client.gui.Gui; + +@Mixin(Gui.class) +public class MixinGui { + + @ModifyConstant( + method = "drawBackground(I)V", + constant = @Constant(intValue = -1072689136)) + public int getFirstBackgroundColor(int color) { + return Blur.instance.colorFirst; + } + + @ModifyConstant( + method = "drawBackground(I)V", + constant = @Constant(intValue = -804253680)) + public int getSecondBackgroundColor(int color) { + return Blur.instance.colorSecond; + } +} diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java new file mode 100644 index 0000000..868e75b --- /dev/null +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -0,0 +1,30 @@ +package com.tterrag.blur.mixin; + +import org.objectweb.asm.Opcodes; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.tterrag.blur.Blur; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.Gui; + +@Mixin(MinecraftClient.class) +public class MixinMinecraftClient { + + @Inject(method = "openGui(Lnet/minecraft/client/gui/Gui;)V", + at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentGui:Lnet/minecraft/client/gui/Gui;", opcode = Opcodes.PUTFIELD, ordinal = 0)) + public void onGuiOpen(Gui newGui, CallbackInfo info) { + Blur.instance.onGuiChange(newGui); + } + + @Inject(method = "method_1523(Z)V", + + at = @At(value = "INVOKE", target = "net/minecraft/client/toast/ToastManager.draw()V"), + require = 1) + public void onPostRenderTick(CallbackInfo info) { + Blur.instance.onPostRenderTick(); + } +} diff --git a/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java b/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java new file mode 100644 index 0000000..4d97cbb --- /dev/null +++ b/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java @@ -0,0 +1,15 @@ +package com.tterrag.blur.mixin; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +import net.minecraft.client.render.WorldRenderer; +import net.minecraft.util.Identifier; + +@Mixin(WorldRenderer.class) +public interface MixinWorldRenderer { + + @Invoker + void invokeLoadShader(Identifier loc); + +} diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index 5232c3b..fca8baa 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -1,40 +1,42 @@ package com.tterrag.blur.util; -import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.Set; +import java.util.function.Predicate; import com.google.common.collect.ImmutableSet; import com.tterrag.blur.Blur; -import net.minecraft.client.resources.IResourceManager; -import net.minecraft.client.resources.IResourceManagerReloadListener; -import net.minecraft.client.resources.IResourcePack; -import net.minecraft.client.resources.data.IMetadataSection; -import net.minecraft.client.resources.data.MetadataSerializer; -import net.minecraft.client.resources.data.PackMetadataSection; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.text.TextComponentString; +import net.minecraft.resource.ResourceManager; +import net.minecraft.resource.ResourcePack; +import net.minecraft.resource.ResourceReloadListener; +import net.minecraft.resource.ResourceType; +import net.minecraft.resource.metadata.PackResourceMetadata; +import net.minecraft.resource.metadata.ResourceMetadataReader; +import net.minecraft.text.StringTextComponent; +import net.minecraft.util.Identifier; -public class ShaderResourcePack implements IResourcePack, IResourceManagerReloadListener { +public class ShaderResourcePack implements ResourcePack, ResourceReloadListener { - protected boolean validPath(ResourceLocation location) { - return location.getResourceDomain().equals("minecraft") && location.getResourcePath().startsWith("shaders/"); + protected boolean validPath(Identifier location) { + return location.getNamespace().equals("minecraft") && location.getPath().startsWith("shaders/"); } - private final Map loadedData = new HashMap<>(); + private final Map loadedData = new HashMap<>(); @Override - public InputStream getInputStream(ResourceLocation location) throws IOException { - if (validPath(location)) { + public InputStream open(ResourceType type, Identifier location) throws IOException { + if (type == ResourceType.ASSETS && validPath(location)) { String s = loadedData.computeIfAbsent(location, loc -> { - InputStream in = Blur.class.getResourceAsStream("/" + location.getResourcePath()); + InputStream in = Blur.class.getResourceAsStream("/" + location.getPath()); StringBuilder data = new StringBuilder(); Scanner scan = new Scanner(in); try { @@ -53,37 +55,45 @@ public InputStream getInputStream(ResourceLocation location) throws IOException } @Override - public boolean resourceExists(ResourceLocation location) { - return validPath(location) && Blur.class.getResource("/" + location.getResourcePath()) != null; + public boolean contains(ResourceType type, Identifier location) { + return type == ResourceType.ASSETS && validPath(location) && Blur.class.getResource("/" + location.getPath()) != null; } @Override - public Set getResourceDomains() { + public Set getNamespaces(ResourceType type) { return ImmutableSet.of("minecraft"); } @SuppressWarnings({ "unchecked", "null" }) @Override - public T getPackMetadata(MetadataSerializer metadataSerializer, String metadataSectionName) throws IOException { - if ("pack".equals(metadataSectionName)) { - return (T) new PackMetadataSection(new TextComponentString("Blur's default shaders"), 3); + public T parseMetadata(ResourceMetadataReader var1) throws IOException { + if ("pack".equals(var1.getKey())) { + return (T) new PackResourceMetadata(new StringTextComponent("Blur's default shaders"), 4); } return null; } @Override - public BufferedImage getPackImage() throws IOException { - throw new FileNotFoundException("pack.png"); - } - - @Override - public String getPackName() { + public String getName() { return "Blur dummy resource pack"; } @Override - public void onResourceManagerReload(IResourceManager resourceManager) { + public void onResourceReload(ResourceManager resourceManager) { loadedData.clear(); } + @Override + public void close() throws IOException {} + + @Override + public InputStream openRoot(String var1) throws IOException { + return open(ResourceType.ASSETS, new Identifier(var1)); + } + + @Override + public Collection findResources(ResourceType var1, String var2, int var3, Predicate var4) { + return Collections.emptyList(); + } + } diff --git a/src/main/resources/blur.client.json b/src/main/resources/blur.client.json new file mode 100644 index 0000000..4b9cb5b --- /dev/null +++ b/src/main/resources/blur.client.json @@ -0,0 +1,13 @@ +{ + "required": true, + "package": "com.tterrag.blur.mixin", + "compatibilityLevel": "JAVA_8", + "mixins": [ + "MixinGui", + "MixinMinecraftClient", + "MixinWorldRenderer" + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..c606868 --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,10 @@ +{ + "id": "blur", + "name": "Blur", + "version": "1.0.0", + "side": "client", + "initializer": "com.tterrag.blur.Blur", + "mixins": { + "client": "blur.client.json" + } +} \ No newline at end of file diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info deleted file mode 100644 index 97fd4cd..0000000 --- a/src/main/resources/mcmod.info +++ /dev/null @@ -1,16 +0,0 @@ -[ -{ - "modid": "blur", - "name": "Blur", - "description": "Adds a blurry background when viewing GUIs", - "version": "${version}", - "mcversion": "${mcversion}", - "url": "http://tterrag.com", - "updateUrl": "http://ci.tterrag.com/job/BlurBG", - "authorList": ["tterrag"], - "credits": "", - "logoFile": "", - "screenshots": [], - "dependencies": [] -} -] \ No newline at end of file From 20fdff17ff530add5a88f519733e7392457316a8 Mon Sep 17 00:00:00 2001 From: tterrag Date: Tue, 11 Dec 2018 15:05:40 -0500 Subject: [PATCH 02/62] Fix reflection for prod --- src/main/java/com/tterrag/blur/Blur.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 057bf8d..e466b50 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -52,7 +52,12 @@ public class Blur implements ModInitializer { public static Blur instance; public Blur() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException { - Field _rps = MinecraftClient.class.getDeclaredField("resourcePackContainerManager"); + Field _rps; + try { + _rps = MinecraftClient.class.getDeclaredField("field_1715"); + } catch (NoSuchFieldException e) { + _rps = MinecraftClient.class.getDeclaredField("resourcePackContainerManager"); + } _rps.setAccessible(true); ResourcePackContainerManager rps = (ResourcePackContainerManager)_rps.get(MinecraftClient.getInstance()); rps.addCreator(new ResourcePackCreator() { From 12c5daa5f61f566be75a9fa51c3444a8260aa550 Mon Sep 17 00:00:00 2001 From: tterrag Date: Wed, 12 Dec 2018 14:41:22 -0500 Subject: [PATCH 03/62] Clean up reflection, add resource pack image and reload listener --- build.gradle | 10 ++- src/main/java/com/tterrag/blur/Blur.java | 60 +++++++++--------- .../blur/mixin/MixinMinecraftClient.java | 19 +++++- .../tterrag/blur/util/ReflectionHelper.java | 36 +++++++++++ .../tterrag/blur/util/ShaderResourcePack.java | 5 +- src/main/resources/assets/blur/pack.png | Bin 0 -> 186232 bytes 6 files changed, 87 insertions(+), 43 deletions(-) create mode 100644 src/main/java/com/tterrag/blur/util/ReflectionHelper.java create mode 100644 src/main/resources/assets/blur/pack.png diff --git a/build.gradle b/build.gradle index 95b16b7..7bb6d80 100644 --- a/build.gradle +++ b/build.gradle @@ -27,12 +27,10 @@ minecraft { } dependencies { - minecraft "com.mojang:minecraft:18w49a" - mappings "net.fabricmc:yarn:18w49a.10" - modCompile "net.fabricmc:fabric-loader:0.2.0.62" - - // Fabric API. This is technically optional, but you probably want it anyway. - modCompile "net.fabricmc:fabric:0.1.0.37" + minecraft "com.mojang:minecraft:18w50a" + mappings "net.fabricmc:yarn:18w50a.2" + modCompile "net.fabricmc:fabric-loader:0.2.0.64" + modCompile "net.fabricmc:fabric:0.1.1.47" implementation 'com.google.code.findbugs:jsr305:3.0.2' } diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index e466b50..83cd7aa 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,5 +1,6 @@ package com.tterrag.blur; +import java.io.IOException; import java.lang.reflect.Field; import java.util.List; import java.util.Map; @@ -7,9 +8,10 @@ import javax.annotation.Nonnull; import org.apache.commons.lang3.ArrayUtils; +import org.apache.logging.log4j.LogManager; -import com.google.common.base.Throwables; import com.tterrag.blur.mixin.MixinWorldRenderer; +import com.tterrag.blur.util.ReflectionHelper; import com.tterrag.blur.util.ShaderResourcePack; import net.fabricmc.api.ModInitializer; @@ -20,6 +22,8 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.render.WorldRenderer; import net.minecraft.client.resource.ClientResourcePackContainer; +import net.minecraft.client.texture.NativeImage; +import net.minecraft.resource.ReloadableResourceManager; import net.minecraft.resource.ResourcePackCompatibility; import net.minecraft.resource.ResourcePackContainer; import net.minecraft.resource.ResourcePackContainer.Factory; @@ -52,36 +56,35 @@ public class Blur implements ModInitializer { public static Blur instance; public Blur() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException { - Field _rps; - try { - _rps = MinecraftClient.class.getDeclaredField("field_1715"); - } catch (NoSuchFieldException e) { - _rps = MinecraftClient.class.getDeclaredField("resourcePackContainerManager"); - } - _rps.setAccessible(true); - ResourcePackContainerManager rps = (ResourcePackContainerManager)_rps.get(MinecraftClient.getInstance()); + ResourcePackContainerManager rps = ReflectionHelper.getValue(MinecraftClient.class, MinecraftClient.getInstance(), "field_1715", "resourcePackContainerManager"); rps.addCreator(new ResourcePackCreator() { - - @Override - public void registerContainer(Map var1, Factory factory) { - T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, new StringTextComponent(dummyPack.getName()), new StringTextComponent(dummyPack.getName()), ResourcePackCompatibility.COMPATIBLE, SortingDirection.BOTTOM, true, null); - if (var3 != null) { - var1.put("blur", var3); - } - } + @Override + public void registerContainer(Map var1, Factory factory) { + NativeImage img = null; + try { + img = NativeImage.fromInputStream(dummyPack.openRoot("pack.png")); + } catch (IOException e) { + LogManager.getLogger().error("Could not load blur's pack.png", e); + } + @SuppressWarnings("unchecked") + T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, + new StringTextComponent(dummyPack.getName()), new StringTextComponent("Default shaders for Blur"), + ResourcePackCompatibility.COMPATIBLE, SortingDirection.BOTTOM, true, img); + if (var3 != null) { + var1.put("blur", var3); + } + } }); instance = this; } - + @Override - public void onInitialize() { - // Add our dummy resourcepack -// ((ReloadableResourceManager)MinecraftClient.getInstance().getResourceManager()).addListener(dummyPack); - -// config = new Configuration(new File(event.getModConfigurationDirectory(), "blur.cfg")); -// saveConfig(); + public void onInitialize() {} + + public void registerReloadListeners(ReloadableResourceManager manager) { + manager.addListener(dummyPack); } /* private void saveConfig() { @@ -123,12 +126,7 @@ public void onConfigChanged(OnConfigChangedEvent event) { */ public void onGuiChange(Gui newGui) { if (_listShaders == null) { - try { - _listShaders = class_279.class.getDeclaredField("field_1497"); - _listShaders.setAccessible(true); - } catch (NoSuchFieldException | SecurityException e) { - throw new RuntimeException(e); - } + _listShaders = ReflectionHelper.getField(class_279.class, "field_1497"); } if (MinecraftClient.getInstance().world != null) { WorldRenderer er = MinecraftClient.getInstance().worldRenderer; @@ -159,7 +157,7 @@ public void onPostRenderTick() { } } } catch (IllegalArgumentException | IllegalAccessException e) { - Throwables.propagate(e); + throw new RuntimeException(e); } } } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index 868e75b..2c17157 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -4,27 +4,40 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.At.Shift; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.tterrag.blur.Blur; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Gui; +import net.minecraft.resource.ReloadableResourceManager; @Mixin(MinecraftClient.class) public class MixinMinecraftClient { @Inject(method = "openGui(Lnet/minecraft/client/gui/Gui;)V", - at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentGui:Lnet/minecraft/client/gui/Gui;", opcode = Opcodes.PUTFIELD, ordinal = 0)) + at = @At(value = "FIELD", + target = "net/minecraft/client/MinecraftClient.currentGui : Lnet/minecraft/client/gui/Gui;", + opcode = Opcodes.PUTFIELD)) public void onGuiOpen(Gui newGui, CallbackInfo info) { Blur.instance.onGuiChange(newGui); } @Inject(method = "method_1523(Z)V", - - at = @At(value = "INVOKE", target = "net/minecraft/client/toast/ToastManager.draw()V"), + at = @At(value = "INVOKE", + target = "net/minecraft/client/toast/ToastManager.draw()V"), require = 1) public void onPostRenderTick(CallbackInfo info) { Blur.instance.onPostRenderTick(); } + + @Inject(method = "init()V", + at = @At(value = "FIELD", + target = "net/minecraft/client/MinecraftClient.resourceManager : Lnet/minecraft/resource/ReloadableResourceManager;", + opcode = Opcodes.PUTFIELD, + shift = Shift.AFTER)) + public void onResourceManagerAssign(CallbackInfo info) { + Blur.instance.registerReloadListeners((ReloadableResourceManager) MinecraftClient.getInstance().getResourceManager()); + } } diff --git a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java new file mode 100644 index 0000000..faf5d6f --- /dev/null +++ b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java @@ -0,0 +1,36 @@ +package com.tterrag.blur.util; + +import java.lang.reflect.Field; +import java.util.Arrays; + +public class ReflectionHelper { + + @SuppressWarnings("unchecked") + public static T getValue(Class cls, Object instance, String...names) { + try { + return (T) getField(cls, names).get(instance); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + public static Field getField(Class cls, String... names) { + for (String name : names) { + Field f = getFieldInternal(cls, name); + if (f != null) { + return f; + } + } + throw new IllegalArgumentException("Could not find any of fields " + Arrays.toString(names) + " on class " + cls); + } + + private static Field getFieldInternal(Class cls, String name) { + try { + Field f = cls.getDeclaredField(name); + f.setAccessible(true); + return f; + } catch (NoSuchFieldException | SecurityException e) { + return null; + } + } +} diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index fca8baa..d6d2c51 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -75,7 +75,7 @@ public T parseMetadata(ResourceMetadataReader var1) throws IOException { @Override public String getName() { - return "Blur dummy resource pack"; + return "Blur Shaders"; } @Override @@ -88,12 +88,11 @@ public void close() throws IOException {} @Override public InputStream openRoot(String var1) throws IOException { - return open(ResourceType.ASSETS, new Identifier(var1)); + return Blur.class.getResourceAsStream("/assets/blur/" + var1); } @Override public Collection findResources(ResourceType var1, String var2, int var3, Predicate var4) { return Collections.emptyList(); } - } diff --git a/src/main/resources/assets/blur/pack.png b/src/main/resources/assets/blur/pack.png new file mode 100644 index 0000000000000000000000000000000000000000..02b137c72a9d8bc4ae9a28686adc904419258df9 GIT binary patch literal 186232 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 Date: Wed, 12 Dec 2018 14:44:14 -0500 Subject: [PATCH 04/62] Remove old transformer and tabs->spaces --- src/main/java/com/tterrag/blur/Blur.java | 49 ++++++----- .../com/tterrag/blur/BlurTransformer.java | 79 ----------------- .../java/com/tterrag/blur/mixin/MixinGui.java | 26 +++--- .../blur/mixin/MixinMinecraftClient.java | 48 +++++------ .../blur/mixin/MixinWorldRenderer.java | 6 +- .../tterrag/blur/util/ReflectionHelper.java | 56 ++++++------- .../tterrag/blur/util/ShaderResourcePack.java | 84 +++++++++---------- 7 files changed, 134 insertions(+), 214 deletions(-) delete mode 100644 src/main/java/com/tterrag/blur/BlurTransformer.java diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 83cd7aa..751f3cf 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -40,7 +40,7 @@ public class Blur implements ModInitializer { public static final String VERSION = "@VERSION@"; private String[] blurExclusions = new String[] { - "net.minecraft.client.gui.ingame.ChatGui" + "net.minecraft.client.gui.ingame.ChatGui" }; private Field _listShaders; @@ -54,36 +54,35 @@ public class Blur implements ModInitializer { private ShaderResourcePack dummyPack = new ShaderResourcePack(); public static Blur instance; - + public Blur() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException { - ResourcePackContainerManager rps = ReflectionHelper.getValue(MinecraftClient.class, MinecraftClient.getInstance(), "field_1715", "resourcePackContainerManager"); - rps.addCreator(new ResourcePackCreator() { + ResourcePackContainerManager rps = ReflectionHelper.getValue(MinecraftClient.class, MinecraftClient.getInstance(), "field_1715", "resourcePackContainerManager"); + rps.addCreator(new ResourcePackCreator() { + + @Override + public void registerContainer(Map var1, Factory factory) { + NativeImage img = null; + try { + img = NativeImage.fromInputStream(dummyPack.openRoot("pack.png")); + } catch (IOException e) { + LogManager.getLogger().error("Could not load blur's pack.png", e); + } + @SuppressWarnings("unchecked") + T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, new StringTextComponent(dummyPack.getName()), new StringTextComponent("Default shaders for Blur"), + ResourcePackCompatibility.COMPATIBLE, SortingDirection.BOTTOM, true, img); + if (var3 != null) { + var1.put("blur", var3); + } + } + }); - @Override - public void registerContainer(Map var1, Factory factory) { - NativeImage img = null; - try { - img = NativeImage.fromInputStream(dummyPack.openRoot("pack.png")); - } catch (IOException e) { - LogManager.getLogger().error("Could not load blur's pack.png", e); - } - @SuppressWarnings("unchecked") - T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, - new StringTextComponent(dummyPack.getName()), new StringTextComponent("Default shaders for Blur"), - ResourcePackCompatibility.COMPATIBLE, SortingDirection.BOTTOM, true, img); - if (var3 != null) { - var1.put("blur", var3); - } - } - }); - - instance = this; + instance = this; } @Override public void onInitialize() {} - public void registerReloadListeners(ReloadableResourceManager manager) { + public void registerReloadListeners(ReloadableResourceManager manager) { manager.addListener(dummyPack); } @@ -126,7 +125,7 @@ public void onConfigChanged(OnConfigChangedEvent event) { */ public void onGuiChange(Gui newGui) { if (_listShaders == null) { - _listShaders = ReflectionHelper.getField(class_279.class, "field_1497"); + _listShaders = ReflectionHelper.getField(class_279.class, "field_1497"); } if (MinecraftClient.getInstance().world != null) { WorldRenderer er = MinecraftClient.getInstance().worldRenderer; diff --git a/src/main/java/com/tterrag/blur/BlurTransformer.java b/src/main/java/com/tterrag/blur/BlurTransformer.java deleted file mode 100644 index 31741ee..0000000 --- a/src/main/java/com/tterrag/blur/BlurTransformer.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.tterrag.blur; - -import java.util.Iterator; - -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassWriter; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.InsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; - -import net.minecraft.launchwrapper.IClassTransformer; - -public class BlurTransformer implements IClassTransformer { - - private static final String GUI_SCREEN_CLASS_NAME = "net.minecraft.client.gui.GuiScreen"; - - private static final String DRAW_WORLD_BAGKGROUND_METHOD = "drawWorldBackground"; - private static final String DRAW_WORLD_BAGKGROUND_METHOD_OBF = "func_146270_b"; - - private static final String BLUR_MAIN_CLASS = "com/tterrag/blur/Blur"; - private static final String COLOR_HOOK_METHOD_NAME = "getBackgroundColor"; - private static final String COLOR_HOOK_METHOD_DESC = "(Z)I"; - - @Override - public byte[] transform(String name, String transformedName, byte[] basicClass) { - if (transformedName.equals(GUI_SCREEN_CLASS_NAME)) { - System.out.println("Transforming Class [" + transformedName + "], Method [" + DRAW_WORLD_BAGKGROUND_METHOD + "]"); - - ClassNode classNode = new ClassNode(); - ClassReader classReader = new ClassReader(basicClass); - classReader.accept(classNode, 0); - - Iterator methods = classNode.methods.iterator(); - - while (methods.hasNext()) { - MethodNode m = methods.next(); - if (m.name.equals(DRAW_WORLD_BAGKGROUND_METHOD) || m.name.equals(DRAW_WORLD_BAGKGROUND_METHOD_OBF)) { - for (int i = 0; i < m.instructions.size(); i++) { - AbstractInsnNode next = m.instructions.get(i); - -// if (next.getOpcode() == Opcodes.INVOKEVIRTUAL && ((MethodInsnNode)next).name.equals(DRAW_GRADIENT_RECT_METHOD_NAME)) { -// while (!(next instanceof LabelNode)) { -// m.instructions.remove(next); -// next = m.instructions.get(--i); -// } -// break; -// } - if (next.getOpcode() == Opcodes.LDC) { - System.out.println("Modifying GUI background darkness... "); - AbstractInsnNode colorHook = new MethodInsnNode(Opcodes.INVOKESTATIC, BLUR_MAIN_CLASS, COLOR_HOOK_METHOD_NAME, COLOR_HOOK_METHOD_DESC, false); - AbstractInsnNode colorHook2 = colorHook.clone(null); - - // Replace LDC with hooks - m.instructions.set(next, colorHook); - m.instructions.set(colorHook.getNext(), colorHook2); - - // Load boolean constants for method param - m.instructions.insertBefore(colorHook, new InsnNode(Opcodes.ICONST_1)); - m.instructions.insertBefore(colorHook2, new InsnNode(Opcodes.ICONST_0)); - break; - } - } - break; - } - } - - ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); - classNode.accept(cw); - System.out.println("Transforming " + transformedName + " Finished."); - return cw.toByteArray(); - } - - return basicClass; - } - -} diff --git a/src/main/java/com/tterrag/blur/mixin/MixinGui.java b/src/main/java/com/tterrag/blur/mixin/MixinGui.java index 4a90742..1673c1c 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinGui.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinGui.java @@ -11,17 +11,17 @@ @Mixin(Gui.class) public class MixinGui { - @ModifyConstant( - method = "drawBackground(I)V", - constant = @Constant(intValue = -1072689136)) - public int getFirstBackgroundColor(int color) { - return Blur.instance.colorFirst; - } - - @ModifyConstant( - method = "drawBackground(I)V", - constant = @Constant(intValue = -804253680)) - public int getSecondBackgroundColor(int color) { - return Blur.instance.colorSecond; - } + @ModifyConstant( + method = "drawBackground(I)V", + constant = @Constant(intValue = -1072689136)) + public int getFirstBackgroundColor(int color) { + return Blur.instance.colorFirst; + } + + @ModifyConstant( + method = "drawBackground(I)V", + constant = @Constant(intValue = -804253680)) + public int getSecondBackgroundColor(int color) { + return Blur.instance.colorSecond; + } } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index 2c17157..a885112 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -15,29 +15,29 @@ @Mixin(MinecraftClient.class) public class MixinMinecraftClient { - - @Inject(method = "openGui(Lnet/minecraft/client/gui/Gui;)V", - at = @At(value = "FIELD", - target = "net/minecraft/client/MinecraftClient.currentGui : Lnet/minecraft/client/gui/Gui;", - opcode = Opcodes.PUTFIELD)) - public void onGuiOpen(Gui newGui, CallbackInfo info) { - Blur.instance.onGuiChange(newGui); - } + + @Inject(method = "openGui(Lnet/minecraft/client/gui/Gui;)V", + at = @At(value = "FIELD", + target = "net/minecraft/client/MinecraftClient.currentGui : Lnet/minecraft/client/gui/Gui;", + opcode = Opcodes.PUTFIELD)) + public void onGuiOpen(Gui newGui, CallbackInfo info) { + Blur.instance.onGuiChange(newGui); + } - @Inject(method = "method_1523(Z)V", - at = @At(value = "INVOKE", - target = "net/minecraft/client/toast/ToastManager.draw()V"), - require = 1) - public void onPostRenderTick(CallbackInfo info) { - Blur.instance.onPostRenderTick(); - } - - @Inject(method = "init()V", - at = @At(value = "FIELD", - target = "net/minecraft/client/MinecraftClient.resourceManager : Lnet/minecraft/resource/ReloadableResourceManager;", - opcode = Opcodes.PUTFIELD, - shift = Shift.AFTER)) - public void onResourceManagerAssign(CallbackInfo info) { - Blur.instance.registerReloadListeners((ReloadableResourceManager) MinecraftClient.getInstance().getResourceManager()); - } + @Inject(method = "method_1523(Z)V", + at = @At(value = "INVOKE", + target = "net/minecraft/client/toast/ToastManager.draw()V"), + require = 1) + public void onPostRenderTick(CallbackInfo info) { + Blur.instance.onPostRenderTick(); + } + + @Inject(method = "init()V", + at = @At(value = "FIELD", + target = "net/minecraft/client/MinecraftClient.resourceManager : Lnet/minecraft/resource/ReloadableResourceManager;", + opcode = Opcodes.PUTFIELD, + shift = Shift.AFTER)) + public void onResourceManagerAssign(CallbackInfo info) { + Blur.instance.registerReloadListeners((ReloadableResourceManager) MinecraftClient.getInstance().getResourceManager()); + } } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java b/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java index 4d97cbb..93b2eba 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java @@ -8,8 +8,8 @@ @Mixin(WorldRenderer.class) public interface MixinWorldRenderer { - - @Invoker - void invokeLoadShader(Identifier loc); + + @Invoker + void invokeLoadShader(Identifier loc); } diff --git a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java index faf5d6f..eb930cf 100644 --- a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java +++ b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java @@ -4,33 +4,33 @@ import java.util.Arrays; public class ReflectionHelper { - - @SuppressWarnings("unchecked") - public static T getValue(Class cls, Object instance, String...names) { - try { - return (T) getField(cls, names).get(instance); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } - } - - public static Field getField(Class cls, String... names) { - for (String name : names) { - Field f = getFieldInternal(cls, name); - if (f != null) { - return f; - } - } - throw new IllegalArgumentException("Could not find any of fields " + Arrays.toString(names) + " on class " + cls); - } + + @SuppressWarnings("unchecked") + public static T getValue(Class cls, Object instance, String...names) { + try { + return (T) getField(cls, names).get(instance); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + public static Field getField(Class cls, String... names) { + for (String name : names) { + Field f = getFieldInternal(cls, name); + if (f != null) { + return f; + } + } + throw new IllegalArgumentException("Could not find any of fields " + Arrays.toString(names) + " on class " + cls); + } - private static Field getFieldInternal(Class cls, String name) { - try { - Field f = cls.getDeclaredField(name); - f.setAccessible(true); - return f; - } catch (NoSuchFieldException | SecurityException e) { - return null; - } - } + private static Field getFieldInternal(Class cls, String name) { + try { + Field f = cls.getDeclaredField(name); + f.setAccessible(true); + return f; + } catch (NoSuchFieldException | SecurityException e) { + return null; + } + } } diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index d6d2c51..09f4f44 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -25,15 +25,15 @@ import net.minecraft.util.Identifier; public class ShaderResourcePack implements ResourcePack, ResourceReloadListener { - - protected boolean validPath(Identifier location) { - return location.getNamespace().equals("minecraft") && location.getPath().startsWith("shaders/"); - } - - private final Map loadedData = new HashMap<>(); + + protected boolean validPath(Identifier location) { + return location.getNamespace().equals("minecraft") && location.getPath().startsWith("shaders/"); + } + + private final Map loadedData = new HashMap<>(); - @Override - public InputStream open(ResourceType type, Identifier location) throws IOException { + @Override + public InputStream open(ResourceType type, Identifier location) throws IOException { if (type == ResourceType.ASSETS && validPath(location)) { String s = loadedData.computeIfAbsent(location, loc -> { InputStream in = Blur.class.getResourceAsStream("/" + location.getPath()); @@ -52,47 +52,47 @@ public InputStream open(ResourceType type, Identifier location) throws IOExcepti return new ByteArrayInputStream(s.getBytes()); } throw new FileNotFoundException(location.toString()); - } + } - @Override - public boolean contains(ResourceType type, Identifier location) { - return type == ResourceType.ASSETS && validPath(location) && Blur.class.getResource("/" + location.getPath()) != null; - } + @Override + public boolean contains(ResourceType type, Identifier location) { + return type == ResourceType.ASSETS && validPath(location) && Blur.class.getResource("/" + location.getPath()) != null; + } - @Override - public Set getNamespaces(ResourceType type) { - return ImmutableSet.of("minecraft"); - } + @Override + public Set getNamespaces(ResourceType type) { + return ImmutableSet.of("minecraft"); + } - @SuppressWarnings({ "unchecked", "null" }) + @SuppressWarnings({ "unchecked", "null" }) @Override - public T parseMetadata(ResourceMetadataReader var1) throws IOException { - if ("pack".equals(var1.getKey())) { - return (T) new PackResourceMetadata(new StringTextComponent("Blur's default shaders"), 4); - } - return null; + public T parseMetadata(ResourceMetadataReader var1) throws IOException { + if ("pack".equals(var1.getKey())) { + return (T) new PackResourceMetadata(new StringTextComponent("Blur's default shaders"), 4); + } + return null; } - @Override - public String getName() { - return "Blur Shaders"; - } - - @Override - public void onResourceReload(ResourceManager resourceManager) { - loadedData.clear(); - } + @Override + public String getName() { + return "Blur Shaders"; + } + + @Override + public void onResourceReload(ResourceManager resourceManager) { + loadedData.clear(); + } - @Override - public void close() throws IOException {} + @Override + public void close() throws IOException {} - @Override - public InputStream openRoot(String var1) throws IOException { - return Blur.class.getResourceAsStream("/assets/blur/" + var1); - } + @Override + public InputStream openRoot(String var1) throws IOException { + return Blur.class.getResourceAsStream("/assets/blur/" + var1); + } - @Override - public Collection findResources(ResourceType var1, String var2, int var3, Predicate var4) { - return Collections.emptyList(); - } + @Override + public Collection findResources(ResourceType var1, String var2, int var3, Predicate var4) { + return Collections.emptyList(); + } } From 65d9375bfee62b3e2038861617c8aa5a5253554e Mon Sep 17 00:00:00 2001 From: tterrag Date: Thu, 13 Dec 2018 02:00:27 -0500 Subject: [PATCH 05/62] Add rudimentary config file --- src/main/java/com/tterrag/blur/Blur.java | 90 +++++++++---------- .../tterrag/blur/util/ShaderResourcePack.java | 2 +- 2 files changed, 43 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 751f3cf..9ddc5a1 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,7 +1,13 @@ package com.tterrag.blur; +import java.io.File; +import java.io.FileReader; import java.io.IOException; import java.lang.reflect.Field; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; import java.util.List; import java.util.Map; @@ -10,6 +16,8 @@ import org.apache.commons.lang3.ArrayUtils; import org.apache.logging.log4j.LogManager; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import com.tterrag.blur.mixin.MixinWorldRenderer; import com.tterrag.blur.util.ReflectionHelper; import com.tterrag.blur.util.ShaderResourcePack; @@ -20,6 +28,7 @@ import net.minecraft.client.gl.GlUniform; import net.minecraft.client.gl.Shader; import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.ingame.ChatGui; import net.minecraft.client.render.WorldRenderer; import net.minecraft.client.resource.ClientResourcePackContainer; import net.minecraft.client.texture.NativeImage; @@ -38,16 +47,19 @@ public class Blur implements ModInitializer { public static final String MODID = "blur"; public static final String MOD_NAME = "Blur"; public static final String VERSION = "@VERSION@"; - - private String[] blurExclusions = new String[] { - "net.minecraft.client.gui.ingame.ChatGui" - }; + + static class ConfigJson { + String[] blurExclusions = new String[] { ChatGui.class.getName() }; + int fadeTimeMillis = 200; + int radius = 8; + String gradientStartColor = "75000000"; + String gradientEndColor = "75000000"; + } private Field _listShaders; private long start; - private int fadeTime = 250; - - public int radius = 10; // Store default so we don't trigger an extra reload + + public ConfigJson configs = new ConfigJson(); public int colorFirst, colorSecond; @Nonnull @@ -80,56 +92,34 @@ public void registerContainer(Map v } @Override - public void onInitialize() {} - - public void registerReloadListeners(ReloadableResourceManager manager) { - manager.addListener(dummyPack); - } - -/* private void saveConfig() { - - blurExclusions = config.getStringList("guiExclusions", Configuration.CATEGORY_GENERAL, new String[] { - GuiChat.class.getName(), - }, "A list of classes to be excluded from the blur shader."); - - fadeTime = config.getInt("fadeTime", Configuration.CATEGORY_GENERAL, 200, 0, Integer.MAX_VALUE, "The time it takes for the blur to fade in, in ms."); - - int r = config.getInt("radius", Configuration.CATEGORY_GENERAL, 12, 1, 100, "The radius of the blur effect. This controls how \"strong\" the blur is."); - if (r != radius) { - radius = r; - dummyPack.onResourceManagerReload(Minecraft.getMinecraft().getResourceManager()); - if (Minecraft.getMinecraft().world != null) { - Minecraft.getMinecraft().entityRenderer.stopUseShader(); + public void onInitialize() { + Path config = MinecraftClient.getInstance().runDirectory.toPath().resolve(Paths.get("config", "blur.cfg")); + File configFile = config.toFile(); + try { + if (!configFile.exists()) { + configFile.getParentFile().mkdirs(); + Files.write(config, new GsonBuilder().setPrettyPrinting().create().toJson(configs).getBytes(), StandardOpenOption.CREATE_NEW); + } else { + configs = new Gson().fromJson(new FileReader(configFile), ConfigJson.class); } + } catch (IOException e) { + throw new RuntimeException(e); } + colorFirst = Integer.parseUnsignedInt(configs.gradientStartColor, 16); + colorSecond = Integer.parseUnsignedInt(configs.gradientEndColor, 16); + } - colorFirst = Integer.parseUnsignedInt( - config.getString("gradientStartColor", Configuration.CATEGORY_GENERAL, "75000000", "The start color of the background gradient. Given in ARGB hex."), - 16 - ); - - colorSecond = Integer.parseUnsignedInt( - config.getString("gradientEndColor", Configuration.CATEGORY_GENERAL, "75000000", "The end color of the background gradient. Given in ARGB hex."), - 16 - ); - - config.save(); - }*/ - -/* @SubscribeEvent - public void onConfigChanged(OnConfigChangedEvent event) { - if (event.getModID().equals(MODID)) { - saveConfig(); - } + public void registerReloadListeners(ReloadableResourceManager manager) { + manager.addListener(dummyPack); } - */ + public void onGuiChange(Gui newGui) { if (_listShaders == null) { _listShaders = ReflectionHelper.getField(class_279.class, "field_1497"); } if (MinecraftClient.getInstance().world != null) { WorldRenderer er = MinecraftClient.getInstance().worldRenderer; - boolean excluded = newGui == null || ArrayUtils.contains(blurExclusions, newGui.getClass().getName()); + boolean excluded = newGui == null || ArrayUtils.contains(configs.blurExclusions, newGui.getClass().getName()); if (!er.method_3175() && !excluded) { ((MixinWorldRenderer)er).invokeLoadShader(new Identifier("shaders/post/fade_in_blur.json")); start = System.currentTimeMillis(); @@ -139,8 +129,12 @@ public void onGuiChange(Gui newGui) { } } + public int getRadius() { + return configs.radius; + } + private float getProgress() { - return Math.min((System.currentTimeMillis() - start) / (float) fadeTime, 1); + return Math.min((System.currentTimeMillis() - start) / (float) configs.fadeTimeMillis, 1); } public void onPostRenderTick() { diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index 09f4f44..6de2e6a 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -41,7 +41,7 @@ public InputStream open(ResourceType type, Identifier location) throws IOExcepti Scanner scan = new Scanner(in); try { while (scan.hasNextLine()) { - data.append(scan.nextLine().replaceAll("@radius@", Integer.toString(Blur.instance.radius))).append('\n'); + data.append(scan.nextLine().replaceAll("@radius@", Integer.toString(Blur.instance.getRadius()))).append('\n'); } } finally { scan.close(); From 0450c9238ae326cbbb7bf171ca2be4973c85c0f0 Mon Sep 17 00:00:00 2001 From: tterrag Date: Thu, 13 Dec 2018 02:03:17 -0500 Subject: [PATCH 06/62] Clean up buildscript --- build.gradle | 10 +++++----- gradle.properties | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 7bb6d80..7a98155 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ ext.buildnumber = System.getenv().BUILD_NUMBER ?: 'custom'; group = 'com.tterrag.blur' archivesBaseName = "Blur" -version = "${mod_version}-${buildnumber}" +version = "${mod_version}-${minecraft_version}[fabric]${buildnumber}" sourceCompatibility = '1.8' targetCompatibility = '1.8' @@ -27,10 +27,10 @@ minecraft { } dependencies { - minecraft "com.mojang:minecraft:18w50a" - mappings "net.fabricmc:yarn:18w50a.2" - modCompile "net.fabricmc:fabric-loader:0.2.0.64" - modCompile "net.fabricmc:fabric:0.1.1.47" + minecraft "com.mojang:minecraft:${minecraft_version}" + mappings "net.fabricmc:yarn:${minecraft_version}.${mappings_version}" + modCompile "net.fabricmc:fabric-loader:${fabric_loader_version}" + modCompile "net.fabricmc:fabric:${fabric_version}" implementation 'com.google.code.findbugs:jsr305:3.0.2' } diff --git a/gradle.properties b/gradle.properties index 1f6a7f1..4056704 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ minecraft_version=1.10.2 forge_version=12.18.3.2297 -mod_version=1.0.4-fabric +mod_version=1.0.4-fabric.18w50a project_id=268324 release_type=release From f28de240fe3ecd0afe6c69cf76ec151cdc0318d7 Mon Sep 17 00:00:00 2001 From: tterrag Date: Thu, 13 Dec 2018 02:04:32 -0500 Subject: [PATCH 07/62] Drop buildnumber from version for now --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7a98155..6a7a4ed 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ ext.buildnumber = System.getenv().BUILD_NUMBER ?: 'custom'; group = 'com.tterrag.blur' archivesBaseName = "Blur" -version = "${mod_version}-${minecraft_version}[fabric]${buildnumber}" +version = "${mod_version}-${minecraft_version}[fabric]" sourceCompatibility = '1.8' targetCompatibility = '1.8' From 4dc9e5279348229c24553682bf224f3cae0d48a2 Mon Sep 17 00:00:00 2001 From: tterrag Date: Thu, 13 Dec 2018 02:05:12 -0500 Subject: [PATCH 08/62] gradle properties --- gradle.properties | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4056704..f5f9322 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,10 @@ -minecraft_version=1.10.2 -forge_version=12.18.3.2297 +minecraft_version=18w50a + mod_version=1.0.4-fabric.18w50a +fabric_loader_version=0.2.0.64 +fabric_version=0.1.1.47 +mappings_version=2 + project_id=268324 release_type=release From 7ee13a4435933870ac4a5834fb2da193f3dc288a Mon Sep 17 00:00:00 2001 From: tterrag Date: Thu, 13 Dec 2018 02:05:57 -0500 Subject: [PATCH 09/62] Actual mod version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f5f9322..6b1e18e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ minecraft_version=18w50a -mod_version=1.0.4-fabric.18w50a +mod_version=1.0.4 fabric_loader_version=0.2.0.64 fabric_version=0.1.1.47 From a6d95dbb4586d582168056be3335c1f2708d932d Mon Sep 17 00:00:00 2001 From: tterrag Date: Thu, 13 Dec 2018 13:01:12 -0500 Subject: [PATCH 10/62] Bump to loader .65, fix MixinMinecraftClient target strings --- gradle.properties | 2 +- .../java/com/tterrag/blur/mixin/MixinMinecraftClient.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 6b1e18e..bdefd55 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ minecraft_version=18w50a mod_version=1.0.4 -fabric_loader_version=0.2.0.64 +fabric_loader_version=0.2.0.65 fabric_version=0.1.1.47 mappings_version=2 diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index a885112..2fe955c 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -18,7 +18,7 @@ public class MixinMinecraftClient { @Inject(method = "openGui(Lnet/minecraft/client/gui/Gui;)V", at = @At(value = "FIELD", - target = "net/minecraft/client/MinecraftClient.currentGui : Lnet/minecraft/client/gui/Gui;", + target = "Lnet/minecraft/client/MinecraftClient;currentGui:Lnet/minecraft/client/gui/Gui;", opcode = Opcodes.PUTFIELD)) public void onGuiOpen(Gui newGui, CallbackInfo info) { Blur.instance.onGuiChange(newGui); @@ -34,7 +34,7 @@ public void onPostRenderTick(CallbackInfo info) { @Inject(method = "init()V", at = @At(value = "FIELD", - target = "net/minecraft/client/MinecraftClient.resourceManager : Lnet/minecraft/resource/ReloadableResourceManager;", + target = "Lnet/minecraft/client/MinecraftClient;resourceManager:Lnet/minecraft/resource/ReloadableResourceManager;", opcode = Opcodes.PUTFIELD, shift = Shift.AFTER)) public void onResourceManagerAssign(CallbackInfo info) { From 19085b64960cc13974ba260378aa0d6586bd5ec8 Mon Sep 17 00:00:00 2001 From: tterrag Date: Thu, 13 Dec 2018 13:06:16 -0500 Subject: [PATCH 11/62] Fix gradient not fading in --- src/main/java/com/tterrag/blur/mixin/MixinGui.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/tterrag/blur/mixin/MixinGui.java b/src/main/java/com/tterrag/blur/mixin/MixinGui.java index 1673c1c..b905c1c 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinGui.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinGui.java @@ -15,13 +15,13 @@ public class MixinGui { method = "drawBackground(I)V", constant = @Constant(intValue = -1072689136)) public int getFirstBackgroundColor(int color) { - return Blur.instance.colorFirst; + return Blur.instance.getBackgroundColor(false); } @ModifyConstant( method = "drawBackground(I)V", constant = @Constant(intValue = -804253680)) public int getSecondBackgroundColor(int color) { - return Blur.instance.colorSecond; + return Blur.instance.getBackgroundColor(true); } } From e983ab5deea6f46e28071bb1996611af3e9527dc Mon Sep 17 00:00:00 2001 From: Prospector Date: Fri, 26 Jul 2019 22:16:22 -0700 Subject: [PATCH 12/62] Update to 1.14.4 --- build.gradle | 37 +++--- gradle.properties | 10 +- gradle/wrapper/gradle-wrapper.jar | Bin 51017 -> 52818 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- settings.gradle | 12 ++ src/main/java/com/tterrag/blur/Blur.java | 112 ++++++++---------- ...ldRenderer.java => MixinGameRenderer.java} | 7 +- .../blur/mixin/MixinMinecraftClient.java | 38 +++--- .../mixin/{MixinGui.java => MixinScreen.java} | 16 ++- .../tterrag/blur/util/ShaderResourcePack.java | 46 ++++--- .../assets/blur/{pack.png => icon.png} | Bin .../resources/assets/blur/lang/en_US.lang | 1 - .../resources/assets/blur/lang/en_us.json | 3 + src/main/resources/fabric.mod.json | 28 ++++- .../{blur.client.json => mixins.blur.json} | 6 +- 15 files changed, 172 insertions(+), 148 deletions(-) create mode 100644 settings.gradle rename src/main/java/com/tterrag/blur/mixin/{MixinWorldRenderer.java => MixinGameRenderer.java} (70%) rename src/main/java/com/tterrag/blur/mixin/{MixinGui.java => MixinScreen.java} (76%) rename src/main/resources/assets/blur/{pack.png => icon.png} (100%) delete mode 100644 src/main/resources/assets/blur/lang/en_US.lang create mode 100644 src/main/resources/assets/blur/lang/en_us.json rename src/main/resources/{blur.client.json => mixins.blur.json} (75%) diff --git a/build.gradle b/build.gradle index 6a7a4ed..f7ee5cb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,18 +1,12 @@ -buildscript { - repositories { - jcenter() - maven { url = 'http://maven.modmuss50.me' } - } - dependencies { - classpath 'net.fabricmc:fabric-loom:0.1.0-SNAPSHOT' - } -} plugins { - id 'com.matthewprenger.cursegradle' version '1.0.9' + id 'java' + id 'maven-publish' + id 'idea' + id 'eclipse' + id 'com.matthewprenger.cursegradle' version '1.0.9' + id 'fabric-loom' version '0.2.4-SNAPSHOT' } -apply plugin: 'fabric-loom' - boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false'); ext.buildnumber = System.getenv().BUILD_NUMBER ?: 'custom'; @@ -28,13 +22,26 @@ minecraft { dependencies { minecraft "com.mojang:minecraft:${minecraft_version}" - mappings "net.fabricmc:yarn:${minecraft_version}.${mappings_version}" + mappings "net.fabricmc:yarn:${mappings_version}" modCompile "net.fabricmc:fabric-loader:${fabric_loader_version}" - modCompile "net.fabricmc:fabric:${fabric_version}" + modCompile "net.fabricmc.fabric-api:fabric-api:${fabric_version}" implementation 'com.google.code.findbugs:jsr305:3.0.2' } +processResources { + inputs.property "version", mod_version + + from(sourceSets.main.resources.srcDirs) { + include "fabric.mod.json" + expand "version": mod_version + } + + from(sourceSets.main.resources.srcDirs) { + exclude "fabric.mod.json" + } +} + import org.apache.tools.ant.filters.ReplaceTokens import groovy.json.JsonSlurper @@ -62,7 +69,7 @@ task createResourcePacks { from ('pack_icons') { include "${pack_id}.png" - rename '.+', 'pack.png' + rename '.+', 'icon.png' } baseName = "Blur " + pack_name diff --git a/gradle.properties b/gradle.properties index bdefd55..fe1d8fd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,10 @@ -minecraft_version=18w50a +minecraft_version=1.14.4 -mod_version=1.0.4 +mod_version=1.0.5 -fabric_loader_version=0.2.0.65 -fabric_version=0.1.1.47 -mappings_version=2 +fabric_loader_version=0.4.8+build.157 +fabric_version=0.3.0+build.200 +mappings_version=1.14.4+build.2 project_id=268324 release_type=release diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index b7612167031001b7b84baf2a959e8ea8ad03c011..deedc7fa5e6310eac3148a7dd0b1f069b07364cb 100644 GIT binary patch delta 29565 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 delta 27992 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 Gm;VQ480oG6 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 603141c..43ee8d6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Aug 20 15:17:58 CDT 2014 +#Sun Nov 11 14:39:10 PST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..c2e02c6 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,12 @@ +pluginManagement { + repositories { + jcenter() + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + gradlePluginPortal() + } +} + +rootProject.name = "blur" \ No newline at end of file diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 9ddc5a1..a0f4e60 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,5 +1,27 @@ package com.tterrag.blur; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.tterrag.blur.mixin.MixinGameRenderer; +import com.tterrag.blur.util.ReflectionHelper; +import com.tterrag.blur.util.ShaderResourcePack; +import net.fabricmc.api.ClientModInitializer; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gl.GlUniform; +import net.minecraft.client.gl.PostProcessShader; +import net.minecraft.client.gl.ShaderEffect; +import net.minecraft.client.gui.screen.ChatScreen; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.render.GameRenderer; +import net.minecraft.client.resource.ClientResourcePackContainer; +import net.minecraft.client.texture.NativeImage; +import net.minecraft.resource.*; +import net.minecraft.resource.ResourcePackContainer.Factory; +import net.minecraft.text.LiteralText; +import net.minecraft.util.Identifier; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.logging.log4j.LogManager; + import java.io.File; import java.io.FileReader; import java.io.IOException; @@ -11,45 +33,14 @@ import java.util.List; import java.util.Map; -import javax.annotation.Nonnull; - -import org.apache.commons.lang3.ArrayUtils; -import org.apache.logging.log4j.LogManager; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.tterrag.blur.mixin.MixinWorldRenderer; -import com.tterrag.blur.util.ReflectionHelper; -import com.tterrag.blur.util.ShaderResourcePack; - -import net.fabricmc.api.ModInitializer; -import net.minecraft.class_279; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gl.GlUniform; -import net.minecraft.client.gl.Shader; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.ingame.ChatGui; -import net.minecraft.client.render.WorldRenderer; -import net.minecraft.client.resource.ClientResourcePackContainer; -import net.minecraft.client.texture.NativeImage; -import net.minecraft.resource.ReloadableResourceManager; -import net.minecraft.resource.ResourcePackCompatibility; -import net.minecraft.resource.ResourcePackContainer; -import net.minecraft.resource.ResourcePackContainer.Factory; -import net.minecraft.resource.ResourcePackContainer.SortingDirection; -import net.minecraft.resource.ResourcePackContainerManager; -import net.minecraft.resource.ResourcePackCreator; -import net.minecraft.text.StringTextComponent; -import net.minecraft.util.Identifier; +public class Blur implements ClientModInitializer { -public class Blur implements ModInitializer { - public static final String MODID = "blur"; public static final String MOD_NAME = "Blur"; public static final String VERSION = "@VERSION@"; - + static class ConfigJson { - String[] blurExclusions = new String[] { ChatGui.class.getName() }; + String[] blurExclusions = new String[]{ChatScreen.class.getName()}; int fadeTimeMillis = 200; int radius = 8; String gradientStartColor = "75000000"; @@ -61,10 +52,9 @@ static class ConfigJson { public ConfigJson configs = new ConfigJson(); public int colorFirst, colorSecond; - - @Nonnull + private ShaderResourcePack dummyPack = new ShaderResourcePack(); - + public static Blur instance; public Blur() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException { @@ -75,13 +65,13 @@ public Blur() throws IllegalArgumentException, IllegalAccessException, NoSuchFie public void registerContainer(Map var1, Factory factory) { NativeImage img = null; try { - img = NativeImage.fromInputStream(dummyPack.openRoot("pack.png")); + img = NativeImage.read(dummyPack.openRoot("icon.png")); } catch (IOException e) { - LogManager.getLogger().error("Could not load blur's pack.png", e); + LogManager.getLogger().error("Could not load blur's icon.png", e); } @SuppressWarnings("unchecked") - T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, new StringTextComponent(dummyPack.getName()), new StringTextComponent("Default shaders for Blur"), - ResourcePackCompatibility.COMPATIBLE, SortingDirection.BOTTOM, true, img); + T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, new LiteralText(dummyPack.getName()), new LiteralText("Default shaders for Blur"), + ResourcePackCompatibility.COMPATIBLE, ResourcePackContainer.InsertionPosition.BOTTOM, true, img); if (var3 != null) { var1.put("blur", var3); } @@ -90,9 +80,9 @@ public void registerContainer(Map v instance = this; } - + @Override - public void onInitialize() { + public void onInitializeClient() { Path config = MinecraftClient.getInstance().runDirectory.toPath().resolve(Paths.get("config", "blur.cfg")); File configFile = config.toFile(); try { @@ -110,43 +100,43 @@ public void onInitialize() { } public void registerReloadListeners(ReloadableResourceManager manager) { - manager.addListener(dummyPack); + manager.addPack(dummyPack); } - public void onGuiChange(Gui newGui) { + public void onScreenChange(Screen newGui) { if (_listShaders == null) { - _listShaders = ReflectionHelper.getField(class_279.class, "field_1497"); + _listShaders = ReflectionHelper.getField(ShaderEffect.class, "field_1497", "passes"); } if (MinecraftClient.getInstance().world != null) { - WorldRenderer er = MinecraftClient.getInstance().worldRenderer; + GameRenderer er = MinecraftClient.getInstance().gameRenderer; boolean excluded = newGui == null || ArrayUtils.contains(configs.blurExclusions, newGui.getClass().getName()); - if (!er.method_3175() && !excluded) { - ((MixinWorldRenderer)er).invokeLoadShader(new Identifier("shaders/post/fade_in_blur.json")); + if (!er.isShaderEnabled() && !excluded) { + ((MixinGameRenderer) er).invokeLoadShader(new Identifier("shaders/post/fade_in_blur.json")); start = System.currentTimeMillis(); - } else if (er.method_3175() && excluded) { - er.method_3207(); + } else if (er.isShaderEnabled() && excluded) { + er.disableShader(); } } } - + public int getRadius() { return configs.radius; } - + private float getProgress() { return Math.min((System.currentTimeMillis() - start) / (float) configs.fadeTimeMillis, 1); } - + public void onPostRenderTick() { - if (MinecraftClient.getInstance().currentGui != null && MinecraftClient.getInstance().worldRenderer.method_3175()) { - class_279 sg = MinecraftClient.getInstance().worldRenderer.method_3183(); + if (MinecraftClient.getInstance().currentScreen != null && MinecraftClient.getInstance().gameRenderer.isShaderEnabled()) { + ShaderEffect sg = MinecraftClient.getInstance().gameRenderer.getShader(); try { @SuppressWarnings("unchecked") - List shaders = (List) _listShaders.get(sg); - for (Shader s : shaders) { - GlUniform su = s.method_1295().getUniformByName("Progress"); + List shaders = (List) _listShaders.get(sg); + for (PostProcessShader s : shaders) { + GlUniform su = s.getProgram().getUniformByName("Progress"); if (su != null) { - su.method_1251(getProgress()); + su.set(getProgress()); } } } catch (IllegalArgumentException | IllegalAccessException e) { @@ -154,7 +144,7 @@ public void onPostRenderTick() { } } } - + public int getBackgroundColor(boolean second) { int color = second ? colorSecond : colorFirst; int a = color >>> 24; diff --git a/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java b/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java similarity index 70% rename from src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java rename to src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java index 93b2eba..2e0b572 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinWorldRenderer.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java @@ -1,14 +1,15 @@ package com.tterrag.blur.mixin; +import net.minecraft.client.render.GameRenderer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; import net.minecraft.client.render.WorldRenderer; import net.minecraft.util.Identifier; -@Mixin(WorldRenderer.class) -public interface MixinWorldRenderer { - +@Mixin(GameRenderer.class) +public interface MixinGameRenderer { + @Invoker void invokeLoadShader(Identifier loc); diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index 2fe955c..dd36787 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -1,42 +1,40 @@ package com.tterrag.blur.mixin; +import com.tterrag.blur.Blur; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.resource.ReloadableResourceManager; import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.At.Shift; +import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import com.tterrag.blur.Blur; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.Gui; -import net.minecraft.resource.ReloadableResourceManager; - @Mixin(MinecraftClient.class) public class MixinMinecraftClient { - - @Inject(method = "openGui(Lnet/minecraft/client/gui/Gui;)V", + + @Inject(method = "openScreen", at = @At(value = "FIELD", - target = "Lnet/minecraft/client/MinecraftClient;currentGui:Lnet/minecraft/client/gui/Gui;", - opcode = Opcodes.PUTFIELD)) - public void onGuiOpen(Gui newGui, CallbackInfo info) { - Blur.instance.onGuiChange(newGui); + target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", + opcode = Opcodes.PUTFIELD)) + public void onScreenOpen(Screen newScreen, CallbackInfo info) { + Blur.instance.onScreenChange(newScreen); } - @Inject(method = "method_1523(Z)V", - at = @At(value = "INVOKE", - target = "net/minecraft/client/toast/ToastManager.draw()V"), + @Inject(method = "render", + at = @At(value = "INVOKE", + target = "net/minecraft/client/toast/ToastManager.draw()V"), require = 1) public void onPostRenderTick(CallbackInfo info) { Blur.instance.onPostRenderTick(); } - + @Inject(method = "init()V", at = @At(value = "FIELD", - target = "Lnet/minecraft/client/MinecraftClient;resourceManager:Lnet/minecraft/resource/ReloadableResourceManager;", - opcode = Opcodes.PUTFIELD, - shift = Shift.AFTER)) + target = "Lnet/minecraft/client/MinecraftClient;resourceManager:Lnet/minecraft/resource/ReloadableResourceManager;", + opcode = Opcodes.PUTFIELD, + shift = Shift.AFTER)) public void onResourceManagerAssign(CallbackInfo info) { Blur.instance.registerReloadListeners((ReloadableResourceManager) MinecraftClient.getInstance().getResourceManager()); } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinGui.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java similarity index 76% rename from src/main/java/com/tterrag/blur/mixin/MixinGui.java rename to src/main/java/com/tterrag/blur/mixin/MixinScreen.java index b905c1c..331d702 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinGui.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -1,25 +1,23 @@ package com.tterrag.blur.mixin; +import com.tterrag.blur.Blur; +import net.minecraft.client.gui.screen.Screen; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.ModifyConstant; -import com.tterrag.blur.Blur; - -import net.minecraft.client.gui.Gui; - -@Mixin(Gui.class) -public class MixinGui { +@Mixin(Screen.class) +public class MixinScreen { @ModifyConstant( - method = "drawBackground(I)V", + method = "renderBackground(I)V", constant = @Constant(intValue = -1072689136)) public int getFirstBackgroundColor(int color) { return Blur.instance.getBackgroundColor(false); } - + @ModifyConstant( - method = "drawBackground(I)V", + method = "renderBackground(I)V", constant = @Constant(intValue = -804253680)) public int getSecondBackgroundColor(int color) { return Blur.instance.getBackgroundColor(true); diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index 6de2e6a..f1c10c2 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -1,40 +1,37 @@ package com.tterrag.blur.util; -import java.io.ByteArrayInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Scanner; -import java.util.Set; -import java.util.function.Predicate; - import com.google.common.collect.ImmutableSet; import com.tterrag.blur.Blur; - import net.minecraft.resource.ResourceManager; import net.minecraft.resource.ResourcePack; import net.minecraft.resource.ResourceReloadListener; import net.minecraft.resource.ResourceType; import net.minecraft.resource.metadata.PackResourceMetadata; import net.minecraft.resource.metadata.ResourceMetadataReader; -import net.minecraft.text.StringTextComponent; +import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; +import net.minecraft.util.profiler.Profiler; + +import java.io.ByteArrayInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; +import java.util.function.Predicate; public class ShaderResourcePack implements ResourcePack, ResourceReloadListener { - + protected boolean validPath(Identifier location) { return location.getNamespace().equals("minecraft") && location.getPath().startsWith("shaders/"); } - + private final Map loadedData = new HashMap<>(); @Override public InputStream open(ResourceType type, Identifier location) throws IOException { - if (type == ResourceType.ASSETS && validPath(location)) { + if (type == ResourceType.CLIENT_RESOURCES && validPath(location)) { String s = loadedData.computeIfAbsent(location, loc -> { InputStream in = Blur.class.getResourceAsStream("/" + location.getPath()); StringBuilder data = new StringBuilder(); @@ -56,7 +53,7 @@ public InputStream open(ResourceType type, Identifier location) throws IOExcepti @Override public boolean contains(ResourceType type, Identifier location) { - return type == ResourceType.ASSETS && validPath(location) && Blur.class.getResource("/" + location.getPath()) != null; + return type == ResourceType.CLIENT_RESOURCES && validPath(location) && Blur.class.getResource("/" + location.getPath()) != null; } @Override @@ -64,11 +61,11 @@ public Set getNamespaces(ResourceType type) { return ImmutableSet.of("minecraft"); } - @SuppressWarnings({ "unchecked", "null" }) + @SuppressWarnings({"unchecked", "null"}) @Override public T parseMetadata(ResourceMetadataReader var1) throws IOException { if ("pack".equals(var1.getKey())) { - return (T) new PackResourceMetadata(new StringTextComponent("Blur's default shaders"), 4); + return (T) new PackResourceMetadata(new LiteralText("Blur's default shaders"), 4); } return null; } @@ -77,14 +74,15 @@ public T parseMetadata(ResourceMetadataReader var1) throws IOException { public String getName() { return "Blur Shaders"; } - + @Override - public void onResourceReload(ResourceManager resourceManager) { - loadedData.clear(); + public CompletableFuture reload(Synchronizer var1, ResourceManager var2, Profiler var3, Profiler var4, Executor var5, Executor var6) { + return new CompletableFuture<>().thenRun(loadedData::clear); } @Override - public void close() throws IOException {} + public void close() { + } @Override public InputStream openRoot(String var1) throws IOException { diff --git a/src/main/resources/assets/blur/pack.png b/src/main/resources/assets/blur/icon.png similarity index 100% rename from src/main/resources/assets/blur/pack.png rename to src/main/resources/assets/blur/icon.png diff --git a/src/main/resources/assets/blur/lang/en_US.lang b/src/main/resources/assets/blur/lang/en_US.lang deleted file mode 100644 index b22ed4e..0000000 --- a/src/main/resources/assets/blur/lang/en_US.lang +++ /dev/null @@ -1 +0,0 @@ -blur.config.title=Blur Config \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json new file mode 100644 index 0000000..4f3a239 --- /dev/null +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "blur.config.title": "Blur Config" +} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index c606868..bc2024c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,10 +1,28 @@ { + "schemaVersion": 1, "id": "blur", "name": "Blur", - "version": "1.0.0", - "side": "client", - "initializer": "com.tterrag.blur.Blur", - "mixins": { - "client": "blur.client.json" + "version": "$version", + "environment": "client", + "license": "MIT", + "icon": "assets/blur/icon.png", + "entrypoints": { + "client": [ + "com.tterrag.blur.Blur" + ] + }, + "contact": { + "homepage": "https://minecraft.curseforge.com/projects/blur", + "issues": "https://github.com/tterrag1098/Blur/issues" + }, + "authors": [ + "tterrag1098" + ], + "description": "Modifies the background behind Minecraft GUIs to have a blur effect", + "mixins": [ + "mixins.blur.json" + ], + "custom": { + "modmenu:clientsideOnly": true } } \ No newline at end of file diff --git a/src/main/resources/blur.client.json b/src/main/resources/mixins.blur.json similarity index 75% rename from src/main/resources/blur.client.json rename to src/main/resources/mixins.blur.json index 4b9cb5b..4295cbb 100644 --- a/src/main/resources/blur.client.json +++ b/src/main/resources/mixins.blur.json @@ -2,10 +2,10 @@ "required": true, "package": "com.tterrag.blur.mixin", "compatibilityLevel": "JAVA_8", - "mixins": [ - "MixinGui", + "client": [ + "MixinScreen", "MixinMinecraftClient", - "MixinWorldRenderer" + "MixinGameRenderer" ], "injectors": { "defaultRequire": 1 From 978380b6fdf2d34c2f038a36fec9eed28cbfebfe Mon Sep 17 00:00:00 2001 From: Prospector Date: Fri, 26 Jul 2019 22:41:28 -0700 Subject: [PATCH 13/62] Fix imports and upgrade gradle to 5.5.1 --- gradle/wrapper/gradle-wrapper.properties | 3 +- src/main/java/com/tterrag/blur/Blur.java | 28 ++++++++++--------- .../tterrag/blur/mixin/MixinGameRenderer.java | 3 +- .../blur/mixin/MixinMinecraftClient.java | 10 ++++--- .../com/tterrag/blur/mixin/MixinScreen.java | 6 ++-- .../tterrag/blur/util/ReflectionHelper.java | 6 ++-- .../tterrag/blur/util/ShaderResourcePack.java | 20 +++++++------ 7 files changed, 41 insertions(+), 35 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 43ee8d6..cd7237a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Sun Nov 11 14:39:10 PST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index a0f4e60..790a38f 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,10 +1,25 @@ package com.tterrag.blur; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.lang.reflect.Field; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.ArrayUtils; +import org.apache.logging.log4j.LogManager; + import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.tterrag.blur.mixin.MixinGameRenderer; import com.tterrag.blur.util.ReflectionHelper; import com.tterrag.blur.util.ShaderResourcePack; + import net.fabricmc.api.ClientModInitializer; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gl.GlUniform; @@ -19,19 +34,6 @@ import net.minecraft.resource.ResourcePackContainer.Factory; import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; -import org.apache.commons.lang3.ArrayUtils; -import org.apache.logging.log4j.LogManager; - -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.lang.reflect.Field; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.StandardOpenOption; -import java.util.List; -import java.util.Map; public class Blur implements ClientModInitializer { diff --git a/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java b/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java index 2e0b572..f8e3910 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java @@ -1,10 +1,9 @@ package com.tterrag.blur.mixin; -import net.minecraft.client.render.GameRenderer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; -import net.minecraft.client.render.WorldRenderer; +import net.minecraft.client.render.GameRenderer; import net.minecraft.util.Identifier; @Mixin(GameRenderer.class) diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index dd36787..dce9ee5 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -1,9 +1,5 @@ package com.tterrag.blur.mixin; -import com.tterrag.blur.Blur; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.resource.ReloadableResourceManager; import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -11,6 +7,12 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import com.tterrag.blur.Blur; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.resource.ReloadableResourceManager; + @Mixin(MinecraftClient.class) public class MixinMinecraftClient { diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index 331d702..ba898cc 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -1,11 +1,13 @@ package com.tterrag.blur.mixin; -import com.tterrag.blur.Blur; -import net.minecraft.client.gui.screen.Screen; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.ModifyConstant; +import com.tterrag.blur.Blur; + +import net.minecraft.client.gui.screen.Screen; + @Mixin(Screen.class) public class MixinScreen { diff --git a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java index eb930cf..2c609cf 100644 --- a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java +++ b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java @@ -4,16 +4,16 @@ import java.util.Arrays; public class ReflectionHelper { - + @SuppressWarnings("unchecked") - public static T getValue(Class cls, Object instance, String...names) { + public static T getValue(Class cls, Object instance, String... names) { try { return (T) getField(cls, names).get(instance); } catch (IllegalAccessException e) { throw new RuntimeException(e); } } - + public static Field getField(Class cls, String... names) { for (String name : names) { Field f = getFieldInternal(cls, name); diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index f1c10c2..43f6831 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -1,7 +1,18 @@ package com.tterrag.blur.util; + +import java.io.ByteArrayInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; +import java.util.function.Predicate; + import com.google.common.collect.ImmutableSet; import com.tterrag.blur.Blur; + import net.minecraft.resource.ResourceManager; import net.minecraft.resource.ResourcePack; import net.minecraft.resource.ResourceReloadListener; @@ -12,15 +23,6 @@ import net.minecraft.util.Identifier; import net.minecraft.util.profiler.Profiler; -import java.io.ByteArrayInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; -import java.util.function.Predicate; - public class ShaderResourcePack implements ResourcePack, ResourceReloadListener { protected boolean validPath(Identifier location) { From fd386e758590c68a6bfead0d5d50a7bfde58acd6 Mon Sep 17 00:00:00 2001 From: Prospector Date: Fri, 26 Jul 2019 22:49:55 -0700 Subject: [PATCH 14/62] Remove wildcard imports because it seems like you'd not like them --- src/main/java/com/tterrag/blur/Blur.java | 6 +++++- .../java/com/tterrag/blur/util/ShaderResourcePack.java | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 790a38f..d11a6f1 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -30,8 +30,12 @@ import net.minecraft.client.render.GameRenderer; import net.minecraft.client.resource.ClientResourcePackContainer; import net.minecraft.client.texture.NativeImage; -import net.minecraft.resource.*; +import net.minecraft.resource.ResourcePackCompatibility; +import net.minecraft.resource.ResourcePackContainer; import net.minecraft.resource.ResourcePackContainer.Factory; +import net.minecraft.resource.ResourcePackContainerManager; +import net.minecraft.resource.ResourcePackCreator; +import net.minecraft.resource.ReloadableResourceManager; import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index 43f6831..ebca82b 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -5,7 +5,12 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Scanner; +import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; import java.util.function.Predicate; From c4e1d33adecab26185d6e9791dc724b33e4db83a Mon Sep 17 00:00:00 2001 From: Prospector Date: Sat, 27 Jul 2019 11:40:39 -0700 Subject: [PATCH 15/62] Fix formatting that was changed --- src/main/java/com/tterrag/blur/Blur.java | 2 +- .../tterrag/blur/mixin/MixinMinecraftClient.java | 14 +++++++------- .../com/tterrag/blur/util/ReflectionHelper.java | 4 ++-- .../com/tterrag/blur/util/ShaderResourcePack.java | 5 ++--- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index d11a6f1..8a4a4b3 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -46,7 +46,7 @@ public class Blur implements ClientModInitializer { public static final String VERSION = "@VERSION@"; static class ConfigJson { - String[] blurExclusions = new String[]{ChatScreen.class.getName()}; + String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; int fadeTimeMillis = 200; int radius = 8; String gradientStartColor = "75000000"; diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index dce9ee5..ecc1801 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -3,8 +3,8 @@ import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.At.Shift; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.At.Shift; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.tterrag.blur.Blur; @@ -18,15 +18,15 @@ public class MixinMinecraftClient { @Inject(method = "openScreen", at = @At(value = "FIELD", - target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", - opcode = Opcodes.PUTFIELD)) + target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", + opcode = Opcodes.PUTFIELD)) public void onScreenOpen(Screen newScreen, CallbackInfo info) { Blur.instance.onScreenChange(newScreen); } @Inject(method = "render", at = @At(value = "INVOKE", - target = "net/minecraft/client/toast/ToastManager.draw()V"), + target = "net/minecraft/client/toast/ToastManager.draw()V"), require = 1) public void onPostRenderTick(CallbackInfo info) { Blur.instance.onPostRenderTick(); @@ -34,9 +34,9 @@ public void onPostRenderTick(CallbackInfo info) { @Inject(method = "init()V", at = @At(value = "FIELD", - target = "Lnet/minecraft/client/MinecraftClient;resourceManager:Lnet/minecraft/resource/ReloadableResourceManager;", - opcode = Opcodes.PUTFIELD, - shift = Shift.AFTER)) + target = "Lnet/minecraft/client/MinecraftClient;resourceManager:Lnet/minecraft/resource/ReloadableResourceManager;", + opcode = Opcodes.PUTFIELD, + shift = Shift.AFTER)) public void onResourceManagerAssign(CallbackInfo info) { Blur.instance.registerReloadListeners((ReloadableResourceManager) MinecraftClient.getInstance().getResourceManager()); } diff --git a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java index 2c609cf..098f088 100644 --- a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java +++ b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java @@ -4,9 +4,9 @@ import java.util.Arrays; public class ReflectionHelper { - + @SuppressWarnings("unchecked") - public static T getValue(Class cls, Object instance, String... names) { + public static T getValue(Class cls, Object instance, String...names) { try { return (T) getField(cls, names).get(instance); } catch (IllegalAccessException e) { diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java index ebca82b..58fed70 100644 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java @@ -68,7 +68,7 @@ public Set getNamespaces(ResourceType type) { return ImmutableSet.of("minecraft"); } - @SuppressWarnings({"unchecked", "null"}) + @SuppressWarnings({ "unchecked", "null" }) @Override public T parseMetadata(ResourceMetadataReader var1) throws IOException { if ("pack".equals(var1.getKey())) { @@ -88,8 +88,7 @@ public CompletableFuture reload(Synchronizer var1, ResourceManager var2, P } @Override - public void close() { - } + public void close() throws IOException {} @Override public InputStream openRoot(String var1) throws IOException { From a7c8ff75264d51919ef3c6f75d3f713b6148bf6b Mon Sep 17 00:00:00 2001 From: Prospector Date: Sun, 28 Jul 2019 12:38:15 -0700 Subject: [PATCH 16/62] Fix config file name --- src/main/java/com/tterrag/blur/Blur.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 8a4a4b3..87d165c 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -5,8 +5,6 @@ import java.io.IOException; import java.lang.reflect.Field; import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.List; import java.util.Map; @@ -21,6 +19,7 @@ import com.tterrag.blur.util.ShaderResourcePack; import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gl.GlUniform; import net.minecraft.client.gl.PostProcessShader; @@ -89,12 +88,11 @@ public void registerContainer(Map v @Override public void onInitializeClient() { - Path config = MinecraftClient.getInstance().runDirectory.toPath().resolve(Paths.get("config", "blur.cfg")); - File configFile = config.toFile(); + File configFile = new File(FabricLoader.getInstance().getConfigDirectory(), Blur.MODID + ".json"); try { if (!configFile.exists()) { configFile.getParentFile().mkdirs(); - Files.write(config, new GsonBuilder().setPrettyPrinting().create().toJson(configs).getBytes(), StandardOpenOption.CREATE_NEW); + Files.write(configFile.toPath(), new GsonBuilder().setPrettyPrinting().create().toJson(configs).getBytes(), StandardOpenOption.CREATE_NEW); } else { configs = new Gson().fromJson(new FileReader(configFile), ConfigJson.class); } From d1d9468482abd10b2e3a0690f4bbb17e18509ea4 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Mon, 29 Jul 2019 22:30:48 +0200 Subject: [PATCH 17/62] Move Blur to Satin --- build.gradle | 6 + gradle.properties | 3 + src/main/java/com/tterrag/blur/Blur.java | 110 ++++-------------- .../tterrag/blur/mixin/MixinGameRenderer.java | 15 --- .../blur/mixin/MixinMinecraftClient.java | 19 +-- .../com/tterrag/blur/mixin/MixinScreen.java | 4 +- .../tterrag/blur/util/ReflectionHelper.java | 36 ------ .../tterrag/blur/util/ShaderResourcePack.java | 102 ---------------- .../blur}/shaders/post/fade_in_blur.json | 16 +-- .../blur}/shaders/program/fade_in_blur.fsh | 0 .../blur}/shaders/program/fade_in_blur.json | 2 +- src/main/resources/fabric.mod.json | 2 +- src/main/resources/mixins.blur.json | 3 +- 13 files changed, 46 insertions(+), 272 deletions(-) delete mode 100644 src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java delete mode 100644 src/main/java/com/tterrag/blur/util/ReflectionHelper.java delete mode 100644 src/main/java/com/tterrag/blur/util/ShaderResourcePack.java rename src/main/resources/{ => assets/blur}/shaders/post/fade_in_blur.json (80%) rename src/main/resources/{ => assets/blur}/shaders/program/fade_in_blur.fsh (100%) rename src/main/resources/{ => assets/blur}/shaders/program/fade_in_blur.json (95%) diff --git a/build.gradle b/build.gradle index f7ee5cb..b2a9868 100644 --- a/build.gradle +++ b/build.gradle @@ -20,11 +20,17 @@ targetCompatibility = '1.8' minecraft { } +repositories { + maven { url 'https://jitpack.io' } +} + dependencies { minecraft "com.mojang:minecraft:${minecraft_version}" mappings "net.fabricmc:yarn:${mappings_version}" modCompile "net.fabricmc:fabric-loader:${fabric_loader_version}" modCompile "net.fabricmc.fabric-api:fabric-api:${fabric_version}" + modCompile "com.github.Ladysnake:Satin:${satin_version}" + include "com.github.Ladysnake:Satin:${satin_version}" implementation 'com.google.code.findbugs:jsr305:3.0.2' } diff --git a/gradle.properties b/gradle.properties index fe1d8fd..c105dfe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,5 +6,8 @@ fabric_loader_version=0.4.8+build.157 fabric_version=0.3.0+build.200 mappings_version=1.14.4+build.2 +# Satin library +satin_version = 1.3.1 + project_id=268324 release_type=release diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 87d165c..ecd6888 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,42 +1,24 @@ package com.tterrag.blur; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.lang.reflect.Field; -import java.nio.file.Files; -import java.nio.file.StandardOpenOption; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.ArrayUtils; -import org.apache.logging.log4j.LogManager; - import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.tterrag.blur.mixin.MixinGameRenderer; -import com.tterrag.blur.util.ReflectionHelper; -import com.tterrag.blur.util.ShaderResourcePack; - +import ladysnake.satin.api.event.ShaderEffectRenderCallback; +import ladysnake.satin.api.experimental.managed.Uniform1f; +import ladysnake.satin.api.managed.ManagedShaderEffect; +import ladysnake.satin.api.managed.ShaderEffectManager; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gl.GlUniform; -import net.minecraft.client.gl.PostProcessShader; -import net.minecraft.client.gl.ShaderEffect; import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.render.GameRenderer; -import net.minecraft.client.resource.ClientResourcePackContainer; -import net.minecraft.client.texture.NativeImage; -import net.minecraft.resource.ResourcePackCompatibility; -import net.minecraft.resource.ResourcePackContainer; -import net.minecraft.resource.ResourcePackContainer.Factory; -import net.minecraft.resource.ResourcePackContainerManager; -import net.minecraft.resource.ResourcePackCreator; -import net.minecraft.resource.ReloadableResourceManager; -import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; +import org.apache.commons.lang3.ArrayUtils; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.StandardOpenOption; public class Blur implements ClientModInitializer { @@ -52,39 +34,16 @@ static class ConfigJson { String gradientEndColor = "75000000"; } - private Field _listShaders; private long start; public ConfigJson configs = new ConfigJson(); public int colorFirst, colorSecond; - private ShaderResourcePack dummyPack = new ShaderResourcePack(); + private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), + shader -> shader.setUniformValue("Radius", (float) getRadius())); + private final Uniform1f blurProgress = blur.findUniform1f("Progress"); - public static Blur instance; - - public Blur() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException { - ResourcePackContainerManager rps = ReflectionHelper.getValue(MinecraftClient.class, MinecraftClient.getInstance(), "field_1715", "resourcePackContainerManager"); - rps.addCreator(new ResourcePackCreator() { - - @Override - public void registerContainer(Map var1, Factory factory) { - NativeImage img = null; - try { - img = NativeImage.read(dummyPack.openRoot("icon.png")); - } catch (IOException e) { - LogManager.getLogger().error("Could not load blur's icon.png", e); - } - @SuppressWarnings("unchecked") - T var3 = (T) new ClientResourcePackContainer("blur", true, () -> dummyPack, new LiteralText(dummyPack.getName()), new LiteralText("Default shaders for Blur"), - ResourcePackCompatibility.COMPATIBLE, ResourcePackContainer.InsertionPosition.BOTTOM, true, img); - if (var3 != null) { - var1.put("blur", var3); - } - } - }); - - instance = this; - } + public static final Blur INSTANCE = new Blur(); @Override public void onInitializeClient() { @@ -101,24 +60,19 @@ public void onInitializeClient() { } colorFirst = Integer.parseUnsignedInt(configs.gradientStartColor, 16); colorSecond = Integer.parseUnsignedInt(configs.gradientEndColor, 16); - } - - public void registerReloadListeners(ReloadableResourceManager manager) { - manager.addPack(dummyPack); + ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { + if (MinecraftClient.getInstance().currentScreen != null) { + blurProgress.set(getProgress()); + blur.render(deltaTick); + } + }); } public void onScreenChange(Screen newGui) { - if (_listShaders == null) { - _listShaders = ReflectionHelper.getField(ShaderEffect.class, "field_1497", "passes"); - } if (MinecraftClient.getInstance().world != null) { - GameRenderer er = MinecraftClient.getInstance().gameRenderer; boolean excluded = newGui == null || ArrayUtils.contains(configs.blurExclusions, newGui.getClass().getName()); - if (!er.isShaderEnabled() && !excluded) { - ((MixinGameRenderer) er).invokeLoadShader(new Identifier("shaders/post/fade_in_blur.json")); + if (!excluded) { start = System.currentTimeMillis(); - } else if (er.isShaderEnabled() && excluded) { - er.disableShader(); } } } @@ -131,31 +85,13 @@ private float getProgress() { return Math.min((System.currentTimeMillis() - start) / (float) configs.fadeTimeMillis, 1); } - public void onPostRenderTick() { - if (MinecraftClient.getInstance().currentScreen != null && MinecraftClient.getInstance().gameRenderer.isShaderEnabled()) { - ShaderEffect sg = MinecraftClient.getInstance().gameRenderer.getShader(); - try { - @SuppressWarnings("unchecked") - List shaders = (List) _listShaders.get(sg); - for (PostProcessShader s : shaders) { - GlUniform su = s.getProgram().getUniformByName("Progress"); - if (su != null) { - su.set(getProgress()); - } - } - } catch (IllegalArgumentException | IllegalAccessException e) { - throw new RuntimeException(e); - } - } - } - public int getBackgroundColor(boolean second) { int color = second ? colorSecond : colorFirst; int a = color >>> 24; int r = (color >> 16) & 0xFF; int b = (color >> 8) & 0xFF; int g = color & 0xFF; - float prog = instance.getProgress(); + float prog = INSTANCE.getProgress(); a *= prog; r *= prog; g *= prog; diff --git a/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java b/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java deleted file mode 100644 index f8e3910..0000000 --- a/src/main/java/com/tterrag/blur/mixin/MixinGameRenderer.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.tterrag.blur.mixin; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -import net.minecraft.client.render.GameRenderer; -import net.minecraft.util.Identifier; - -@Mixin(GameRenderer.class) -public interface MixinGameRenderer { - - @Invoker - void invokeLoadShader(Identifier loc); - -} diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index ecc1801..721944b 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -21,23 +21,6 @@ public class MixinMinecraftClient { target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", opcode = Opcodes.PUTFIELD)) public void onScreenOpen(Screen newScreen, CallbackInfo info) { - Blur.instance.onScreenChange(newScreen); - } - - @Inject(method = "render", - at = @At(value = "INVOKE", - target = "net/minecraft/client/toast/ToastManager.draw()V"), - require = 1) - public void onPostRenderTick(CallbackInfo info) { - Blur.instance.onPostRenderTick(); - } - - @Inject(method = "init()V", - at = @At(value = "FIELD", - target = "Lnet/minecraft/client/MinecraftClient;resourceManager:Lnet/minecraft/resource/ReloadableResourceManager;", - opcode = Opcodes.PUTFIELD, - shift = Shift.AFTER)) - public void onResourceManagerAssign(CallbackInfo info) { - Blur.instance.registerReloadListeners((ReloadableResourceManager) MinecraftClient.getInstance().getResourceManager()); + Blur.INSTANCE.onScreenChange(newScreen); } } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index ba898cc..40fde02 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -15,13 +15,13 @@ public class MixinScreen { method = "renderBackground(I)V", constant = @Constant(intValue = -1072689136)) public int getFirstBackgroundColor(int color) { - return Blur.instance.getBackgroundColor(false); + return Blur.INSTANCE.getBackgroundColor(false); } @ModifyConstant( method = "renderBackground(I)V", constant = @Constant(intValue = -804253680)) public int getSecondBackgroundColor(int color) { - return Blur.instance.getBackgroundColor(true); + return Blur.INSTANCE.getBackgroundColor(true); } } diff --git a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java b/src/main/java/com/tterrag/blur/util/ReflectionHelper.java deleted file mode 100644 index 098f088..0000000 --- a/src/main/java/com/tterrag/blur/util/ReflectionHelper.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.tterrag.blur.util; - -import java.lang.reflect.Field; -import java.util.Arrays; - -public class ReflectionHelper { - - @SuppressWarnings("unchecked") - public static T getValue(Class cls, Object instance, String...names) { - try { - return (T) getField(cls, names).get(instance); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } - } - - public static Field getField(Class cls, String... names) { - for (String name : names) { - Field f = getFieldInternal(cls, name); - if (f != null) { - return f; - } - } - throw new IllegalArgumentException("Could not find any of fields " + Arrays.toString(names) + " on class " + cls); - } - - private static Field getFieldInternal(Class cls, String name) { - try { - Field f = cls.getDeclaredField(name); - f.setAccessible(true); - return f; - } catch (NoSuchFieldException | SecurityException e) { - return null; - } - } -} diff --git a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java b/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java deleted file mode 100644 index 58fed70..0000000 --- a/src/main/java/com/tterrag/blur/util/ShaderResourcePack.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.tterrag.blur.util; - - -import java.io.ByteArrayInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Scanner; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; -import java.util.function.Predicate; - -import com.google.common.collect.ImmutableSet; -import com.tterrag.blur.Blur; - -import net.minecraft.resource.ResourceManager; -import net.minecraft.resource.ResourcePack; -import net.minecraft.resource.ResourceReloadListener; -import net.minecraft.resource.ResourceType; -import net.minecraft.resource.metadata.PackResourceMetadata; -import net.minecraft.resource.metadata.ResourceMetadataReader; -import net.minecraft.text.LiteralText; -import net.minecraft.util.Identifier; -import net.minecraft.util.profiler.Profiler; - -public class ShaderResourcePack implements ResourcePack, ResourceReloadListener { - - protected boolean validPath(Identifier location) { - return location.getNamespace().equals("minecraft") && location.getPath().startsWith("shaders/"); - } - - private final Map loadedData = new HashMap<>(); - - @Override - public InputStream open(ResourceType type, Identifier location) throws IOException { - if (type == ResourceType.CLIENT_RESOURCES && validPath(location)) { - String s = loadedData.computeIfAbsent(location, loc -> { - InputStream in = Blur.class.getResourceAsStream("/" + location.getPath()); - StringBuilder data = new StringBuilder(); - Scanner scan = new Scanner(in); - try { - while (scan.hasNextLine()) { - data.append(scan.nextLine().replaceAll("@radius@", Integer.toString(Blur.instance.getRadius()))).append('\n'); - } - } finally { - scan.close(); - } - return data.toString(); - }); - - return new ByteArrayInputStream(s.getBytes()); - } - throw new FileNotFoundException(location.toString()); - } - - @Override - public boolean contains(ResourceType type, Identifier location) { - return type == ResourceType.CLIENT_RESOURCES && validPath(location) && Blur.class.getResource("/" + location.getPath()) != null; - } - - @Override - public Set getNamespaces(ResourceType type) { - return ImmutableSet.of("minecraft"); - } - - @SuppressWarnings({ "unchecked", "null" }) - @Override - public T parseMetadata(ResourceMetadataReader var1) throws IOException { - if ("pack".equals(var1.getKey())) { - return (T) new PackResourceMetadata(new LiteralText("Blur's default shaders"), 4); - } - return null; - } - - @Override - public String getName() { - return "Blur Shaders"; - } - - @Override - public CompletableFuture reload(Synchronizer var1, ResourceManager var2, Profiler var3, Profiler var4, Executor var5, Executor var6) { - return new CompletableFuture<>().thenRun(loadedData::clear); - } - - @Override - public void close() throws IOException {} - - @Override - public InputStream openRoot(String var1) throws IOException { - return Blur.class.getResourceAsStream("/assets/blur/" + var1); - } - - @Override - public Collection findResources(ResourceType var1, String var2, int var3, Predicate var4) { - return Collections.emptyList(); - } -} diff --git a/src/main/resources/shaders/post/fade_in_blur.json b/src/main/resources/assets/blur/shaders/post/fade_in_blur.json similarity index 80% rename from src/main/resources/shaders/post/fade_in_blur.json rename to src/main/resources/assets/blur/shaders/post/fade_in_blur.json index b0efb87..2d9074b 100644 --- a/src/main/resources/shaders/post/fade_in_blur.json +++ b/src/main/resources/assets/blur/shaders/post/fade_in_blur.json @@ -4,7 +4,7 @@ ], "passes": [ { - "name": "fade_in_blur", + "name": "blur:fade_in_blur", "intarget": "minecraft:main", "outtarget": "swap", "uniforms": [ @@ -14,12 +14,12 @@ }, { "name": "Radius", - "values": [ @radius@.0 ] + "values": [ 8.0 ] } ] }, { - "name": "fade_in_blur", + "name": "blur:fade_in_blur", "intarget": "swap", "outtarget": "minecraft:main", "uniforms": [ @@ -29,12 +29,12 @@ }, { "name": "Radius", - "values": [ @radius@.0 ] + "values": [ 8.0 ] } ] }, { - "name": "fade_in_blur", + "name": "blur:fade_in_blur", "intarget": "minecraft:main", "outtarget": "swap", "uniforms": [ @@ -44,12 +44,12 @@ }, { "name": "Radius", - "values": [ @radius@.0 ] + "values": [ 8.0 ] } ] }, { - "name": "fade_in_blur", + "name": "blur:fade_in_blur", "intarget": "swap", "outtarget": "minecraft:main", "uniforms": [ @@ -59,7 +59,7 @@ }, { "name": "Radius", - "values": [ @radius@.0 ] + "values": [ 8.0 ] } ] } diff --git a/src/main/resources/shaders/program/fade_in_blur.fsh b/src/main/resources/assets/blur/shaders/program/fade_in_blur.fsh similarity index 100% rename from src/main/resources/shaders/program/fade_in_blur.fsh rename to src/main/resources/assets/blur/shaders/program/fade_in_blur.fsh diff --git a/src/main/resources/shaders/program/fade_in_blur.json b/src/main/resources/assets/blur/shaders/program/fade_in_blur.json similarity index 95% rename from src/main/resources/shaders/program/fade_in_blur.json rename to src/main/resources/assets/blur/shaders/program/fade_in_blur.json index 25425f3..fed0e2b 100644 --- a/src/main/resources/shaders/program/fade_in_blur.json +++ b/src/main/resources/assets/blur/shaders/program/fade_in_blur.json @@ -5,7 +5,7 @@ "dstrgb": "zero" }, "vertex": "sobel", - "fragment": "fade_in_blur", + "fragment": "blur:fade_in_blur", "attributes": [ "Position" ], "samplers": [ { "name": "DiffuseSampler" } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index bc2024c..9d3a00a 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -8,7 +8,7 @@ "icon": "assets/blur/icon.png", "entrypoints": { "client": [ - "com.tterrag.blur.Blur" + "com.tterrag.blur.Blur::INSTANCE" ] }, "contact": { diff --git a/src/main/resources/mixins.blur.json b/src/main/resources/mixins.blur.json index 4295cbb..42530d6 100644 --- a/src/main/resources/mixins.blur.json +++ b/src/main/resources/mixins.blur.json @@ -4,8 +4,7 @@ "compatibilityLevel": "JAVA_8", "client": [ "MixinScreen", - "MixinMinecraftClient", - "MixinGameRenderer" + "MixinMinecraftClient" ], "injectors": { "defaultRequire": 1 From 3cf6a03361bc44d493c1a7e0ac83b5e4fe799d9b Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Tue, 30 Jul 2019 22:29:06 +0200 Subject: [PATCH 18/62] Update contained satin --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index c105dfe..a19348e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ fabric_version=0.3.0+build.200 mappings_version=1.14.4+build.2 # Satin library -satin_version = 1.3.1 +satin_version = 1.3.2 project_id=268324 release_type=release From cb98527f94464716530a69d37ea8f00557dfb93c Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Tue, 30 Jul 2019 22:34:28 +0200 Subject: [PATCH 19/62] Fix excluded GUIs being ignored --- src/main/java/com/tterrag/blur/Blur.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index ecd6888..02dc046 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -61,7 +61,7 @@ public void onInitializeClient() { colorFirst = Integer.parseUnsignedInt(configs.gradientStartColor, 16); colorSecond = Integer.parseUnsignedInt(configs.gradientEndColor, 16); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { - if (MinecraftClient.getInstance().currentScreen != null) { + if (start > 0) { blurProgress.set(getProgress()); blur.render(deltaTick); } @@ -73,6 +73,8 @@ public void onScreenChange(Screen newGui) { boolean excluded = newGui == null || ArrayUtils.contains(configs.blurExclusions, newGui.getClass().getName()); if (!excluded) { start = System.currentTimeMillis(); + } else { + start = -1; } } } From 28a8530c52a1bfdeaf6710887c529c79753e2dc5 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Tue, 27 Aug 2019 15:09:36 +0200 Subject: [PATCH 20/62] Update to 19w34a --- build.gradle | 2 +- gradle.properties | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index b2a9868..3a6464f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { id 'idea' id 'eclipse' id 'com.matthewprenger.cursegradle' version '1.0.9' - id 'fabric-loom' version '0.2.4-SNAPSHOT' + id 'fabric-loom' version '0.2.5-SNAPSHOT' } boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false'); diff --git a/gradle.properties b/gradle.properties index a19348e..e5e08bb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,13 @@ -minecraft_version=1.14.4 +minecraft_version=19w34a mod_version=1.0.5 -fabric_loader_version=0.4.8+build.157 -fabric_version=0.3.0+build.200 -mappings_version=1.14.4+build.2 +fabric_loader_version=0.5.0+build.162 +fabric_version=0.3.1+build.208 +mappings_version=19w34a+build.10 # Satin library -satin_version = 1.3.2 +satin_version = 1.15-SNAPSHOT project_id=268324 release_type=release From 7e8194a5293345d73ac7726132e51a3fe553f04c Mon Sep 17 00:00:00 2001 From: Motschen Date: Sun, 21 Jun 2020 12:33:45 +0200 Subject: [PATCH 21/62] Port to 1.16-rc1 --- build.gradle | 2 +- gradle.properties | 10 +++++----- src/main/java/com/tterrag/blur/mixin/MixinScreen.java | 4 ++-- src/main/resources/fabric.mod.json | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 3a6464f..8c0f24f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { id 'idea' id 'eclipse' id 'com.matthewprenger.cursegradle' version '1.0.9' - id 'fabric-loom' version '0.2.5-SNAPSHOT' + id 'fabric-loom' version '0.4-SNAPSHOT' } boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false'); diff --git a/gradle.properties b/gradle.properties index e5e08bb..97edc39 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,13 @@ -minecraft_version=19w34a +minecraft_version=1.16-rc1 mod_version=1.0.5 -fabric_loader_version=0.5.0+build.162 -fabric_version=0.3.1+build.208 -mappings_version=19w34a+build.10 +fabric_loader_version=0.8.8+build.202 +fabric_version=0.12.5+build.367-1.16 +mappings_version=1.16-rc1+build.8 # Satin library -satin_version = 1.15-SNAPSHOT +satin_version = 1.16-SNAPSHOT project_id=268324 release_type=release diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index 40fde02..042ff8a 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -12,14 +12,14 @@ public class MixinScreen { @ModifyConstant( - method = "renderBackground(I)V", + method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -1072689136)) public int getFirstBackgroundColor(int color) { return Blur.INSTANCE.getBackgroundColor(false); } @ModifyConstant( - method = "renderBackground(I)V", + method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -804253680)) public int getSecondBackgroundColor(int color) { return Blur.INSTANCE.getBackgroundColor(true); diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 9d3a00a..f2294af 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "id": "blur", "name": "Blur", - "version": "$version", + "version": "1.0.6", "environment": "client", "license": "MIT", "icon": "assets/blur/icon.png", From fd84d6889716bc4a2faf51f29baaa79262bb661e Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Mon, 17 Aug 2020 09:49:13 +0200 Subject: [PATCH 22/62] Update to 1.16.2 --- build.gradle | 8 ++++---- gradle.properties | 12 ++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- src/main/java/com/tterrag/blur/Blur.java | 17 ++++++++--------- .../blur/mixin/MixinMinecraftClient.java | 2 +- .../com/tterrag/blur/mixin/MixinScreen.java | 4 ++-- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/build.gradle b/build.gradle index 8c0f24f..63d0988 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { id 'maven-publish' id 'idea' id 'eclipse' - id 'com.matthewprenger.cursegradle' version '1.0.9' + id 'com.matthewprenger.cursegradle' version '1.4.0' id 'fabric-loom' version '0.4-SNAPSHOT' } @@ -21,7 +21,7 @@ minecraft { } repositories { - maven { url 'https://jitpack.io' } + jcenter() } dependencies { @@ -29,8 +29,8 @@ dependencies { mappings "net.fabricmc:yarn:${mappings_version}" modCompile "net.fabricmc:fabric-loader:${fabric_loader_version}" modCompile "net.fabricmc.fabric-api:fabric-api:${fabric_version}" - modCompile "com.github.Ladysnake:Satin:${satin_version}" - include "com.github.Ladysnake:Satin:${satin_version}" + modCompile "io.github.ladysnake:Satin:${satin_version}" + include "io.github.ladysnake:Satin:${satin_version}" implementation 'com.google.code.findbugs:jsr305:3.0.2' } diff --git a/gradle.properties b/gradle.properties index 97edc39..dee7846 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,13 @@ -minecraft_version=1.16-rc1 +minecraft_version=1.16.2 -mod_version=1.0.5 +mod_version=1.0.6 -fabric_loader_version=0.8.8+build.202 -fabric_version=0.12.5+build.367-1.16 -mappings_version=1.16-rc1+build.8 +fabric_loader_version=0.9.1+build.205 +fabric_version=0.18.0+build.397-1.16 +mappings_version=1.16.2+build.19 # Satin library -satin_version = 1.16-SNAPSHOT +satin_version = 1.4.1 project_id=268324 release_type=release diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cd7237a..3c46198 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 02dc046..360f6ec 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -3,9 +3,9 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import ladysnake.satin.api.event.ShaderEffectRenderCallback; -import ladysnake.satin.api.experimental.managed.Uniform1f; import ladysnake.satin.api.managed.ManagedShaderEffect; import ladysnake.satin.api.managed.ShaderEffectManager; +import ladysnake.satin.api.managed.uniform.Uniform1f; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.MinecraftClient; @@ -14,17 +14,15 @@ import net.minecraft.util.Identifier; import org.apache.commons.lang3.ArrayUtils; -import java.io.File; -import java.io.FileReader; import java.io.IOException; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.StandardOpenOption; public class Blur implements ClientModInitializer { public static final String MODID = "blur"; public static final String MOD_NAME = "Blur"; - public static final String VERSION = "@VERSION@"; static class ConfigJson { String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; @@ -47,19 +45,20 @@ static class ConfigJson { @Override public void onInitializeClient() { - File configFile = new File(FabricLoader.getInstance().getConfigDirectory(), Blur.MODID + ".json"); + Path configFile = FabricLoader.getInstance().getConfigDir().resolve(Blur.MODID + ".json"); try { - if (!configFile.exists()) { - configFile.getParentFile().mkdirs(); - Files.write(configFile.toPath(), new GsonBuilder().setPrettyPrinting().create().toJson(configs).getBytes(), StandardOpenOption.CREATE_NEW); + if (!Files.exists(configFile)) { + Files.createDirectories(configFile.getParent()); + Files.write(configFile, new GsonBuilder().setPrettyPrinting().create().toJson(configs).getBytes(), StandardOpenOption.CREATE_NEW); } else { - configs = new Gson().fromJson(new FileReader(configFile), ConfigJson.class); + configs = new Gson().fromJson(Files.newBufferedReader(configFile), ConfigJson.class); } } catch (IOException e) { throw new RuntimeException(e); } colorFirst = Integer.parseUnsignedInt(configs.gradientStartColor, 16); colorSecond = Integer.parseUnsignedInt(configs.gradientEndColor, 16); + ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { if (start > 0) { blurProgress.set(getProgress()); diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index 721944b..826285c 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -20,7 +20,7 @@ public class MixinMinecraftClient { at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", opcode = Opcodes.PUTFIELD)) - public void onScreenOpen(Screen newScreen, CallbackInfo info) { + private void onScreenOpen(Screen newScreen, CallbackInfo info) { Blur.INSTANCE.onScreenChange(newScreen); } } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index 042ff8a..030f206 100644 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -14,14 +14,14 @@ public class MixinScreen { @ModifyConstant( method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -1072689136)) - public int getFirstBackgroundColor(int color) { + private int getFirstBackgroundColor(int color) { return Blur.INSTANCE.getBackgroundColor(false); } @ModifyConstant( method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -804253680)) - public int getSecondBackgroundColor(int color) { + private int getSecondBackgroundColor(int color) { return Blur.INSTANCE.getBackgroundColor(true); } } From d117c98de246dffeedf1d4a45868d6918a231459 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Mon, 17 Aug 2020 09:56:47 +0200 Subject: [PATCH 23/62] Bump version to 1.0.7 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index dee7846..1248af0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ minecraft_version=1.16.2 -mod_version=1.0.6 +mod_version=1.0.7 fabric_loader_version=0.9.1+build.205 fabric_version=0.18.0+build.397-1.16 From 432934b056cf9ee1ca8e7bcedc90b2f64193a7ea Mon Sep 17 00:00:00 2001 From: Motschen Date: Sun, 8 Nov 2020 18:09:57 +0100 Subject: [PATCH 24/62] 2.0.0 - AutoConfig and Fade Fix --- build.gradle | 8 ++- gradle.properties | 8 ++- pack_icons/lite.png | Bin 59210 -> 0 bytes pack_icons/strong.png | Bin 63029 -> 0 bytes pack_icons/ultra_lite.png | Bin 61616 -> 0 bytes pack_icons/ultra_strong.png | Bin 64306 -> 0 bytes .../shaders/post/fade_in_blur.json.template | 67 ------------------ pack_template/pack.mcmeta.template | 7 -- resource_packs.json | 22 ------ src/main/java/com/tterrag/blur/Blur.java | 54 +++++--------- .../com/tterrag/blur/config/BlurConfig.java | 26 +++++++ .../blur/config/ModMenuIntegration.java | 17 +++++ src/main/resources/assets/blur/icon.png | Bin 186232 -> 18037 bytes .../resources/assets/blur/lang/de_de.json | 7 ++ .../resources/assets/blur/lang/en_gb.json | 7 ++ .../resources/assets/blur/lang/en_us.json | 6 +- src/main/resources/fabric.mod.json | 20 +++--- 17 files changed, 104 insertions(+), 145 deletions(-) delete mode 100644 pack_icons/lite.png delete mode 100644 pack_icons/strong.png delete mode 100644 pack_icons/ultra_lite.png delete mode 100644 pack_icons/ultra_strong.png delete mode 100644 pack_template/assets/minecraft/shaders/post/fade_in_blur.json.template delete mode 100644 pack_template/pack.mcmeta.template delete mode 100644 resource_packs.json create mode 100644 src/main/java/com/tterrag/blur/config/BlurConfig.java create mode 100644 src/main/java/com/tterrag/blur/config/ModMenuIntegration.java create mode 100644 src/main/resources/assets/blur/lang/de_de.json create mode 100644 src/main/resources/assets/blur/lang/en_gb.json diff --git a/build.gradle b/build.gradle index 63d0988..20e61f8 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ ext.buildnumber = System.getenv().BUILD_NUMBER ?: 'custom'; group = 'com.tterrag.blur' archivesBaseName = "Blur" -version = "${mod_version}-${minecraft_version}[fabric]" +version = "${mod_version}-${minecraft_version}+fabric" sourceCompatibility = '1.8' targetCompatibility = '1.8' @@ -32,6 +32,12 @@ dependencies { modCompile "io.github.ladysnake:Satin:${satin_version}" include "io.github.ladysnake:Satin:${satin_version}" + modImplementation ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") + include ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") + modImplementation ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") + include ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") + modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") + implementation 'com.google.code.findbugs:jsr305:3.0.2' } diff --git a/gradle.properties b/gradle.properties index 1248af0..9814aaf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,17 @@ minecraft_version=1.16.2 -mod_version=1.0.7 +mod_version=2.0.0 fabric_loader_version=0.9.1+build.205 fabric_version=0.18.0+build.397-1.16 mappings_version=1.16.2+build.19 +auto_config_version = 3.2.0-unstable +cloth_config_version = 4.7.0-unstable +mod_menu_version = 1.14.6+build.31 + # Satin library -satin_version = 1.4.1 +satin_version = 1.5.1 project_id=268324 release_type=release diff --git a/pack_icons/lite.png b/pack_icons/lite.png deleted file mode 100644 index ac7d0323d30534f3f24bd16379de99849b5127f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59210 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 52818 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≺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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3c46198..e5338d3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip diff --git a/gradlew b/gradlew index 91a7e26..4f906e0 100644 --- a/gradlew +++ b/gradlew @@ -1,4 +1,20 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## ## @@ -6,20 +22,38 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -30,6 +64,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,33 +75,14 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -90,7 +106,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -110,11 +126,13 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" @@ -138,27 +156,30 @@ if $cygwin ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` done case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 8a0b282..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -8,20 +24,23 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -35,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -45,34 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 8d51525..bf36d93 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -20,7 +20,7 @@ public class Blur implements ClientModInitializer { public int colorFirst, colorSecond; private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), - shader -> shader.setUniformValue("Radius", BlurConfig.radius)); + shader -> shader.setUniformValue("Radius", (float) BlurConfig.radius)); private final Uniform1f blurProgress = blur.findUniform1f("Progress"); public static final Blur INSTANCE = new Blur(); @@ -42,7 +42,7 @@ public void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { boolean excluded = newGui == null || ArrayUtils.contains(BlurConfig.blurExclusions, newGui.getClass().getName()); if (!excluded) { - blur.setUniformValue("Radius", BlurConfig.radius); + blur.setUniformValue("Radius", (float) BlurConfig.radius); colorFirst = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientStartColor), 16); colorSecond = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientEndColor), 16); if (doFade) { diff --git a/src/main/java/com/tterrag/blur/config/MidnightConfig.java b/src/main/java/com/tterrag/blur/config/MidnightConfig.java index c44cadf..7ac4b6e 100644 --- a/src/main/java/com/tterrag/blur/config/MidnightConfig.java +++ b/src/main/java/com/tterrag/blur/config/MidnightConfig.java @@ -51,7 +51,7 @@ protected static class EntryInfo { boolean inLimits = true; } - private static Class configClass; + private static Class configClass; private static String translationPrefix; private static Path path; @@ -159,7 +159,7 @@ private static void textField(EntryInfo info, Function f, Pattern public static void write() { try { if (!Files.exists(path)) Files.createFile(path); - Files.write(path, gson.toJson(configClass.newInstance()).getBytes()); + Files.write(path, gson.toJson(configClass.getConstructor().newInstance()).getBytes()); } catch (Exception e) { e.printStackTrace(); } @@ -189,7 +189,7 @@ public void tick() { @Override protected void init() { super.init(); - this.addButton(new ButtonWidget(this.width / 2 - 154, this.height - 28, 150, 20, ScreenTexts.CANCEL, button -> { + this.addDrawableChild(new ButtonWidget(this.width / 2 - 154, this.height - 28, 150, 20, ScreenTexts.CANCEL, button -> { try { gson.fromJson(Files.newBufferedReader(path), configClass); } catch (Exception e) { write(); } @@ -203,7 +203,7 @@ protected void init() { Objects.requireNonNull(client).openScreen(parent); })); - ButtonWidget done = this.addButton(new ButtonWidget(this.width / 2 + 4, this.height - 28, 150, 20, ScreenTexts.DONE, (button) -> { + ButtonWidget done = this.addDrawableChild(new ButtonWidget(this.width / 2 + 4, this.height - 28, 150, 20, ScreenTexts.DONE, (button) -> { for (EntryInfo info : entries) try { info.field.set(null, info.value); } catch (IllegalAccessException ignore) {} @@ -213,7 +213,7 @@ protected void init() { int y = 45; for (EntryInfo info : entries) { - addButton(new ButtonWidget(width - 155, y, 40,20, new LiteralText("Reset").formatted(Formatting.RED), (button -> { + addDrawableChild(new ButtonWidget(width - 155, y, 40,20, new LiteralText("Reset").formatted(Formatting.RED), (button -> { info.value = info.defaultValue; info.tempValue = info.value.toString(); Objects.requireNonNull(client).openScreen(this); @@ -221,17 +221,17 @@ protected void init() { if (info.widget instanceof Map.Entry) { Map.Entry> widget = (Map.Entry>) info.widget; - addButton(new ButtonWidget(width-110,y,info.width,20, widget.getValue().apply(info.value), widget.getKey())); + addDrawableChild(new ButtonWidget(width-110,y,info.width,20, widget.getValue().apply(info.value), widget.getKey())); } else { - TextFieldWidget widget = addButton(new TextFieldWidget(textRenderer, width-110, y, info.width, 20, null)); + TextFieldWidget widget = addDrawableChild(new TextFieldWidget(textRenderer, width-110, y, info.width, 20, null)); widget.setText(info.tempValue); Predicate processor = ((BiFunction>) info.widget).apply(widget,done); widget.setTextPredicate(processor); - children.add(widget); + this.addSelectableChild(widget); } y += 25; } diff --git a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java index ac025f7..007c4b8 100644 --- a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java +++ b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java @@ -1,7 +1,7 @@ package com.tterrag.blur.config; -import io.github.prospector.modmenu.api.ConfigScreenFactory; -import io.github.prospector.modmenu.api.ModMenuApi; +import com.terraformersmc.modmenu.api.ConfigScreenFactory; +import com.terraformersmc.modmenu.api.ModMenuApi; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/src/main/resources/assets/blur/shaders/program/fade_in_blur.fsh b/src/main/resources/assets/blur/shaders/program/fade_in_blur.fsh index 5539f39..a2e0fef 100644 --- a/src/main/resources/assets/blur/shaders/program/fade_in_blur.fsh +++ b/src/main/resources/assets/blur/shaders/program/fade_in_blur.fsh @@ -1,9 +1,9 @@ -#version 120 +#version 150 uniform sampler2D DiffuseSampler; -varying vec2 texCoord; -varying vec2 oneTexel; +in vec2 texCoord; +in vec2 oneTexel; uniform vec2 InSize; @@ -11,6 +11,8 @@ uniform vec2 BlurDir; uniform float Radius; uniform float Progress; +out vec4 fragColor; + void main() { vec4 blurred = vec4(0.0); float totalStrength = 0.0; @@ -18,7 +20,7 @@ void main() { float totalSamples = 0.0; float progRadius = floor(Radius * Progress); for(float r = -progRadius; r <= progRadius; r += 1.0) { - vec4 sample = texture2D(DiffuseSampler, texCoord + oneTexel * r * BlurDir); + vec4 sample = texture(DiffuseSampler, texCoord + oneTexel * r * BlurDir); // Accumulate average alpha totalAlpha = totalAlpha + sample.a; @@ -29,5 +31,5 @@ void main() { totalStrength = totalStrength + strength; blurred = blurred + sample; } - gl_FragColor = vec4(blurred.rgb / (progRadius * 2.0 + 1.0), totalAlpha); + fragColor = vec4(blurred.rgb / (progRadius * 2.0 + 1.0), totalAlpha); } diff --git a/src/main/resources/assets/blur/shaders/program/fade_in_blur.json b/src/main/resources/assets/blur/shaders/program/fade_in_blur.json index fed0e2b..77b59aa 100644 --- a/src/main/resources/assets/blur/shaders/program/fade_in_blur.json +++ b/src/main/resources/assets/blur/shaders/program/fade_in_blur.json @@ -1,8 +1,8 @@ { "blend": { "func": "add", - "srcrgb": "one", - "dstrgb": "zero" + "srcrgb": "srcalpha", + "dstrgb": "1-srcalpha" }, "vertex": "sobel", "fragment": "blur:fade_in_blur", From b77190c602115f30a4c1154fb8f4c75ba1bd983b Mon Sep 17 00:00:00 2001 From: Motschen Date: Mon, 21 Jun 2021 18:24:25 +0200 Subject: [PATCH 29/62] Blur 2.2.1 - 1.17 Update to MidnightConfig v1.0.4 --- gradle.properties | 2 +- src/main/java/com/tterrag/blur/Blur.java | 3 +- .../com/tterrag/blur/config/BlurConfig.java | 9 +- .../tterrag/blur/config/MidnightConfig.java | 293 ------------- .../blur/config/ModMenuIntegration.java | 2 +- .../lib/config/MidnightConfig.java | 390 ++++++++++++++++++ .../resources/assets/blur/lang/en_us.json | 1 + 7 files changed, 399 insertions(+), 301 deletions(-) delete mode 100644 src/main/java/com/tterrag/blur/config/MidnightConfig.java create mode 100755 src/main/java/eu/midnightdust/lib/config/MidnightConfig.java diff --git a/gradle.properties b/gradle.properties index 493ba1f..eb5e210 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.11.3 # Mod Properties - mod_version = 2.1.0-1.17-pre3+fabric + mod_version = 2.2.1-1.17+fabric maven_group = com.tterrag.blur archives_base_name = Blur diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index bf36d93..f76e644 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,7 +1,6 @@ package com.tterrag.blur; import com.tterrag.blur.config.BlurConfig; -import com.tterrag.blur.config.MidnightConfig; import ladysnake.satin.api.event.ShaderEffectRenderCallback; import ladysnake.satin.api.managed.ManagedShaderEffect; import ladysnake.satin.api.managed.ShaderEffectManager; @@ -27,7 +26,7 @@ public class Blur implements ClientModInitializer { @Override public void onInitializeClient() { - MidnightConfig.init("blur", BlurConfig.class); + BlurConfig.init("blur", BlurConfig.class); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { if (start > 0) { diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index c52fb6f..fe3bc88 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -1,16 +1,17 @@ package com.tterrag.blur.config; +import eu.midnightdust.lib.config.MidnightConfig; import net.minecraft.client.gui.screen.ChatScreen; public class BlurConfig extends MidnightConfig { @Entry public static String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; - @Entry(min = 0, max = 5000) + @Entry(min = 0, max = 5000, width = 4) public static int fadeTimeMillis = 200; - @Entry(min = 0, max = 500) + @Entry(min = 0, max = 500, width = 3) public static int radius = 8; - @Entry(min = 0, max = 99999999) + @Entry(min = 0, max = 99999999, width = 8) public static int gradientStartColor = 75000000; - @Entry(min = 0, max = 99999999) + @Entry(min = 0, max = 99999999, width = 8) public static int gradientEndColor = 75000000; } diff --git a/src/main/java/com/tterrag/blur/config/MidnightConfig.java b/src/main/java/com/tterrag/blur/config/MidnightConfig.java deleted file mode 100644 index 7ac4b6e..0000000 --- a/src/main/java/com/tterrag/blur/config/MidnightConfig.java +++ /dev/null @@ -1,293 +0,0 @@ -package com.tterrag.blur.config; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.tterrag.blur.Blur; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ScreenTexts; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.gui.widget.TextFieldWidget; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.text.*; -import net.minecraft.util.Formatting; - -import java.lang.annotation.*; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.*; -import java.util.function.BiFunction; -import java.util.function.Function; -import java.util.function.Predicate; -import java.util.regex.Pattern; - -// MidnightConfig v0.1.0 - Modified for Blur // - -/* Based on https://github.com/Minenash/TinyConfig - Credits to Minenash - CC0-1.0 - You can copy this class to get a standalone version of MidnightConfig */ - -@SuppressWarnings("rawtypes") -public class MidnightConfig { - - private static final Pattern INTEGER_ONLY = Pattern.compile("(-?[0-9]*)"); - private static final Pattern DECIMAL_ONLY = Pattern.compile("-?([\\d]+\\.?[\\d]*|[\\d]*\\.?[\\d]+|\\.)"); - - private static final List entries = new ArrayList<>(); - - protected static class EntryInfo { - Field field; - Object widget; - int width; - Method dynamicTooltip; - Map.Entry error; - Object defaultValue; - Object value; - String tempValue; - boolean inLimits = true; - } - - private static Class configClass; - private static String translationPrefix; - private static Path path; - - private static final Gson gson = new GsonBuilder() - .excludeFieldsWithModifiers(Modifier.TRANSIENT) - .excludeFieldsWithModifiers(Modifier.PRIVATE) - .setPrettyPrinting() - .create(); - - public static void init(String modid, Class config) { - translationPrefix = modid + ".midnightconfig."; - path = FabricLoader.getInstance().getConfigDir().resolve(modid + ".json"); - configClass = config; - - for (Field field : config.getFields()) { - Class type = field.getType(); - EntryInfo info = new EntryInfo(); - - Entry e; - try { e = field.getAnnotation(Entry.class); } - catch (Exception ignored) { continue; } - - info.width = e.width(); - info.field = field; - - if (type == int.class) textField(info, Integer::parseInt, INTEGER_ONLY, e.min(), e.max(), true); - else if (type == double.class) textField(info, Double::parseDouble, DECIMAL_ONLY, e.min(), e.max(),false); - else if (type == String.class) textField(info, String::length, null, Math.min(e.min(),0), Math.max(e.max(),1),true); - else if (type == boolean.class) { - Function func = value -> new LiteralText((Boolean) value ? "True" : "False").formatted((Boolean) value ? Formatting.GREEN : Formatting.RED); - info.widget = new AbstractMap.SimpleEntry>(button -> { - info.value = !(Boolean) info.value; - button.setMessage(func.apply(info.value)); - }, func); - } - else if (type.isEnum()) { - List values = Arrays.asList(field.getType().getEnumConstants()); - Function func = value -> new TranslatableText(translationPrefix + "enum." + type.getSimpleName() + "." + info.value.toString()); - info.widget = new AbstractMap.SimpleEntry>( button -> { - int index = values.indexOf(info.value) + 1; - info.value = values.get(index >= values.size()? 0 : index); - button.setMessage(func.apply(info.value)); - }, func); - } - else - continue; - - entries.add(info); - - try { info.defaultValue = field.get(null); } - catch (IllegalAccessException ignored) {} - - try { - info.dynamicTooltip = config.getMethod(e.dynamicTooltip()); - info.dynamicTooltip.setAccessible(true); - } catch (Exception ignored) {} - - } - - try { gson.fromJson(Files.newBufferedReader(path), config); } - catch (Exception e) { write(); } - - for (EntryInfo info : entries) { - try { - info.value = info.field.get(null); - info.tempValue = info.value.toString(); - } - catch (IllegalAccessException ignored) {} - } - - } - - private static void textField(EntryInfo info, Function f, Pattern pattern, double min, double max, boolean cast) { - boolean isNumber = pattern != null; - info.widget = (BiFunction>) (t, b) -> s -> { - s = s.trim(); - if (!(s.isEmpty() || !isNumber || pattern.matcher(s).matches())) - return false; - - Number value = 0; - boolean inLimits = false; - System.out.println(((isNumber ^ s.isEmpty()))); - System.out.println(!s.equals("-") && !s.equals(".")); - info.error = null; - if (!(isNumber && s.isEmpty()) && !s.equals("-") && !s.equals(".") && Double.parseDouble(s) < 999999999) { - value = f.apply(s); - inLimits = value.doubleValue() >= min && value.doubleValue() <= max; - info.error = inLimits? null : new AbstractMap.SimpleEntry<>(t, new LiteralText(value.doubleValue() < min ? - "§cMinimum " + (isNumber? "value" : "length") + (cast? " is " + (int)min : " is " + min) : - "§cMaximum " + (isNumber? "value" : "length") + (cast? " is " + (int)max : " is " + max))); - } - - info.tempValue = s; - t.setEditableColor(inLimits? 0xFFFFFFFF : 0xFFFF7777); - info.inLimits = inLimits; - b.active = entries.stream().allMatch(e -> e.inLimits); - - if (inLimits) - info.value = isNumber? value : s; - - return true; - }; - } - - public static void write() { - try { - if (!Files.exists(path)) Files.createFile(path); - Files.write(path, gson.toJson(configClass.getConstructor().newInstance()).getBytes()); - } catch (Exception e) { - e.printStackTrace(); - } - - } - - public Screen getScreen(Screen parent) { - return new TinyConfigScreen(parent); - } - - private static class TinyConfigScreen extends Screen { - protected TinyConfigScreen(Screen parent) { - super(new TranslatableText(MidnightConfig.translationPrefix + "title")); - this.parent = parent; - } - private final Screen parent; - - // Real Time config update // - @Override - public void tick() { - for (EntryInfo info : entries) - try { info.field.set(null, info.value); } - catch (IllegalAccessException ignore) {} - Blur.INSTANCE.onScreenChange(this); - } - - @Override - protected void init() { - super.init(); - this.addDrawableChild(new ButtonWidget(this.width / 2 - 154, this.height - 28, 150, 20, ScreenTexts.CANCEL, button -> { - try { gson.fromJson(Files.newBufferedReader(path), configClass); } - catch (Exception e) { write(); } - - for (EntryInfo info : entries) { - try { - info.value = info.field.get(null); - info.tempValue = info.value.toString(); - } - catch (IllegalAccessException ignored) {} - } - Objects.requireNonNull(client).openScreen(parent); - })); - - ButtonWidget done = this.addDrawableChild(new ButtonWidget(this.width / 2 + 4, this.height - 28, 150, 20, ScreenTexts.DONE, (button) -> { - for (EntryInfo info : entries) - try { info.field.set(null, info.value); } - catch (IllegalAccessException ignore) {} - write(); - Objects.requireNonNull(client).openScreen(parent); - })); - - int y = 45; - for (EntryInfo info : entries) { - addDrawableChild(new ButtonWidget(width - 155, y, 40,20, new LiteralText("Reset").formatted(Formatting.RED), (button -> { - info.value = info.defaultValue; - info.tempValue = info.value.toString(); - Objects.requireNonNull(client).openScreen(this); - }))); - - if (info.widget instanceof Map.Entry) { - Map.Entry> widget = (Map.Entry>) info.widget; - addDrawableChild(new ButtonWidget(width-110,y,info.width,20, widget.getValue().apply(info.value), widget.getKey())); - } - else { - TextFieldWidget widget = addDrawableChild(new TextFieldWidget(textRenderer, width-110, y, info.width, 20, null)); - widget.setText(info.tempValue); - - Predicate processor = ((BiFunction>) info.widget).apply(widget,done); - - widget.setTextPredicate(processor); - - this.addSelectableChild(widget); - } - y += 25; - } - - } - int aniX = this.width / 2; - @Override - public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { - this.renderBackground(matrices); - - if (aniX < this.width / 2) { - aniX = aniX +40; - } - - int stringWidth = (int) (title.getString().length() * 2.75f); - this.fillGradient(matrices, this.width / 2 - stringWidth, 10, this.width /2 + stringWidth, 29, -1072689136, -804253680); - if (client.world == null) { - this.fillGradient(matrices, this.width / 2 - aniX, 35, width / 2 + aniX, this.height - 40, -1072689136, -804253680); - } - - super.render(matrices, mouseX, mouseY, delta); - drawCenteredText(matrices, textRenderer, title, width/2, 15, 0xFFFFFF); - - int y = 40; - for (EntryInfo info : entries) { - drawTextWithShadow(matrices, textRenderer, new TranslatableText(translationPrefix + info.field.getName()), 12, y + 10, 0xFFFFFF); - - if (info.error != null && info.error.getKey().isMouseOver(mouseX,mouseY)) - renderTooltip(matrices, info.error.getValue(), mouseX, mouseY); - else if (mouseY >= y && mouseY < (y + 25)) { - if (info.dynamicTooltip != null) { - try { - renderTooltip(matrices, (List) info.dynamicTooltip.invoke(null, entries), mouseX, mouseY); - y += 25; - continue; - } catch (Exception e) { e.printStackTrace(); } - } - String key = translationPrefix + info.field.getName() + ".tooltip"; - if (I18n.hasTranslation(key)) { - List list = new ArrayList<>(); - for (String str : I18n.translate(key).split("\n")) - list.add(new LiteralText(str)); - renderTooltip(matrices, list, mouseX, mouseY); - } - } - y += 25; - } - } - } - - @Retention(RetentionPolicy.RUNTIME) - @Target(ElementType.FIELD) - public @interface Entry { - String dynamicTooltip() default ""; - int width() default 100; - double min() default Double.MIN_NORMAL; - double max() default Double.MAX_VALUE; - } -} \ No newline at end of file diff --git a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java index 007c4b8..31487d3 100644 --- a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java +++ b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java @@ -10,6 +10,6 @@ public class ModMenuIntegration implements ModMenuApi { @Override public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> new BlurConfig().getScreen(parent); + return parent -> BlurConfig.getScreen(parent,"blur"); } } diff --git a/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java b/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java new file mode 100755 index 0000000..ba25cf4 --- /dev/null +++ b/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java @@ -0,0 +1,390 @@ +package eu.midnightdust.lib.config; + +import com.google.gson.ExclusionStrategy; +import com.google.gson.FieldAttributes; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawableHelper; +import net.minecraft.client.gui.Element; +import net.minecraft.client.gui.Selectable; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ScreenTexts; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.gui.widget.ClickableWidget; +import net.minecraft.client.gui.widget.ElementListWidget; +import net.minecraft.client.gui.widget.TextFieldWidget; +import net.minecraft.client.resource.language.I18n; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; +import net.minecraft.util.Formatting; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.*; +import java.util.function.BiFunction; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.regex.Pattern; + +// MidnightConfig v1.0.4 +// Single class config library - feel free to copy! +// Changelog: +// - 1.0.4: +// - Number field length is now configurable +// - Fixed number fields being empty +// - 1.0.3: +// - Text field length is now configurable +// - Better separation of client and server +// - 1.0.2: +// - Update to 21w20a +// - 1.0.1: +// - Fixed buttons not working in fullscreen +// - 1.0.0: +// - The config screen no longer shows the entries of all instances of MidnightConfig +// - Compatible with servers! +// - Scrollable! +// - Comment support! +// - Fresh New Design + +/** Based on https://github.com/Minenash/TinyConfig + * Credits to Minenash */ + +@SuppressWarnings("unchecked") +public class MidnightConfig { + public static boolean useTooltipForTitle = true; // Render title as tooltip or as simple text + + private static final Pattern INTEGER_ONLY = Pattern.compile("(-?[0-9]*)"); + private static final Pattern DECIMAL_ONLY = Pattern.compile("-?([\\d]+\\.?[\\d]*|[\\d]*\\.?[\\d]+|\\.)"); + + private static final List entries = new ArrayList<>(); + + protected static class EntryInfo { + Field field; + Object widget; + int width; + int max; + Map.Entry error; + Object defaultValue; + Object value; + String tempValue; + boolean inLimits = true; + String id; + } + + public static final Map> configClass = new HashMap<>(); + private static Path path; + + private static final Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).excludeFieldsWithModifiers(Modifier.PRIVATE).addSerializationExclusionStrategy(new HiddenAnnotationExclusionStrategy()).setPrettyPrinting().create(); + + public static void init(String modid, Class config) { + path = FabricLoader.getInstance().getConfigDir().resolve(modid + ".json"); + configClass.put(modid, config); + + for (Field field : config.getFields()) { + EntryInfo info = new EntryInfo(); + if (field.isAnnotationPresent(Entry.class) || field.isAnnotationPresent(Comment.class)) + if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) initClient(modid, field, info); + if (field.isAnnotationPresent(Entry.class)) + try { + info.defaultValue = field.get(null); + } catch (IllegalAccessException ignored) {} + } + try { gson.fromJson(Files.newBufferedReader(path), config); } + catch (Exception e) { write(modid); } + + for (EntryInfo info : entries) { + if (info.field.isAnnotationPresent(Entry.class)) + try { + info.value = info.field.get(null); + info.tempValue = info.value.toString(); + } catch (IllegalAccessException ignored) { + } + } + } + @Environment(EnvType.CLIENT) + private static void initClient(String modid, Field field, EntryInfo info) { + Class type = field.getType(); + Entry e = field.getAnnotation(Entry.class); + info.width = e != null ? e.width() : 0; + info.field = field; + info.id = modid; + + if (e != null) { + if (type == int.class) textField(info, Integer::parseInt, INTEGER_ONLY, e.min(), e.max(), true); + else if (type == double.class) textField(info, Double::parseDouble, DECIMAL_ONLY, e.min(), e.max(), false); + else if (type == String.class) { + info.max = e.max() == Double.MAX_VALUE ? Integer.MAX_VALUE : (int) e.max(); + textField(info, String::length, null, Math.min(e.min(), 0), Math.max(e.max(), 1), true); + } else if (type == boolean.class) { + Function func = value -> new LiteralText((Boolean) value ? "True" : "False").formatted((Boolean) value ? Formatting.GREEN : Formatting.RED); + info.widget = new AbstractMap.SimpleEntry>(button -> { + info.value = !(Boolean) info.value; + button.setMessage(func.apply(info.value)); + }, func); + } else if (type.isEnum()) { + List values = Arrays.asList(field.getType().getEnumConstants()); + Function func = value -> new TranslatableText(modid + ".midnightconfig." + "enum." + type.getSimpleName() + "." + info.value.toString()); + info.widget = new AbstractMap.SimpleEntry>(button -> { + int index = values.indexOf(info.value) + 1; + info.value = values.get(index >= values.size() ? 0 : index); + button.setMessage(func.apply(info.value)); + }, func); + } + } + entries.add(info); + } + + private static void textField(EntryInfo info, Function f, Pattern pattern, double min, double max, boolean cast) { + boolean isNumber = pattern != null; + info.widget = (BiFunction>) (t, b) -> s -> { + s = s.trim(); + if (!(s.isEmpty() || !isNumber || pattern.matcher(s).matches())) return false; + + Number value = 0; + boolean inLimits = false; + System.out.println(((isNumber ^ s.isEmpty()))); + System.out.println(!s.equals("-") && !s.equals(".")); + info.error = null; + if (!(isNumber && s.isEmpty()) && !s.equals("-") && !s.equals(".")) { + value = f.apply(s); + inLimits = value.doubleValue() >= min && value.doubleValue() <= max; + info.error = inLimits? null : new AbstractMap.SimpleEntry<>(t, new LiteralText(value.doubleValue() < min ? + "§cMinimum " + (isNumber? "value" : "length") + (cast? " is " + (int)min : " is " + min) : + "§cMaximum " + (isNumber? "value" : "length") + (cast? " is " + (int)max : " is " + max))); + } + + info.tempValue = s; + t.setEditableColor(inLimits? 0xFFFFFFFF : 0xFFFF7777); + info.inLimits = inLimits; + b.active = entries.stream().allMatch(e -> e.inLimits); + + if (inLimits) + info.value = isNumber? value : s; + + return true; + }; + } + + public static void write(String modid) { + path = FabricLoader.getInstance().getConfigDir().resolve(modid + ".json"); + try { + if (!Files.exists(path)) Files.createFile(path); + Files.write(path, gson.toJson(configClass.get(modid).getDeclaredConstructor().newInstance()).getBytes()); + } catch (Exception e) { + e.printStackTrace(); + } + } + @Environment(EnvType.CLIENT) + public static Screen getScreen(Screen parent, String modid) { + return new MidnightConfigScreen(parent, modid); + } + @Environment(EnvType.CLIENT) + private static class MidnightConfigScreen extends Screen { + + protected MidnightConfigScreen(Screen parent, String modid) { + super(new TranslatableText(modid + ".midnightconfig." + "title")); + this.parent = parent; + this.modid = modid; + this.translationPrefix = modid + ".midnightconfig."; + } + private final String translationPrefix; + private final Screen parent; + private final String modid; + private MidnightConfigListWidget list; + + // Real Time config update // + @Override + public void tick() { + for (EntryInfo info : entries) + try { info.field.set(null, info.value); } + catch (IllegalAccessException ignored) {} + } + + @Override + protected void init() { + super.init(); + + this.addDrawableChild(new ButtonWidget(this.width / 2 - 154, this.height - 28, 150, 20, ScreenTexts.CANCEL, button -> { + try { gson.fromJson(Files.newBufferedReader(path), configClass.get(modid)); } + catch (Exception e) { write(modid); } + + for (EntryInfo info : entries) { + if (info.field.isAnnotationPresent(Entry.class)) { + try { + info.value = info.field.get(null); + info.tempValue = info.value.toString(); + } catch (IllegalAccessException ignored) { + } + } + } + Objects.requireNonNull(client).openScreen(parent); + })); + + ButtonWidget done = this.addDrawableChild(new ButtonWidget(this.width / 2 + 4, this.height - 28, 150, 20, ScreenTexts.DONE, (button) -> { + for (EntryInfo info : entries) + if (info.id.equals(modid)) { + try { + info.field.set(null, info.value); + } catch (IllegalAccessException ignored) {} + } + write(modid); + Objects.requireNonNull(client).openScreen(parent); + })); + + this.list = new MidnightConfigListWidget(this.client, this.width, this.height, 32, this.height - 32, 25); + this.addSelectableChild(this.list); + for (EntryInfo info : entries) { + if (info.id.equals(modid)) { + TranslatableText name = new TranslatableText(translationPrefix + info.field.getName()); + ButtonWidget resetButton = new ButtonWidget(width - 155, 0, 40, 20, new LiteralText("Reset").formatted(Formatting.RED), (button -> { + info.value = info.defaultValue; + info.tempValue = info.value.toString(); + double scrollAmount = list.getScrollAmount(); + Objects.requireNonNull(client).openScreen(this); + list.setScrollAmount(scrollAmount); + })); + + if (info.widget instanceof Map.Entry) { + Map.Entry> widget = (Map.Entry>) info.widget; + if (info.field.getType().isEnum()) widget.setValue(value -> new TranslatableText(translationPrefix + "enum." + info.field.getType().getSimpleName() + "." + info.value.toString())); + this.list.addButton(new ButtonWidget(width - 110, 0,100, 20, widget.getValue().apply(info.value), widget.getKey()),resetButton,name); + } else if (info.widget != null) { + TextFieldWidget widget = new TextFieldWidget(textRenderer, width - 110, 0, 100, 20, null); + widget.setMaxLength(info.width); + widget.setText(info.tempValue); + Predicate processor = ((BiFunction>) info.widget).apply(widget, done); + widget.setTextPredicate(processor); + this.list.addButton(widget, resetButton, name); + } else { + ButtonWidget dummy = new ButtonWidget(-10, 0, 0, 0, Text.of(""), null); + this.list.addButton(dummy,dummy,name); + } + } + } + + } + @Override + public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { + this.renderBackground(matrices); + this.list.render(matrices, mouseX, mouseY, delta); + + int stringWidth = (int) (title.getString().length() * 2.75f); + if (useTooltipForTitle) renderTooltip(matrices, title, width/2 - stringWidth, 27); + else drawCenteredText(matrices, textRenderer, title, width / 2, 15, 0xFFFFFF); + + for (EntryInfo info : entries) { + if (info.id.equals(modid)) { + if (list.getHoveredButton(mouseX,mouseY).isPresent()) { + ClickableWidget buttonWidget = list.getHoveredButton(mouseX,mouseY).get(); + Text text = ButtonEntry.buttonsWithText.get(buttonWidget); + TranslatableText name = new TranslatableText(this.translationPrefix + info.field.getName()); + String key = translationPrefix + info.field.getName() + ".tooltip"; + + if (info.error != null && text.equals(name)) renderTooltip(matrices, info.error.getValue(), mouseX, mouseY); + else if (I18n.hasTranslation(key) && text.equals(name)) { + List list = new ArrayList<>(); + for (String str : I18n.translate(key).split("\n")) + list.add(new LiteralText(str)); + renderTooltip(matrices, list, mouseX, mouseY); + } + } + } + } + super.render(matrices,mouseX,mouseY,delta); + } + } + @Environment(EnvType.CLIENT) + public static class MidnightConfigListWidget extends ElementListWidget { + TextRenderer textRenderer; + + public MidnightConfigListWidget(MinecraftClient minecraftClient, int i, int j, int k, int l, int m) { + super(minecraftClient, i, j, k, l, m); + this.centerListVertically = false; + textRenderer = minecraftClient.textRenderer; + } + @Override + public int getScrollbarPositionX() { return this.width -7; } + + public void addButton(ClickableWidget button, ClickableWidget resetButton, Text text) { + this.addEntry(ButtonEntry.create(button, text, resetButton)); + } + @Override + public int getRowWidth() { return 10000; } + public Optional getHoveredButton(double mouseX, double mouseY) { + for (ButtonEntry buttonEntry : this.children()) { + for (ClickableWidget ClickableWidget : buttonEntry.buttons) { + if (ClickableWidget.isMouseOver(mouseX, mouseY)) { + return Optional.of(ClickableWidget); + } + } + } + return Optional.empty(); + } + } + public static class ButtonEntry extends ElementListWidget.Entry { + private static final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; + private final List buttons = new ArrayList<>(); + private final List resetButtons = new ArrayList<>(); + private final List texts = new ArrayList<>(); + private final List buttonsWithResetButtons = new ArrayList<>(); + public static final Map buttonsWithText = new HashMap<>(); + + private ButtonEntry(ClickableWidget button, Text text, ClickableWidget resetButton) { + buttonsWithText.put(button,text); + this.buttons.add(button); + this.resetButtons.add(resetButton); + this.texts.add(text); + this.buttonsWithResetButtons.add(button); + this.buttonsWithResetButtons.add(resetButton); + } + public static ButtonEntry create(ClickableWidget button, Text text, ClickableWidget resetButton) { + return new ButtonEntry(button, text, resetButton); + } + public void render(MatrixStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) { + this.buttons.forEach(button -> { + button.y = y; + button.render(matrices, mouseX, mouseY, tickDelta); + }); + this.texts.forEach(text -> DrawableHelper.drawTextWithShadow(matrices,textRenderer, text,12,y+5,0xFFFFFF)); + this.resetButtons.forEach((button) -> { + button.y = y; + button.render(matrices, mouseX, mouseY, tickDelta); + }); + } + public List children() { + return buttonsWithResetButtons; + } + + public List method_37025() { + return buttonsWithResetButtons; + } + } + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface Entry { + int width() default 100; + double min() default Double.MIN_NORMAL; + double max() default Double.MAX_VALUE; + } + @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Comment {} + + public static class HiddenAnnotationExclusionStrategy implements ExclusionStrategy { + public boolean shouldSkipClass(Class clazz) { return false; } + public boolean shouldSkipField(FieldAttributes fieldAttributes) { + return fieldAttributes.getAnnotation(Entry.class) == null; + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index 30eace1..9952c5a 100644 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -1,5 +1,6 @@ { "blur.midnightconfig.title": "Blur Config", + "blur.midnightconfig.blurExclusions": "Blur Exclusions are currently not configurable in-game!", "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStartColor": "Gradient Start Color", From 6667f7564ffff434582b156a3a9edc90c7d4e052 Mon Sep 17 00:00:00 2001 From: backryun Date: Thu, 19 Aug 2021 14:12:11 +0900 Subject: [PATCH 30/62] update minecraft version and gradle --- gradle.properties | 12 ++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gradle.properties b/gradle.properties index eb5e210..94c9760 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.17-pre3 - yarn_mappings=1.17-pre3+build.2 - loader_version=0.11.3 + minecraft_version=1.17 + yarn_mappings=1.17+build.13 + loader_version=0.11.6 # Mod Properties mod_version = 2.2.1-1.17+fabric @@ -14,6 +14,6 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version = 0.34.8+1.17 - modmenu_version = 2.0.0-beta.7 - satin_version = 1.6.0-nightly.1.17-pre3 + fabric_version = 0.38.0+1.17 + modmenu_version = 2.0.4 + satin_version = 1.6.4 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e5338d3..ffed3a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 9feb8a42bd87cc3be205459c2109a03990dd2d43 Mon Sep 17 00:00:00 2001 From: Maneschy <77683876+maneschy-d@users.noreply.github.com> Date: Tue, 31 Aug 2021 14:53:51 -0300 Subject: [PATCH 31/62] add pt_br.json --- src/main/resources/assets/blur/lang/pt_br.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/main/resources/assets/blur/lang/pt_br.json diff --git a/src/main/resources/assets/blur/lang/pt_br.json b/src/main/resources/assets/blur/lang/pt_br.json new file mode 100644 index 0000000..ac096a0 --- /dev/null +++ b/src/main/resources/assets/blur/lang/pt_br.json @@ -0,0 +1,8 @@ +{ + "blur.midnightconfig.title": "Definições de desfoque", + "blur.midnightconfig.blurExclusions": "Exclusões de desfoque não são configuráveis em jogo no momento.", + "blur.midnightconfig.fadeTimeMillis": "Esmaecimento (em milissegundos)", + "blur.midnightconfig.radius": "Raio", + "blur.midnightconfig.gradientStartColor": "Cor de início do gradiente", + "blur.midnightconfig.gradientEndColor": "Cor de término do gradiente" +} From 3800b44eb36c3e335052e1ba55d3a2fff7a240fb Mon Sep 17 00:00:00 2001 From: Felix14-v2 <75726196+Felix14-v2@users.noreply.github.com> Date: Mon, 20 Sep 2021 22:10:34 +0300 Subject: [PATCH 32/62] Add files via upload --- src/main/resources/assets/blur/lang/ru_ru.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/main/resources/assets/blur/lang/ru_ru.json diff --git a/src/main/resources/assets/blur/lang/ru_ru.json b/src/main/resources/assets/blur/lang/ru_ru.json new file mode 100644 index 0000000..fce37fb --- /dev/null +++ b/src/main/resources/assets/blur/lang/ru_ru.json @@ -0,0 +1,8 @@ +{ + "blur.midnightconfig.title": "Настройки Blur", + "blur.midnightconfig.blurExclusions": "В настоящее время исключения для размытия не настраиваются в игре.", + "blur.midnightconfig.fadeTimeMillis": "Время размытия (в милисекундах)", + "blur.midnightconfig.radius": "Радиус размытия", + "blur.midnightconfig.gradientStartColor": "Верхний цвет градиента", + "blur.midnightconfig.gradientEndColor": "Нижний цвет градиента" +} From 0eb076fb40cbf556591db84bac85380251f285b4 Mon Sep 17 00:00:00 2001 From: Motschen Date: Fri, 24 Sep 2021 18:34:00 +0200 Subject: [PATCH 33/62] Blur 2.3.0 - Update to MidnightLib v0.2.5 Add live config preview Russian translations by @Felix14-v2 Brazilian translations by @Percario --- build.gradle | 12 ++++------- gradle.properties | 12 +++++------ local_maven/midnightlib-0.2.5.jar | Bin 0 -> 102114 bytes .../blur/mixin/MixinMinecraftClient.java | 4 +--- .../com/tterrag/blur/mixin/MixinScreen.java | 20 +++++++++++++++++- .../resources/assets/blur/lang/en_us.json | 2 +- src/main/resources/fabric.mod.json | 3 --- 7 files changed, 31 insertions(+), 22 deletions(-) mode change 100644 => 100755 build.gradle mode change 100644 => 100755 gradle.properties create mode 100755 local_maven/midnightlib-0.2.5.jar mode change 100644 => 100755 src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java mode change 100644 => 100755 src/main/java/com/tterrag/blur/mixin/MixinScreen.java mode change 100644 => 100755 src/main/resources/assets/blur/lang/en_us.json mode change 100644 => 100755 src/main/resources/fabric.mod.json diff --git a/build.gradle b/build.gradle old mode 100644 new mode 100755 index 27a2544..36ea0a3 --- a/build.gradle +++ b/build.gradle @@ -19,11 +19,8 @@ repositories { includeGroupByRegex 'io\\.github\\.onyxstudios.*' } } - maven { - url = 'https://maven.terraformersmc.com/releases' - content { - includeGroup 'com.terraformersmc' - } + flatDir { + dirs 'local_maven' } } @@ -35,10 +32,9 @@ dependencies { modImplementation "io.github.ladysnake:satin:${satin_version}" include "io.github.ladysnake:satin:${satin_version}" - modCompileOnly "com.terraformersmc:modmenu:${project.modmenu_version}" - modRuntime "com.terraformersmc:modmenu:${project.modmenu_version}" - implementation 'com.google.code.findbugs:jsr305:3.0.2' + modImplementation "eu.midnightdust:midnightlib:${midnightlib_version}" + include "eu.midnightdust:midnightlib:${midnightlib_version}" } processResources { diff --git a/gradle.properties b/gradle.properties old mode 100644 new mode 100755 index 94c9760..6c41181 --- a/gradle.properties +++ b/gradle.properties @@ -3,17 +3,17 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.17 - yarn_mappings=1.17+build.13 - loader_version=0.11.6 + minecraft_version=1.17.1 + yarn_mappings=1.17.1+build.61 + loader_version=0.11.7 # Mod Properties - mod_version = 2.2.1-1.17+fabric + mod_version = 2.3.0-1.17+fabric maven_group = com.tterrag.blur archives_base_name = Blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version = 0.38.0+1.17 - modmenu_version = 2.0.4 + fabric_version=0.40.1+1.17 satin_version = 1.6.4 + midnightlib_version=0.2.5 diff --git a/local_maven/midnightlib-0.2.5.jar b/local_maven/midnightlib-0.2.5.jar new file mode 100755 index 0000000000000000000000000000000000000000..c18424c9563c363cf7aaede7c48d9a91b4722dce GIT binary patch literal 102114 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

V(=u<6ClClH{6Ajdnk5yIFP0# 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 GDE|k=0GEOQ literal 0 HcmV?d00001 diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java old mode 100644 new mode 100755 index 826285c..19f6e3f --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -4,19 +4,17 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.At.Shift; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.tterrag.blur.Blur; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.resource.ReloadableResourceManager; @Mixin(MinecraftClient.class) public class MixinMinecraftClient { - @Inject(method = "openScreen", + @Inject(method = "setScreen", at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", opcode = Opcodes.PUTFIELD)) diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java old mode 100644 new mode 100755 index 030f206..c54ef5c --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -1,15 +1,33 @@ package com.tterrag.blur.mixin; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.util.math.MatrixStack; +import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyConstant; import com.tterrag.blur.Blur; import net.minecraft.client.gui.screen.Screen; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.Locale; @Mixin(Screen.class) -public class MixinScreen { +public abstract class MixinScreen { + + @Shadow @Nullable protected MinecraftClient client; + + @Inject(at = @At("HEAD"), method = "render") + private void reloadShader(MatrixStack matrixStack, int i, int j, float f, CallbackInfo ci) { + if (this.getClass().toString().toLowerCase(Locale.ROOT).contains("midnight") && this.client != null) { + Blur.INSTANCE.onScreenChange(this.client.currentScreen); + } + } @ModifyConstant( method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json old mode 100644 new mode 100755 index 9952c5a..1b57741 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -1,6 +1,6 @@ { "blur.midnightconfig.title": "Blur Config", - "blur.midnightconfig.blurExclusions": "Blur Exclusions are currently not configurable in-game!", + "blur.midnightconfig.blurExclusions": "§cBlur Exclusions are currently not configurable in-game!", "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStartColor": "Gradient Start Color", diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json old mode 100644 new mode 100755 index 0b23269..829db8d --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -9,9 +9,6 @@ "entrypoints": { "client": [ "com.tterrag.blur.Blur::INSTANCE" - ], - "modmenu": [ - "com.tterrag.blur.config.ModMenuIntegration" ] }, "contact": { From 0ae5c7569db6ab3a3bf6dc59fa543640b4cbc5a3 Mon Sep 17 00:00:00 2001 From: Motschen Date: Sat, 25 Sep 2021 12:50:33 +0200 Subject: [PATCH 34/62] Remove loftover old MidnightConfig implementation --- .../lib/config/MidnightConfig.java | 390 ------------------ 1 file changed, 390 deletions(-) delete mode 100755 src/main/java/eu/midnightdust/lib/config/MidnightConfig.java diff --git a/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java b/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java deleted file mode 100755 index ba25cf4..0000000 --- a/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java +++ /dev/null @@ -1,390 +0,0 @@ -package eu.midnightdust.lib.config; - -import com.google.gson.ExclusionStrategy; -import com.google.gson.FieldAttributes; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.DrawableHelper; -import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.Selectable; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ScreenTexts; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.gui.widget.ClickableWidget; -import net.minecraft.client.gui.widget.ElementListWidget; -import net.minecraft.client.gui.widget.TextFieldWidget; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.text.LiteralText; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Formatting; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.*; -import java.util.function.BiFunction; -import java.util.function.Function; -import java.util.function.Predicate; -import java.util.regex.Pattern; - -// MidnightConfig v1.0.4 -// Single class config library - feel free to copy! -// Changelog: -// - 1.0.4: -// - Number field length is now configurable -// - Fixed number fields being empty -// - 1.0.3: -// - Text field length is now configurable -// - Better separation of client and server -// - 1.0.2: -// - Update to 21w20a -// - 1.0.1: -// - Fixed buttons not working in fullscreen -// - 1.0.0: -// - The config screen no longer shows the entries of all instances of MidnightConfig -// - Compatible with servers! -// - Scrollable! -// - Comment support! -// - Fresh New Design - -/** Based on https://github.com/Minenash/TinyConfig - * Credits to Minenash */ - -@SuppressWarnings("unchecked") -public class MidnightConfig { - public static boolean useTooltipForTitle = true; // Render title as tooltip or as simple text - - private static final Pattern INTEGER_ONLY = Pattern.compile("(-?[0-9]*)"); - private static final Pattern DECIMAL_ONLY = Pattern.compile("-?([\\d]+\\.?[\\d]*|[\\d]*\\.?[\\d]+|\\.)"); - - private static final List entries = new ArrayList<>(); - - protected static class EntryInfo { - Field field; - Object widget; - int width; - int max; - Map.Entry error; - Object defaultValue; - Object value; - String tempValue; - boolean inLimits = true; - String id; - } - - public static final Map> configClass = new HashMap<>(); - private static Path path; - - private static final Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).excludeFieldsWithModifiers(Modifier.PRIVATE).addSerializationExclusionStrategy(new HiddenAnnotationExclusionStrategy()).setPrettyPrinting().create(); - - public static void init(String modid, Class config) { - path = FabricLoader.getInstance().getConfigDir().resolve(modid + ".json"); - configClass.put(modid, config); - - for (Field field : config.getFields()) { - EntryInfo info = new EntryInfo(); - if (field.isAnnotationPresent(Entry.class) || field.isAnnotationPresent(Comment.class)) - if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) initClient(modid, field, info); - if (field.isAnnotationPresent(Entry.class)) - try { - info.defaultValue = field.get(null); - } catch (IllegalAccessException ignored) {} - } - try { gson.fromJson(Files.newBufferedReader(path), config); } - catch (Exception e) { write(modid); } - - for (EntryInfo info : entries) { - if (info.field.isAnnotationPresent(Entry.class)) - try { - info.value = info.field.get(null); - info.tempValue = info.value.toString(); - } catch (IllegalAccessException ignored) { - } - } - } - @Environment(EnvType.CLIENT) - private static void initClient(String modid, Field field, EntryInfo info) { - Class type = field.getType(); - Entry e = field.getAnnotation(Entry.class); - info.width = e != null ? e.width() : 0; - info.field = field; - info.id = modid; - - if (e != null) { - if (type == int.class) textField(info, Integer::parseInt, INTEGER_ONLY, e.min(), e.max(), true); - else if (type == double.class) textField(info, Double::parseDouble, DECIMAL_ONLY, e.min(), e.max(), false); - else if (type == String.class) { - info.max = e.max() == Double.MAX_VALUE ? Integer.MAX_VALUE : (int) e.max(); - textField(info, String::length, null, Math.min(e.min(), 0), Math.max(e.max(), 1), true); - } else if (type == boolean.class) { - Function func = value -> new LiteralText((Boolean) value ? "True" : "False").formatted((Boolean) value ? Formatting.GREEN : Formatting.RED); - info.widget = new AbstractMap.SimpleEntry>(button -> { - info.value = !(Boolean) info.value; - button.setMessage(func.apply(info.value)); - }, func); - } else if (type.isEnum()) { - List values = Arrays.asList(field.getType().getEnumConstants()); - Function func = value -> new TranslatableText(modid + ".midnightconfig." + "enum." + type.getSimpleName() + "." + info.value.toString()); - info.widget = new AbstractMap.SimpleEntry>(button -> { - int index = values.indexOf(info.value) + 1; - info.value = values.get(index >= values.size() ? 0 : index); - button.setMessage(func.apply(info.value)); - }, func); - } - } - entries.add(info); - } - - private static void textField(EntryInfo info, Function f, Pattern pattern, double min, double max, boolean cast) { - boolean isNumber = pattern != null; - info.widget = (BiFunction>) (t, b) -> s -> { - s = s.trim(); - if (!(s.isEmpty() || !isNumber || pattern.matcher(s).matches())) return false; - - Number value = 0; - boolean inLimits = false; - System.out.println(((isNumber ^ s.isEmpty()))); - System.out.println(!s.equals("-") && !s.equals(".")); - info.error = null; - if (!(isNumber && s.isEmpty()) && !s.equals("-") && !s.equals(".")) { - value = f.apply(s); - inLimits = value.doubleValue() >= min && value.doubleValue() <= max; - info.error = inLimits? null : new AbstractMap.SimpleEntry<>(t, new LiteralText(value.doubleValue() < min ? - "§cMinimum " + (isNumber? "value" : "length") + (cast? " is " + (int)min : " is " + min) : - "§cMaximum " + (isNumber? "value" : "length") + (cast? " is " + (int)max : " is " + max))); - } - - info.tempValue = s; - t.setEditableColor(inLimits? 0xFFFFFFFF : 0xFFFF7777); - info.inLimits = inLimits; - b.active = entries.stream().allMatch(e -> e.inLimits); - - if (inLimits) - info.value = isNumber? value : s; - - return true; - }; - } - - public static void write(String modid) { - path = FabricLoader.getInstance().getConfigDir().resolve(modid + ".json"); - try { - if (!Files.exists(path)) Files.createFile(path); - Files.write(path, gson.toJson(configClass.get(modid).getDeclaredConstructor().newInstance()).getBytes()); - } catch (Exception e) { - e.printStackTrace(); - } - } - @Environment(EnvType.CLIENT) - public static Screen getScreen(Screen parent, String modid) { - return new MidnightConfigScreen(parent, modid); - } - @Environment(EnvType.CLIENT) - private static class MidnightConfigScreen extends Screen { - - protected MidnightConfigScreen(Screen parent, String modid) { - super(new TranslatableText(modid + ".midnightconfig." + "title")); - this.parent = parent; - this.modid = modid; - this.translationPrefix = modid + ".midnightconfig."; - } - private final String translationPrefix; - private final Screen parent; - private final String modid; - private MidnightConfigListWidget list; - - // Real Time config update // - @Override - public void tick() { - for (EntryInfo info : entries) - try { info.field.set(null, info.value); } - catch (IllegalAccessException ignored) {} - } - - @Override - protected void init() { - super.init(); - - this.addDrawableChild(new ButtonWidget(this.width / 2 - 154, this.height - 28, 150, 20, ScreenTexts.CANCEL, button -> { - try { gson.fromJson(Files.newBufferedReader(path), configClass.get(modid)); } - catch (Exception e) { write(modid); } - - for (EntryInfo info : entries) { - if (info.field.isAnnotationPresent(Entry.class)) { - try { - info.value = info.field.get(null); - info.tempValue = info.value.toString(); - } catch (IllegalAccessException ignored) { - } - } - } - Objects.requireNonNull(client).openScreen(parent); - })); - - ButtonWidget done = this.addDrawableChild(new ButtonWidget(this.width / 2 + 4, this.height - 28, 150, 20, ScreenTexts.DONE, (button) -> { - for (EntryInfo info : entries) - if (info.id.equals(modid)) { - try { - info.field.set(null, info.value); - } catch (IllegalAccessException ignored) {} - } - write(modid); - Objects.requireNonNull(client).openScreen(parent); - })); - - this.list = new MidnightConfigListWidget(this.client, this.width, this.height, 32, this.height - 32, 25); - this.addSelectableChild(this.list); - for (EntryInfo info : entries) { - if (info.id.equals(modid)) { - TranslatableText name = new TranslatableText(translationPrefix + info.field.getName()); - ButtonWidget resetButton = new ButtonWidget(width - 155, 0, 40, 20, new LiteralText("Reset").formatted(Formatting.RED), (button -> { - info.value = info.defaultValue; - info.tempValue = info.value.toString(); - double scrollAmount = list.getScrollAmount(); - Objects.requireNonNull(client).openScreen(this); - list.setScrollAmount(scrollAmount); - })); - - if (info.widget instanceof Map.Entry) { - Map.Entry> widget = (Map.Entry>) info.widget; - if (info.field.getType().isEnum()) widget.setValue(value -> new TranslatableText(translationPrefix + "enum." + info.field.getType().getSimpleName() + "." + info.value.toString())); - this.list.addButton(new ButtonWidget(width - 110, 0,100, 20, widget.getValue().apply(info.value), widget.getKey()),resetButton,name); - } else if (info.widget != null) { - TextFieldWidget widget = new TextFieldWidget(textRenderer, width - 110, 0, 100, 20, null); - widget.setMaxLength(info.width); - widget.setText(info.tempValue); - Predicate processor = ((BiFunction>) info.widget).apply(widget, done); - widget.setTextPredicate(processor); - this.list.addButton(widget, resetButton, name); - } else { - ButtonWidget dummy = new ButtonWidget(-10, 0, 0, 0, Text.of(""), null); - this.list.addButton(dummy,dummy,name); - } - } - } - - } - @Override - public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { - this.renderBackground(matrices); - this.list.render(matrices, mouseX, mouseY, delta); - - int stringWidth = (int) (title.getString().length() * 2.75f); - if (useTooltipForTitle) renderTooltip(matrices, title, width/2 - stringWidth, 27); - else drawCenteredText(matrices, textRenderer, title, width / 2, 15, 0xFFFFFF); - - for (EntryInfo info : entries) { - if (info.id.equals(modid)) { - if (list.getHoveredButton(mouseX,mouseY).isPresent()) { - ClickableWidget buttonWidget = list.getHoveredButton(mouseX,mouseY).get(); - Text text = ButtonEntry.buttonsWithText.get(buttonWidget); - TranslatableText name = new TranslatableText(this.translationPrefix + info.field.getName()); - String key = translationPrefix + info.field.getName() + ".tooltip"; - - if (info.error != null && text.equals(name)) renderTooltip(matrices, info.error.getValue(), mouseX, mouseY); - else if (I18n.hasTranslation(key) && text.equals(name)) { - List list = new ArrayList<>(); - for (String str : I18n.translate(key).split("\n")) - list.add(new LiteralText(str)); - renderTooltip(matrices, list, mouseX, mouseY); - } - } - } - } - super.render(matrices,mouseX,mouseY,delta); - } - } - @Environment(EnvType.CLIENT) - public static class MidnightConfigListWidget extends ElementListWidget { - TextRenderer textRenderer; - - public MidnightConfigListWidget(MinecraftClient minecraftClient, int i, int j, int k, int l, int m) { - super(minecraftClient, i, j, k, l, m); - this.centerListVertically = false; - textRenderer = minecraftClient.textRenderer; - } - @Override - public int getScrollbarPositionX() { return this.width -7; } - - public void addButton(ClickableWidget button, ClickableWidget resetButton, Text text) { - this.addEntry(ButtonEntry.create(button, text, resetButton)); - } - @Override - public int getRowWidth() { return 10000; } - public Optional getHoveredButton(double mouseX, double mouseY) { - for (ButtonEntry buttonEntry : this.children()) { - for (ClickableWidget ClickableWidget : buttonEntry.buttons) { - if (ClickableWidget.isMouseOver(mouseX, mouseY)) { - return Optional.of(ClickableWidget); - } - } - } - return Optional.empty(); - } - } - public static class ButtonEntry extends ElementListWidget.Entry { - private static final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; - private final List buttons = new ArrayList<>(); - private final List resetButtons = new ArrayList<>(); - private final List texts = new ArrayList<>(); - private final List buttonsWithResetButtons = new ArrayList<>(); - public static final Map buttonsWithText = new HashMap<>(); - - private ButtonEntry(ClickableWidget button, Text text, ClickableWidget resetButton) { - buttonsWithText.put(button,text); - this.buttons.add(button); - this.resetButtons.add(resetButton); - this.texts.add(text); - this.buttonsWithResetButtons.add(button); - this.buttonsWithResetButtons.add(resetButton); - } - public static ButtonEntry create(ClickableWidget button, Text text, ClickableWidget resetButton) { - return new ButtonEntry(button, text, resetButton); - } - public void render(MatrixStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) { - this.buttons.forEach(button -> { - button.y = y; - button.render(matrices, mouseX, mouseY, tickDelta); - }); - this.texts.forEach(text -> DrawableHelper.drawTextWithShadow(matrices,textRenderer, text,12,y+5,0xFFFFFF)); - this.resetButtons.forEach((button) -> { - button.y = y; - button.render(matrices, mouseX, mouseY, tickDelta); - }); - } - public List children() { - return buttonsWithResetButtons; - } - - public List method_37025() { - return buttonsWithResetButtons; - } - } - @Retention(RetentionPolicy.RUNTIME) - @Target(ElementType.FIELD) - public @interface Entry { - int width() default 100; - double min() default Double.MIN_NORMAL; - double max() default Double.MAX_VALUE; - } - @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Comment {} - - public static class HiddenAnnotationExclusionStrategy implements ExclusionStrategy { - public boolean shouldSkipClass(Class clazz) { return false; } - public boolean shouldSkipField(FieldAttributes fieldAttributes) { - return fieldAttributes.getAnnotation(Entry.class) == null; - } - } -} \ No newline at end of file From 55ad971584f766fa21bab6842fa5deb11bf2198d Mon Sep 17 00:00:00 2001 From: NatureHog <55314658+NatureHog@users.noreply.github.com> Date: Tue, 28 Sep 2021 23:19:59 +0200 Subject: [PATCH 35/62] Fix internal version Fix the internal Fabric version, so that tools like "Mod Manager" (an add-on for Mod Manager), which check for this version number for updates. --- src/main/resources/fabric.mod.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 829db8d..1920744 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "id": "blur", "name": "Blur (Fabric)", - "version": "2.1.0", + "version": "2.3.0", "environment": "client", "license": "MIT", "icon": "assets/blur/icon.png", @@ -24,4 +24,4 @@ "mixins": [ "mixins.blur.json" ] -} \ No newline at end of file +} From 91be4094d33df04bdfec9db2e3f2c0d75b6a8598 Mon Sep 17 00:00:00 2001 From: backryun Date: Fri, 29 Oct 2021 15:20:17 +0900 Subject: [PATCH 36/62] Update to MidnightLib v0.2.8 --- gradle.properties | 8 ++++---- gradle/wrapper/gradle-wrapper.properties | 2 +- local_maven/midnightlib-0.2.5.jar | Bin 102114 -> 0 bytes local_maven/midnightlib-0.2.8.jar | Bin 0 -> 60133 bytes 4 files changed, 5 insertions(+), 5 deletions(-) delete mode 100755 local_maven/midnightlib-0.2.5.jar create mode 100644 local_maven/midnightlib-0.2.8.jar diff --git a/gradle.properties b/gradle.properties index 6c41181..4422fb6 100755 --- a/gradle.properties +++ b/gradle.properties @@ -4,8 +4,8 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use minecraft_version=1.17.1 - yarn_mappings=1.17.1+build.61 - loader_version=0.11.7 + yarn_mappings=1.17.1+build.63 + loader_version=0.12.3 # Mod Properties mod_version = 2.3.0-1.17+fabric @@ -14,6 +14,6 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.40.1+1.17 + fabric_version=0.41.0+1.17 satin_version = 1.6.4 - midnightlib_version=0.2.5 + midnightlib_version=0.2.8 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a2..03c0828 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/local_maven/midnightlib-0.2.5.jar b/local_maven/midnightlib-0.2.5.jar deleted file mode 100755 index c18424c9563c363cf7aaede7c48d9a91b4722dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102114 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

V(=u<6ClClH{6Ajdnk5yIFP0# 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 GDE|k=0GEOQ diff --git a/local_maven/midnightlib-0.2.8.jar b/local_maven/midnightlib-0.2.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..524714ea1d35ef4847c7f75153f54f75682199c3 GIT binary patch literal 60133 zcmb5VW0)pewk@2tD{b4hQEA(@?MmCW?MmCW?MmCu{AxGO?cR5vzWv4f#QQ7eSP_#e z#+)H12@HY^00993u-U4m2=FflG5{oiw1|=bjkt^`owR_AxTuJt60NkTvJxl&;5?G2 z{+;y1xRfLf?JTS$4dv9tbiD%o0@KdH-T@GRoFq8JPhX%*tlxMTzfZaUbrr~eUFC1k zbHAa1|Az3#%>e!J_xt$Y5x)IKkP;UXkx>-UwKg}hF*h}HvNAXLpWD<{(6wEoNAP_r zVZT|BkXL=Mw+&7;pa~-yj=Vuf65Z~?}anHvligf24#XYS88WXYp}ZIcJr%T_JQYv#?Ab%Aj9-9v17 z9RR+rzP9u-ba0<~ZmrGK2H>=_dFRyNs05+_*4_!$o_Hs?I7j35dh2p?brS`Gw*($W zyyOSuh$)cib{moR1@;*ujt5#Bh=$lg2!#QIoV|{rAV=2=qW^_wFbtgcv^wABB$LsH zAav9d3TU|&m+xo#0H{mm5Fp7#q&ZKumCCzy#&;A!54~oTvL7+9)o!|AyCPl4bcLEQCRs%GE=^n3zP|bn%RLew^{pO?&jY&b5 zjOxak%BXep!&(G)`P2^Q@XO@+{aq<3C<(`dbgZvOQy3FWa%vlyLG7!Pz~D%hMXQ@I zmgQ`m%P9SBDdtdrs#z)_wvtbLD>r~0koDqk+*KDGfsxc6yFq(}Vvbof2MpPo?iSAB{E6+uzQbv!O22r%Q1Kb>y zAns|bG$XLAx(%G=M9ecm8bH|_608WOL+eHKu%)^YfGFF+a8L#*4!!D^J*WG_{gX*Z zyd8ggFAd1QI`7V(f(-q)YyZ<}4Q(BaX|2uO%xxTLEgWralw;~-fEf^k-@FD#o!Kd1 zLA9YUkwKu4kmUohJsqsBSBE`t4v-JFS0ls)T5V0Zv+pX+VfIT9`ZGdATl9GAdfRN* z1>ywEJ#XXM=x#_P&ya*h!}41-v`@jQ8VdLstL=nS6=cVs4vzLdr;#A!k!|ni-rOa+ zVFW1-*@pSOPm8%lckM;gc}HAheb+2&iPUg3nndsQYURB>Y4Y8EBn+sxPq7@-HIt0A zMJsj5`J^rHzHPzH+u8yHUtCgJ!*hr*wZ8-Xp$zV1`fcvPe)(oSgM9}--z#msS@KZ5agf_>U3-z+4EVWN*nUCLRWRlul#gD@ z+r*0yf%lx`7Zqb}kdpGkbCPnKzB^34xFu3VBpDO5<^i2$aa(8|iK8va0TYnwVy;G; zo07ot!fTdG(%HN6sF~N9l!BL>k|9fh^kB;vTM%z8L$b$XVW*_f)lRpYOIt@t7)p#* zLNXtJti^=Vd~vL8_LkXwS<^V(OBrvj_t%$V7W6=&Q+dVwDcT<%gTLvTb^hC1=s^GO zF;D;i5CH#IjRODeG5U^<#!ilO|C8_ks1$#F^&geuA6Ne~=6)B7f0z90T8Q=6lIDiC zHnes&rvI~cr>e0W@_F;NcCrjwk>LqK01|PEPFs7j&1ezGY7tgpoCd!@p$Mja85$&H zkx+7?oS-0x7VXtW+Sf+SQ-7!FVdl2u=}T7H-3jsWNvV81L)>o_NI19r?4`;7R7UdG z^bGfWIYRBBg<69G;5Wp4X~fyBg1={zQv_Lvsz2Z2EabIw^ac1)exwU3frRM*41jOI zLqmkZf>)LC!u*xwX3L?%_d6OuVqLproky?c2Bh$w?d(6k{VJW)2Q>8=K2tzmRcp zv*Y6G8XKK8SLf%yVPjL1lCsj%%jxK3=j3d!tfa=q+GVtT>^?s~yZl&OT&%3577-EY zq4}15>k{=vh$|~D?v5oTBO{8BFfcG+YHHdXMMOlTNB?|#tDvT)rlG+}MrP{er6ns{ z)6j6AoL^BPDJ>n9oa~~nPe4eRUtN9aQXUlr%fwV45D-vaUJhWWe5&dH3ji2L2;c(| zW0&xm24dyj?`iauhf+(Hqjg=eNdi+{87Y4l%582dL`thT(M#g2ff~*~OmIA%Ge?f$ zi1gJwnQR6il;B-GR+%)U)zqx3*-=KQ$}BIP?z5)}Ox0jvk=I%M2inlQ76W<8315m?Q{%Ev^Ro}=4%Br zm8qVJQVxc)&kH#;^Zo?F4=NBEI1%AuS|(eU8COl^SGy*=YM>XLMK*f*)KuLJ1-oUd zkGq?~am-SrmDp%bR#w9iuPxns7he3n@3qsO(a^$U=rv`!ur3Da@Z(gRXl%~c1uGbE zz=5rXBy>?vvlej^C(Lf%d>kIcXB9^`GhptK zqf>&6ulJ?oq*#H|caJ4~o1>3=D}7E5V_KN@43N{j?)IUk+YGbyDR4Y=mZ%s(7}wywpiq|C&?ynk5GW%5CYHZknhJt|rw z9YjgV`bE5z>-@8KUCKwHj{>ytawoIst+>5NvR5%3Kzy}~wXUZY%^5Jy4<@Fls)(4- z$jw)Qm#*-3h}Jeo)i!K+NdyC^=~y28b-C1dxpfWzo`DsfjTP$+m8-eQ1((x8a!Dt# zHDVw%1Oet)JzNcTP&9F6Djs>&VG(?QW37;ndhf{zGLT0%0@YCrOqYhnR5rezP%*Q* zA6UTG*K~X!)f^514Mmqdne+qk=WFIk2I-jWR`#B%B^XQ=+d)R89{fd_!lMFLlOvY* zM&an*BO_{+nx3__ZllF`2&5-9njyI3tB0soVYfVcoiR*Lq>`gSs}Wa<%y=%>8t9{4+fBb(M9iD{NJWy`iJZs#2$h2zO1;b@AcB$9Z3;IJzkUye;kp5@Qw@6B2X>#ay51w8@_WnP_!A1e0;!M=Cs8oKGcp_D`Q^N2rc zkVjy80vEADNZ}J0J6So15dqC~$oMRtl@WZiT58`%2R9FRA$vng!-n4x3O04T1XtGf zrR1R;G{P14zpGGzUfZ7`KWFmXit=8j@GE&t1N3Q|HKqVTqfd%fo8C9sDS`ijfgb2e zy9l<;TXVWqHADI#<~cBmL+(4R+TVvF6x5SH6u!rPQ;kfQXq zCsZE)=>)FzbhKBxFQjNM;mQPf79kD*)O&}LA#K|B#95+hZ@5yRq=8$kN`RlqjQj^) z+eWkaiyrLmDR3->Go2m{5%T->C3+AHLL`7{=~BLTz4VM_^>mngV1!}WHg>~GF=-06 z#?O7*H(-EKvnP~J1B?Z*viL-|T*2YaXJHt?pzS+c@ac}-w>lweUoyxznIW4p4^eVX zDT~_5Qk6P86BLd_@-uYkK7>LW)Sl|weCi*L$dtJ@+Moo-1eULGPD8Y66nFj*Gb?9@MQcy!qI`9u?%v=~eYb4(Gw~%(N;Hv^ zM(4N6AjJ3>-|sE^*+BzE^O?es-;vw^Qvrzsn0ur98T8qcwMHo6GdxO?h8#`(KJdk5 zkQYfwDPLu{Q%@j{>3guT7`Ms%4dcwC^-IPp?jhgYPF|P^qV@u<^LK`G^tbHrLf%WU zR{db*kGch)>Dlf_Bboa*KW&L;bJ^-BD2?NM3P3?xce?t+3 zhkMO2$*VgH_V2YkviBtjRWj#-K7Op`sKBM^*Pl<2K&p_36^0s^m~(KK2f8@-W0*h< z`z1B{ousrq0=E!g-3#VyTLj+1FQOC1g3>HNb6qI4lc%ouEglI@9-Bgsfw5p^gvHY; z3B8oDP7D_LrYiFD&AulCy0yEzS~#E`2uTNI^JL?+p+s}gn^uhmQvnOF2T>b?l(AH_ zOG5cVltb8l^fnIgs4HHLXD|8TMF`u&tNS^Ke_8n1#CTL@#&QqMKYBQSF~%s6)I(9l z)oBvi6&<6IT4KA;>CIda{RjnO{#IiXgu$+VOa34@whqB_s5aX%x!dOKX{PK(GcdDW zIMJud5So`aS1dJE>uT|`TMUSQix6D^98)a;&d=ebnRT2J--kA`GA8mf==))gC@UKq zv|p7|;mYOrTnVz0Ufl~)n5}Q)qg5cT@A@D(r(GkxHgb4tE!U?P1tH$%PhrKQG&O=% z@_ykh;QA4nd|cmWvgRS3@m?&}cc`s}{NJ{X=<=||xFRNT-^mIgwW^jDXX#Ji(+jO* zaja>T6i=wfR)8S9Q71^7VLnVMYrULa`AY_xpe*(iqB3h(H>2`x;jLA5co{LAG-I-S zL(j`lxr1hyddeGv}nM?^DEqbW=(ZMoLo8ck`PO0{~3eD0bUiY-z1uWP$c7%C( zw?GWm-#a=w`i_0E!w;bD=;(Int!S4LG=;5F*P)ZJEvwx&*k0o_oJYSU`4&PQ9fHJE zcBbWQCok%E0sy6IbyW?*M)|2(S+@7j_gbe+Fm7@0Czo_uEX3cX+z3?}rtt8l+)M7p zAvs}`$73;g+;L+Ud5}8=j2w+ZoD1TlBm@JH%N$Avu$F&2)r2UL)^nkXnc{c#W@X%tXXWD1xow2K~HN8rt z@m@n&TF3SBFUEgGxNE=W9&JY48fR+N+oXb<Q@>^kC9J%}!vrI?Mu zn25?w!&?*Bd(-XQMJ(Mf_N8_IMn%8vLPk`?>@L_(Fn?TJ#_G_NS%*m-r7;)+}nWCe5Ej9M#h?Ddf zcRy^wb96Auu^ALG%!CBr&f%S+q)-B#r6b;~l)bmJqp4DL$J1RXM)OU#dh`?_(8RbP zCn~DoB&OW;T)urxr34wqa(LPMNUMeR%rfS46!Vf-(c_%nY94@u@V_cUkh4&Ys1QhM z*xhsUl4I8Q-^xfS!#!xIF0DE3W4+q&s|(rK+Z# zgmU41bsOuOBDm>tq&=0|WJA3rj0hp!<7Q2;q!K-K>OVLfh4llyXX(PTH(fN%W`!LN zQl`p#re@lJR5%jWy&tA*l6oIgcTfJZrLcL`M>7cU4AmO;3A0^9T(k40WQMETtuo5} zv=BsEJ=C#M9(C7M_p*J|TTegSJ1#=9Sb4qm8Wa_>ixNQi6o8}DVWc>VqH#8!I+Y9we zIrUO0P=8VL3^snNp;wNMLDH4CAEA!|0EJL)4hS;L1NdFWW4pdbqL@+172NkZ15PNR z%=oFBdBvm$XN_oap z5kUGbG`uk5jRh3!$@ckDNiYd_{MNwUG;JXd&xjU7E*f^)-1$IR=%~J%{?IETpz;NL zC5YNCgA?*w9hRZ9mH{xY6()C_leY(NN}$E{+C`!G*OL{m2F{m zZ9q^2>EqTMTDrp$6yapMPc(rBjIO0JDiiV4Ku(GmM+2^y2P z*}LtV=M*Fp<7jS|_3p3}Is6Dt++pJ;mrf*EHmbk!=${gKVjCSHkkMl{vl0^@HB;FQ z6B4EKm_eSp;o$R3x>k)%cKi~u>M=00PMyAuDNuxE2@xizr z;%k_rPrzJb?V#J9{{7Wn*KaQbpQcyCZF6)N2YkCZFD41oPw`fGri}BuA3!g;#V>l6 z7bj$7IMIG$J&wAz2i+2t&a!m0uqa4}{F*8%X>NMhqF)6H%SW6`JHl)tJXJMLkYj*2 zr1+K;(DGcUuC~)wuD~%vW76G`B&Q~VmYp0jit~~+J;&2iWU2!LPfYUW^5juB8rlmy zE!*psP6n657{SjkBB6fb%rQ;)-QSMqmug_t^%Niv$$h3O51v@II@d+LuW&%MCuK15 zShV@Jz4VaX4K-bxNoPitg_5=FKR5c|E`E`i>gm+g*9Raz2@)C~$Et{3>3egiwbz4U z!DFa8(ayF@POQHU4V7I5KOT};8L2X7uz1P6dT~pqK1#VF{cxclN)3z0x!y6}=F?*Y z#uQ6py!>WXA1x6jXItdrziKkgM+o`BBIwHplX(hh0dljvZTR5$Dvq}_UgyKqT_ z=PI`MxC35VaZJ8UK}h%o{Rd~HXMxJ*fd~L#i1eR0BkaHCa-59aoSYqu|0^Pi;Qs+( zrvGO`>aS@f>i-7E*2UPtO5gq8c&0O$YsaI5_&ozXy`6`9J4m28IR1^EUNB-;wnI}u ziY8)PS2QsC=aY_h-0$|NZo;Tc^w&5b`a?M1>bHSFsd%)pg(z)0JAcYu*ZKiO1d!B} z#GJs})NOmo5USUoXNSH}``mqBefPal0HfaN=_oxv-?u+oL~{}5uE|_Nl-K>d+qx=a z()F#@_9ZpBdOAOF9;UmiS>c>y)MiuWD_ zPD&T5N6T+6c=aD$oxkSl@c$pGF?BZoZ-_hA{{rS;xIkS4XD6pWaeDu^uA%tPdwOAr zy@522=;`U3j5xW#-8i|ZkdY5cj1LPL>CL1nv&_!y+4&0>`P|H7QMWaN#J-_wh(Lv+ z>dYdkA2$dxmoMbr7Ilahi^)a8oIMnqyj{w<+}x|JqN@zUpNmapKXe?QHj3#wN)8XR zy0$yE=lHg$uG{HH&917(pOd;yMyk@L*?V{|_g$m*7QMpwna{&4@-X>owcEV0TvuBR zHoU&w)l{R+>l@m;Bd4+UpA)SQ(~UboUzR;tZ#0OSb=iGQAccrso;4giqMcqWyx5rx zP1KtP#<*g`A}vSrI9jA-L{&(&oNUNeIYwLZEc2i>K5SGS$xe6*cS%WWyQ+^xRdD5p ziNu~QhJ$L&Wp?Y(g|XY`UC!CRk##FYFy~ZSq^3@or85vLeTLlUxLXPxO}x;Hk2>}~ z6$H81z@pvL8mVW#b=};cb_atGfl7{lSt&C;pQ|^z-OPRl4{d(B@?IxS?}&|s z8QXSX7i6+JoTvHDKAZ1DYx}iKPgiepea5@@&5abjz)ns&t zcB!vJsZI2DP{H&?gVi00fB2u1WOr4c%eDpvxx4pYTm~?6xVNzfyJ5@9#L}DZ{F-Yy z?UtS!HVseQ2SpV_4B?fDl1)%ELT1^7n~*Z7lecK^&=BAG(VHEBQE%i$Mkj-Cq93oX z_dGnPan_A52XBTMP*RaI&RG&j`nQOJ=P>=u{@rTI{eAxL>^J&fhk}*9jp=_ANreAF z+{jqh$oSv;HC1uaGX3-jLCg2ZL^bQ!xsqe~NVWOrv4mvVqy?`fKZilXTOcKgX=hPd z(Ph>o#1SpfD!Fen+sI~_kH#yqfDg(eW-9^75 z1)It~2QFBG`Hm`!8lS8m#?b)F4u-LsR#hV6Ka zC^W@GK~+RW-4rOwboL-}wHwU-5zoLck;QTxil|6)D{4dKXI#?DZ3fI-)*0@(o<_#V zDN|!xtSwL2sPnnS$CX9r$J6AcJ(FyHJR>@etXPWOI5a+Duj}W~86(jP|5h+T zkvE75s5j=lcEFR>(|p~c|HhMJyPk9CFAeovv!DDPc&l^GRdvKPUX%1iBGS&!4(-?U zCD%)%Np;F@cf?jEn}_ta0Z$_s&H5+Iij+3i9Z%&8P#2hpeIM{xS^Ufl5^2|E4piqv z*WR%bd3wwKj#tMkfI`|{B{h}mL;(Wl8gv@i0oO*z`_MZnBV#UXyzLZ>;Jl%kQn0Fz}?=1MYdD;K1PyFZBDBADn`F2zUXwMXXELN-2r-Vj(Xuo;B-?#=%pFOsWe}q^!n@#Yx=VSVc6NZM5 zpfW%XZ{|TGYMW1-Qs|LHmtbMw1$98v9`1L)v?t2Co;wB34*)6~Sdfztb`Wbf+7yGxSAO8_Zf8Tig zxg!t!ThqqQf6s^uzeiF2PeT3kl?Z>o@}Figa&~n3Z^TgkLhO&$|G&%reZ%zR(*GEIkuocxQ_5m|XE)+1ZD&w!x z5QH>SH?yu#sE7p-*Uk+>wptt-y(Gq1IX|=_CC}c6zcF2bPwofz{V}}#>t>2Hk^je1 ziqA;aD%X?srT1ml`_1y_6~JZwl$|v5WV#c#dKqQOs$B5}c%PPyBenWii-Ox2fZ=zm z8yuUqjf&KYA{zZ~%_;gD-^Qr#6!0(7t#8|yH7Uot5}pd<~=R1$bEP4~0wE1*_=7udP_ zF2;3bI`WCf3p0QoEbBaA_eG*J5M5kN4ehz?67;w@CM>YF&f&fC{eWA{7Xw{S?fL2v z28I#cxpHjkhc)QpFTKOT1tdM$p+hz%t7^6Cq#$pFZsE|Z9<6zN>A;s72jc|xL=uCGkdNGz?3*9m#Frp#^gFn-`*Gy_H51wr zQ$xPlnqYO%o2INH*D79B(tc;P|nFXb)q@lSfg_ZlxWAgq?oi;&}|0ldc#Hh?xaD z$kW)nS&UDG0R+1^M|hHCQbp_!MAs_Vjn_4~35)yvW77n#lFG)G?#|ZK4hpBcjf59{ibXzr0R>!u{5%@~6=#@MO@fCI-X{)$VB5OVX@qR8_2QNRKowO=) z$x(6I{$N?oD8h``Xs8ZnP7dH|k4FOogHLXY(A=9f4qH6>LjM+H!rKe*oZt;cvK#*= z_!$Q7`99<|R@d^O=WcLfRIpF*2yH9~Pn9s8f}T*|+b&%9H=6FSR8hV4D<^dDnPzZ% z?n6nOHgEC*q_zsgMb#Ju-ytIT4gu*K(kk1yX@c9MAQhNreJP%M-8!`T77@Nq&3>?@ zPq06-YF5Hlv&!$j@U<=S;Ssrll1~XP-%AR^ z3KJy0Bm@w(o&kLlpW~55oCy39<5zEFN9%pb#)H#!cP{gt2sRMN4XShk6QBKdyh#)_G)om&%(n@e`qzc}kC~jm z68$}sV`Bb~SDJq!{Iz4S{AYxJ)>NUt0TPSYI61igUmhYUgC&3v{M9!U;0^*28>;FC zqVAT!0bqr|YCw!1$FOR&*c6c`FDuJDFSLj9WY7!P0>cJiAqx0y6zRVB^R?}?=CaMR zr4_U`g2sP34eum-aX0A9xa=Z23wL_d-Ksr#h4BSg;kiHbWCaVaJ^+M>=dqXMVzIEfMCn}u!S zXK2*rV^Oc=@0pQ+eNugAH%Uzr0@d^zuZ+7FaDls0g1VLT0lu~)T8N?x z54re*Ct=Yw)Li*qnD7Llhh_)wFEwnz)$;E?4BgtkEcXi}Yr%}dr>5X<*4M3Lkwj8p zOAbG6mC_v~(D|b33&+9NLgx*r5`4wp6-(L--DYTl49POv`q`aX`XI*kbmG{O#sgzg z6Rf0vD*SKKGPFMHjJ&r39%qxKww6Yko4lDTnj<9=r96)NWGxJX&LnNl9_3_3l^4*78O;C z8YqoTud0UDRTBF6awu#YuIn04RTi61D0xR4Tuh_HOz!!-Uw2>E^mm(A*;ko&S$Ek7 zZ^3U*S8XUgT8g;42vx%v*X{vb)erKvvc#wNZ%Z6Jd3q%^zO`05bW+WBv;y0W+34$EvQhTOQUCm$q6v@F3C!#K3Vf@ z97YIpd2P|slG3FOCB1$ z*&Diz^AO}O7St%SJsQ~8XX=S~*zE0U z8+u%O2;Z7UQ*{{9+LcS^0io~WE-Dgy%4cW{hP=4I!b(|6kT`Q5SRCwMU(i*mJ1$D2 zKZX#2X{D|j!__u(5f(gP{*Z|cbQzV-u(=yieI!qO3MWbwC^^0^`m2w5%v7Tk{8jGO z5L}8zyIJ5)_-F!sEPwFgiS9|Hk%JO*)<_6A{jN&SQkF{Auq#jT=ecK4rrIjX;7M|& zl6+9VmEEpgU*P>zd09nGv|`hWUauEQ{qBSxB((Abe^6w!oP3xA28~Gz+>HY38dPtZ z_MlUM1w}ty+tx5C-??W0^hlf)3`?$NI*Kz(E5xA#po03BiROn-)%XS9#{Mi}94MJ* zgAF9{@7+orHkFYi4oJ{G>G`}Gk*B6_I6`PWimJXd95S}#h@^MPj+-E>C;7RF8w3Bi zDU8}CW{xSGWi2Zj*^e`+-I*sS?#dny*FtSBj&fVQMkv^<*6aKT8kB{Sh%r+b&?qQ8 zR)|eexO17D!zYRBrv&?^Yo;v6ybgm?0Dq1VA#xT!;J_0aw~W)*D}o*hQ-ZZO+__UErX75ObJp$PrVcy|QgcOsVq&+G z6)ID2(VmOUoOs*$=^W?hTJUKkXnTTMQ$ux`=0BU;&_TQPfeY&s{Uy;ivUcV4>TIUl zZhxWfl{drgCFwk(YMJyGwPYfCD5M&S4BC<$k+;Odo<(5e!UX4st)b42tIEH~O<^N- z4=V!|R2&4j8sJe&_OevkF&h~*_aY`tgmtz|1zX;TUB>5YWV`r9w7 zY$SteQM48}73&O2i+;AK55gN8_35sLc%WC8m6@Aa8JJX2HW87E+Ya}*N-I;oM!slc zjOl1gTUYsaKh%^vx1J)w8n01T?fpgy(5xjhWKD^VG@Og(YC*eg2R`e#q)@0VspWOu zgNZ+AyUm?sZV_ItY;>x)tEBkd@cv>pS*=NG8+eig+#~{m)Twxn;J?=xb z=+Zt;M@B&N%@zQYO1njibYo%->L}ihP~5w`#gduAO_+X-EF@`;>fn*+;R_*20R}_f z4%KCG<2TQZ&yieI+PDi2I-jTy*7JTqbCeB08pm)mqsFk2fxQu{;b4Ji{l%D1(w57b ziIZ7GG&7Q*X35nT^+X|Z8ob~YnbyFFE=Mcxah`kC^{MP!F~%-OcUjlw?Gn`!Xfq`O z>cnA@?wpxxL16-3MzoMs`L5a}T&Sj}=MU(2MC&-@ljKNm1u*rKa&nY8Gb|K2`9mg! zEI|@2!xVeOD3f_Ltf;tZUYex}OA8dt?U;x1*HbAqQ-x$+Khi@v3LIvDao7iG77xW( zb7c>{<;4Yign8oh38=Z=0Q?bgv(@H+9lJ%DqB3S_diE>^HJO&ZFDQK?sTU>rQ0nqu zGkoHFx)sclwiD*8%lJOYeS@8f5}t+);*`qrEKgzs)pf6g(EdDtNfxu_{ew!T!$AQP zlSd}g&CIUpT}+O;f>8^^kG3Xn(>k& zle?z(i3^0#I?2u+QanWTVcvO}fHV z?X6L}icMl98voo~$Lm~~w`V=g-9ISZy%SxoXb|-{=hm>iFN<#}$HJ;86qR)4KN}%} z?f}+ZUMyW0B}2|W5*i3(mPtQ4b4`euVgDIm*H-C6Zaq;1`|GGJRTPdbLnmh#XAv0+ zZlShJ;>tT%Gq1fYLncxCIt_Uh8E2+MNm;U;jq8GDj$XbaOlGXeWzX?_wM1MV*zi-_4Y4u8s!8Ij9C@U{ws&Jeu7q*c&dza{YiG$(jejEfnDqA>$^t~ zpbREw0}pkBkTG|*^iYKeHsl2b+j@4M6l3com_zfEK1!+@Mh1i4HRQ%Oo* zu_C6E5~M*sS@W(lB~IB_mv0~bu!CWPD@_td`<(WlHSC+uje02?8L8u@cFAqAK9d(@ z+D06eP~Vk9*k+g`In%r=o-UmrwJFPOcBfKNI0zfWtEG`1F*SL8KYJ=Wl=uqTKO*PH zPoP#;Y!z+Rk*-i)acn2h!nRpUolsK5UU{@>nu)QD?n9)^Cl?E68Ux>*+n^9zd35r! zCa9|uJkuCo3*@ucTOn0XWF01FgnSQabI3D38Odc~c<$jmVqM1J4S1a6A$-&UTK#$A z!^$71dDQC~56KfFJ-jF2@m=nX-ZJ~JQ!s|Hqcynvp8fG?55&Vj@71b&&u5hb`zQD& z0hZe**N4#cLiTd4j30pIBNOzXj3uB549zSOdw;<0f-2|%F*x?J^6S%iu9K0MB z?h6;IBT2NMTJaJCWC736jV$O3eXn)=nKqiZr;wh^t!;->ju?_ppbbkqq`CvczdllG zZ=pvzHv2$Q|U?20d>a*rRoOhinPrGxpgOl?ux+Jn52H}3-WY&kW}ksT)6?x>?2a4 z?m|q^qQjC%7^4z7*-?2nqMBL@yKCB0MOn8q!lPxZYeE~g6A`0xSU0jE^IKnZPMG5@=joQ*XJT+it5zq#$iKW-}J1nmZgB}Ggk|jd5&Mt20Oz9Eunaet-9*8 zPwiBtNB!}ZI{guu1wQK^lDbaBjvB)_J)CxCxblMxp(jDyHCdon*N!NoJ!qMj`dg&t z5TWXIu<-=VhyW`VRmN|o&$auQksO7=$}l&na_=Zh{S!#*@L<-)v#c2aZ9SrC?=f7P zI#vJv3H@`C;fIoXhQu@Vx2{C|jeh;%2DrSB=9#kw z5!#q7=HYAmAQ*$^N}}CN5+>LqxwnZx$2C*y{*=A`)QNTzYa+?PO6^4W^TItII~Gl( zHq;%5npGVex;1G-l_=6-ILzjxF#~3iW7AVgHq#rAqYLs)pq$9Z+=kULpfV%9Kh7AdO*BKw5N`y&o&2KOI2 znFI=t1`jr;dbm#K{JaeTGGRBz;ZCR=$XgZj?o4B?@i z+){Qql;x{@EE$spWu|1-q^tQXGDa++kK5$t{rQFsfU7TWc7Fcx-sCg#9=ymnMI>Ny zC@uH)WqJ>_HFobusfhsAvGp+5vcYSLBg6A%L(niwZ1!+leadcF%lkNRyRJ9HTm5Hl zIpNo!(gP{XIJ)w`$9+roEjiKNPB1S=S|ERIe&gXM^~jvK2U0&a9^30PWKky{E|jZ= zd*5&Ak{-557b)o(qsnl<7sBQFLCBfpGmy1oiY~%uvZc}?^X->Rie@-r^5?hggdAJA zS)oDdT?F_fnYQ$)o#p{1kMc0dXMy-D^Vl!$!4e>%T&ZdL5+E54ODamkdnN{3PvV|hPi;vobN!6c61$k>P!LW%CEpz|>(WQFUOW@8r*U@S zn#mlGX>g<~W_Q4DLVvLCZ3&m~riD9yoP(@%qGJ}jlxg#Zj+RBD-IjK(UK4O-tBBUR zqiJy=+hj|}4V@*LEWj?XshVb5K0^Eb(~c64mLGg!nRE%EoIS2}q<@@Ez?L^XRJ`&# zQqQIo%s$=x@(Hq;#JR8W$<2m1TQ(!W$!Ft737xZXp&ith=!9xK)7u2c-f7dvix%#M zgyIp^`s5u>1kS`tLO%WM=s+4gKjb#D_n^oHk}48pmS<3rhvc$`VVzgY6ob=}*{{tS z+Sf_{0dGbK{EV+q7OBM?hLy&sA(ddxAzhHfoV6s^3U|PSQA&IG%ABIhrCKARb)zCQ z=-v{NU38>YG0suI6SL0lX*-<6nP}aDb~FdwL5NnNCh7N+kY5VfMMIKqPEujT{hpBx zh}8QYDrVyKSoxI={9GwrsOCm18O}Yaw`#n^GmASDN`b4XJX9ct2;&fsR-2m7dou7WY zEaK*du;wla?|W!R?-E{bLg9FsClPqzg$lEk!e2>?Rwq2yb{(AI#!TXdD!uEr z5-#M5g$(1fhGUT9Jq>tQvgC;12}Qm=5n5n62Dml!DXI)1!y!8?)H}brkZg%RXgcM% z2lI(qci}cmf9|%&W9bZuBGxA!PmaiWe+!(CK(lBi(_DIDKy=W9zZncVL39dKL_qfG zI@@ZiwuQu23i*M8iZyOtvZ&7OC(nGNtGJ?=80jJp_eNv0WUmGpIGPgZT0XFA)`ILA z)CN;9FNf)|291fLCR+_p6e}1mkH$#yQt0N$=Uu<)2#@CvyWWdls7fWz zZh(a|X{~B`1q6rCy*>-jF7^I&3aMz4IUM_JoXe{#H2naz{XuI83b|ou_x>nnsCVUM zqkNvtvRs->6!$>~4GQ@upZxw_Pj?e1ivDZ z6VZ&r_m{kWYtIw2#e1Q`j_Q{ZrT?)D%f|0Db0Izpr~QLH#y^CkQ>j44 z`S~Wi%BN99`fAzw0V~ig_$#o8TSwA^dw+v6Ov)mUBRNxR7KXOtXc$K7X7>4q`=y~G zrCL(a+3xLmi#+zyutQ- zjMV|fgTn~(O;GVKBw%p5<(TJ3_^Q57vtLk{M6=^+D2wS0KZ=!WS#NPv%+IJ+xL3-p zXVV+21eeRL@66Y!S_+gc^G@tCnv^3}idkt+=QYeN=3QnR#I#Fj(J6+#G`Om^uUk01 zCK|s*X?@7O-0P936hLMm^x%MCnWD_S{PAmt}bi#2VVQJbUqKqY5`8g{!SB2?D*0A3oSzNt`$Qjp* zdcw?k$oEGCL^v8c+zr1JH*i2EUMK*3`6RP44j(Z;J?L1FI^U`!Aip7A9`e*Q)`K8v52o8 zF;WX|wJ&{%@{@z=0_v8WJ~UQFzC2;hFj0vDg<|zWEq?+3tgiUfcDX+~dH=Oc>VcR9 z`oJQn%OHr`3rxgTRFe&KQO>)R;1^UY6?;9v5|z-U0rVj8&bPUhXTdoPz$6Y`#uQ zygr|NP>69%shHh`*#%)n{_EeD!zUiypHXmjnIsMIYwB^4^~}Or-xd zYke-QKhu?@jh>;A{lDa^29;+I-hN* z;RnRxHrMl0Z<<;ejI2_K3_{ zW+>FZJwuH|L6@U0(T>hlK7yoPQdd4_`?33h9RRa$5Pjs%Aum3CCrb!yz##9X!0fwZ{7#El?M|EZ^=y==MGfJr5kO|}}V0bLX&e1@oc zIU?WrJ&j4{_N$+VF{{aC#vm?ZQ8gr-WqIF*Fe6g0#8!+%K0Kkl=1L5nB&KPOfP@3E zpGs|uN>F!HL9^X%@GVIWP?J4bdGwe?}Iz>+akjEi z)^@%LRQgzDv0*0!g;*g|Ro|%sYoG`)vr!UI{=Ozb6s7+!z5^>~1b#+dj_cyVUvlod zFp;kDUlJQDMn+%rS08(uTN&V4sjCMR5aiCuIDYQN7`4$u58<-Ac6WzDrlP0T z1O&rQhrNemVcsx2{ zrd7B2ZD2?ma4{b(!&{u)49IKASNb6o+H4*peFHjx3{tw4Ut~+S=~inG9ZS$RIC0kn z(AnSuc56|Ewh2VHc4u*o-d7t+Qu@p7z%aW@~KHV z^j;hg{5e$kB#Vu2OH|33cqwj1=4n;feH)t zi@uGildbiWfh=#(;!!m7RCno>*=FD*g#yvK0|L@SIk;$}O&s>(37#z4+J-`&Wng5a zjUP-RUwWZ`8yQ)bL8vW8Wf?KYo_T`oOy$SW*=?9~S1-kQ7GqD@cN|!wkDA(E(8PhlPV91;rvzu+Fnds5#`1$S6ii6)E(ja_U@xAL3tUk zY8qA9GJJB2gUl0a(}>^+H%*gDb@Aqk;fW7$)RxMhz3%xm-=gMjoW-O&aiG1ki)T`e zsj}?n56tB$Mk7qFm+jvT=V+wGHagr&ra~}$FVQ&bTxL`6#6UBZ9#=I4MMWD&H$6A*WUPk*?0)di@lI0iWq?$ge`0 z)xGLE`BFp=`IkM&?3#{?dXS_|1yMis4@(#w9g7+%7X67v0|LzFhbN@NvY+@FMn7*s z*K5T-9QZf+xlu><@~3RsAMg#ASqMRUVAbj?dD`|DXoQd_vm-~W4 z<=<8rBZGZ4SUDqc-?*59{BG5gMFWix!!L_EP^rAA25?O!j}MiVBn9czg)~kjmS)_) znN%7)u?sUq^FR$Vb{}Y=RMx0 zSd6!cVrjmB)cg8ClB0%zxp8?V>{torHQAXl#)-gaO{YtQ4MhIuB)t2Dzk87K^S0vdy0t*j}OwuV=}%H1l$#mZTK8Qd_fV z%%evhcMwpIC`I1pPx+J)I~F!ajHu?;@x{>3@UYuC`aj62S)~>%E(u-s>OD7jr{bRq za86k-vPUu$&E>D8N0#_{hy|LV-tPLoyG%?Ggte`x5Th{1yfggfgm6Ui_OnRO5HntR zy>I4*3bgJO{&+C-c7mE^q4mTXJd#?=?7d~VnzL&EHE>yYH3P%R1{MwzI?5t9g&MVr z-q=N?t2V%)u7d zzeH4ZdIt0`pWLGc`2W;n|K(`=S0&Wns$hq|r7HiECY$^J=NA7gfsy&Nq&b@zx%^QI z)1U&Og0+b9j*D*CuRB^>vkL-dAjwMz{uBO(Gqye?Ohvbttt2*!6X@|*17QY1%$Qb< z*b9xB4yi{knWSdsCF!)nw6sFAm3)s^1$SwgE*1ieub3wS(&v3+X^$6ek8Q8>P#-Nf zl)eN{Nxbr?xoQLk7z}mNg+E<#%{WN%o*kvdDcF@c(Q7Nr3=W?B$EeV6wjmyAzu;Go z#==%<&}YmRxh>A!J~Lda`h1xO0$XU?a8lNp0(mGx4mR^5H_5L%F6Ooo46XnnFwsym zV+#f`M|G_G4)UN#$Z2P-9b4>7%EZp;&HueY&PrV(YX~yRK%*})jsuNXR#(3dTOzpN zJU+&SIC3n)5oih+R+&*trnah~`7H7gxLRlnl&AL#KTwa6Ip(lVVfOO z2I6}&uJa{wzu*w+ws!n0{g%1~h^IaauM?N)3O+3MJHbkyCWG_ipVp~J00Of~y$IlI z%ywrBstaWBr3Edv6qBW+bFAnzSe>DGCE^ip9Bn*fG%<*X`skaiuFb0OoFwpFKFhxA z{i(=%7ZQD->yc?hiGHuGQY09cU0f78B#PY5%_`yn_g1$f_OvmO*y#h zlJA(dT>vjr`Nxf|S!6c~UzS>J4_JW$M-jBJGOdpN(>1wKh1DVnL1lq`^W+tEdrITu^wNTLGg#mG5D-bWW5%CL;euQ{i*F@+~@_{~1JB|~pjHZKa$K?PTK$)a=}rLU}o z!W2rrPK94#&}`+{Tw@A!#lC-#&vYR^ou0cS^%W1I7zbqzy9(4_nqq{*GXO#kb zCgvnGFbE5OZ%6g(Ze#-a=`lJ#;DAJOrUPj?JRA%uEFHDF;M&8e!j|tZ5Uzpg9a+Zr z8?uY6u)zXuzTL}Y_p}kkjOjNj4e&Cq_hFnqc5To%yfU)uVqQYeuJaS0=< zXEp-P!lmzhyVv~A;s?@43WbV^b+fH*@{<@RZOzNH+egQ2%7;5m%;swJhbyxCKDNEo zdo%X^vL+svWU5gy33G>Do>cj1coeE^(IblwO?$@yfqIp=t^k!*hW-p z+I=UhQ)kyv(zrJp&QM?N2(qfKPFYJzpEhvaK*6Mg;HYz~AaG(P!jC*xI_^lgn`mQw zg#m-owW~oqw-!Y%Ff6;M-CAUHj3FmDLI*TCQ50Kr^qbD)_Fro-8RCa+W5CZxE&FbB za1QMV?LiE>5iivHL&fBoNk?9h8zh#_xEONQC0M->;EMaoOckr3M0JF?RNxe8^oes( z!&y1paBugXmAB|Oda_6)T$AJrFnzY`KzBBORw}@3tuL%qhYQDMXeUI4LZn@7z-35CSXZsilo#3+aLz7G4Zgw(J zZm|^{wiP^$D{~Q^_!`^$B9nwI`VB~_zk5fu-Ym?(?BNVGT?c?L%rlM!_*?LQAfa`lr3gO3=GL~9|d{7?iAWy@{wqAQ^ z4B=JA&M?vY+boE(&;!f|$X~TbYokU{KiHQqzyIN;|MQ$f?f;>0ApGyD;=k(&NizpW z6*EH{nL_B{((87aO z;C$WG<%}6lt^{r-Tv+S_AS*T>iDP%b~O zWxAD8y^@0(Ye!A1IV%xN>-Cr!dfZ18qE&YJaT2X#$AsTzn<~`M@d3MG_V*0)rs6mO z@T?`O@(lGvr%`VG%~Z2aSyjf1i_8><6KqS|N2XR99Er}_s7+x&DgpKb@TkrAoynsl z#*4^HtTct_`amq6wIasja`(>bv^t~)Lnq`zji1~_VD#hEiYVk{95dIeo1lETdPTBJ zML1IwO$|Rd^$v7y#AZhRp3=xtGixg&z3)c)&7`(O-IM?cplbyUzx+g=Q!X>6d;%Ol z3xZdIq;Zd+CB?)Ujs9xZ74kZHN)MeA+R(D*L|))JAhf7>OQuYdy61VNuh#;Ix6QaB z;4J>S#^AR|eu9&9ag!!-Psl1e%|Vl~&1YixYpCF-2K$hnKJP1Fo21XunLrc`$XLYH z?0ZuBVR>VAz1IXH;d$dgO$FSI!#-3=RNxU*g(Ct?_)XXs?h&dP&C8~Dl^VL-*&{9d zbWXokzkgGxbDQ@#<33B1*8dg+OnkjhOVv1?@de%lt1g+G0F}t*% zC!Lt1o~k<8A-rU|^R(ERpDL@}q zPHYFi^BU7L$x5{rt37xalB+bsS&AJ@+tlwkOp8S$xG=BX>%-Q%%D`+s(da!?b0F`$ zsT#b{Qf-FJ&5f|>+H1aEa^3DId8vs*T8mpzJN~-V@xJohyfYMD?~8wcOn^fmeHPxK zP0K6DZ#4T137T=8EQm=#<6N6&43EgP;{p{`*GLW@S)5*iiCJ(5?IGZscoy1lAac&- z^PuiSRbWrDp!zI(Sczr{8<`jXnPeI&1<2P}KC&GNiul~S;qR-#i3M3`2Apq@778_k zHbtzt?{3qR8E4CP4p6zHk8gNWE2HV6G;cvWS&`Cyu7s{n+f*ATbs-*eC9U!TtIYPFF}*fLUtmVMx^~mqcCn8IT-O#ao=lV` z>L|5C1WCZ%V^5J6%{(JgY_Vm2hZwk?RLO06_;1)n1@?o0eoUxDe!%?|Bk*h%tm8lJ zlp>!!%D*>x{K>%cm&wD)(aiFno0C5~J^o@r{A+*nzpnqE_c(n2gWD+n7X`%duZZ;N z4C4PA2l2;{)S&#Tf+T|cE)0&ZhagCbUnwJtR39kPnkAa zcT9}lv^<@31|~*YY{9q)L@PiZkZkW<`9Po^)hdhI4v@=jBX@yX>u^S9gw-Y`TENn{ zt?pqCUp+nJ)9x^(snVw? zUt!MZMQkfde3NeSx5ag>8j5N|dVHD$Guw050w zu{;9~bB9u}y35E>*mqr^CWL&5{ne>!?(+0A(^eTf2`#;!$ojaQ@wCC8brL?8JY(FV zbxA5%pJM`_c^5n|f8&RN4lC{as8z4P+ER7Za;UTG+;qbyeH}oIRh<3AX(iCZxhna+a$jO~`yz|Gw znY%(PJVQ7te&?@Y8m9LYr1<2dY#J|M$nkIQ`&2tolABGI4yY8?lYZy%Y9972+MlvU=bR#O>p>F zFu5GLP#mL8m4h~7q#SVqD+%ThF3i>YYR=I$z!l1ZucPot=!6LeL;BHU&}q>6iO?C{pxr5;y-CJXk8vsnvnAB}hR?Ad5NDjD`&hj5 z_uvz-b7KV*?L)+2<%aRe*#wD#i~sRseJ`JCRc^E*vLzx4vrJ8zx37AJl*%n8XyYe) zx*Q>T@*9uxjT{l4(!cva2|&Mb4mzQ;C`>8w_cErG#1Pz=CvnA69pZ56(s#y5LJ>Ol z3WQs*>u7qUtBtN<#a0~}cTzolYJLQM)@-$zZ+LJ5R$skkDYhfgow=PIdXj%Bk#My> z@4@qysG`$e-&E@YRIxCfmFe0LGO3FOQ_E+kq2m!u*zGvSs$-NUwaqz1Ga|5OU8jg< zsF;zg-#Tg+WL4dgcUBy=hh5qRIbH~(ZhEjUZj;!&or-S4_rl=IQw18kH%(!DFMab1 zrt!_{aPZTM9gLc4ulj)bE1lUF=uuC70>_*FvD*7{I{K5OPH2BFni>9( ziT<}cNd0vNfQ+r9nT@r>A4hBj%Eu~5D##yPjehV%@|v=y75<>*(62vC)dWMO{DXXR zt#%C$5QK>t?2P^8Egr`&Jj(E1!0yr-Mat7>XD7Md(%jumh|wW2!l=^Y+%7vkHs3nh zes8?)R*7_dMeo%D>~fMAD+;O1LN&(LS;{d>O2=ZAQV*tY4wqM8wlYzrrJn+!_i1OW z=I1yp#~%#y#!*r%ug{ZY$D^`fHE1Oy5(4_<`Xs}Z7p7)8Ei?~_RRo7e${(42$#xQ& zu}#S0QJoYx_&Q1>4^U#gw5JwEwg(lbVmc5>ZJ02ctb*cXk6ey4!mY~w&wat5}qs5jYc3YF2#+^sMKBqEDT5WxUt5&n51G`3ty>>h)P^c#?o7a>J$rx2Iev85%8(o5xwsKixeFD2&e z{BRFPTP+H2V%rEwl&sptJcZlOCiBh@|0;VKq2GDF!^nlA2_7eCof&jcQ2W%ogtr2;HarunEr` zt+3Kyu40d5uUJVx*#V*kr44UMh1ASlp}o5$ZYut1(kCOzNY$C5Hnh5TMbxe-fwo7% z{d;|Rc9Uica(ccMxDi89N`ky=PxOx<(Vs#NWbh<+XxOJ8=Q$Y%s<<3=_z*i(}dfiwKUZNS77na3Sn{`j8yA1kG z$bwpi$^!U&`o^%6Z~<4QijMKAT0ljITc!%k7RtsI=X|duuc(72qzU_3s$J??q9Tu? z3u~4L3owGOHmb8zpm$hHp*^8!1jOyAi8|7Ph&RnJ^pHG*ILoG_*_3+6TW@slNW`tj zs-8dfCjL?P#d_DFHG2>`h&`KF+;*o$GAs>(Y@ZXzJP&k!xZJRGf|F*A&Pt)BKi|?@ zn+q!O!f?}0stH1~83+W~gS3^SS8zHn@^IBMOmT}x1hTpt6I33|0w zitIEdF36;0X(R-SbOv^4wm9Pbcvv8o#>_cvLE=bb+T9W)^3hb$zv_r(OZ+i6y}Yw< z8dnBNW*4Iy2PeOy#LE^u_;_*ol;q65A^w%s8}A%$$_owVqB(ld1>Pqlu3_>ctOjwd zNA#3@@KD`{FJE&t2(N026ti@SpN~ipt(1ZaW`13S(~*{O?FC#+7iC7XqTT-)r5NsK z%hq?Q0hS9l@l=`CWS3ZAQ(gv4e54s5>wP+F5O(O^H>yai<5j`a@uVJrU7)dlP#*Z~ z9KS?yf6M5N9{XXlT_ZvAf&k@5R9aax(_*VX3*J@+{}Q?A=5q6v`=r65#})NP-o1Ex zG~CTAu2bB%x$>O{&GVs#tjewMEQGGZPp0s;wft*T=j(CcS9iQ~^hyyJp|-|cNT>R1 z?UA!b>Ja0gv570OmFNS}O|LYie}DYF&*>`vVtATe@Fs01{mGOK)4u`g0o zx!}^yB*XQ?))U5!hgVf|aQ^$)|DeNMxMSW3A72a5$EA2=aXhv>a+CPHIXsd0az0>C zLu^`#uf{aA*1k2;W7X=bS1KehIrOPm4>w5kUc=A=_HcQ&i~~5BZuyL4R7bi=1qSWY z3K27h$|@I;wcE^6q!z7XlZG{BBH)?TXS!Ma9J96OeWB5!Z3`T>E}-fN71tY@S`1hO zJxY#RU%f}Wf%{sv3qg0FYo;=p-Ht^YCTLS9&OUMV3U(2C06ochqcnUiPVE~uKv1ge zT^amZ0+kH7Nw~(yeI~=2s7aX3R(3R=-v)P#0e72pr^RtD0dmI%0xBEDtofDm>+;Hd zTFY2>8lgNi8fLp%&GSrmM4~bxYq%mdfogK-wwC>|UI)4^{9`*NJBDkPUa6a7_mxYl zYkBVh``E}xoHP~7FS|oGiS#piXtp($Sr3h^NMSYd7>O-x?ugxQl!!!!B~2l8m4ZNc z+jrP7vxt2^=w7BA;PRwkeirCEA4&JZHQTFZ+guR|Hu`&JZ4$Z5AOm zd5NRSGXutczS9UD;@A5{m$Yvy@jW8-NvaS-Xa=!`QmE=Ruc^JrQrLHpq^uKGPE$l- z+LL-oEZ+S>_PD{=;OVh&aDQLC3cWbSQvCdvp2r3)M0ROm<5Uv$inLB0+Z>}R_c#(_ zi*zhR`%@1k%7T)x&up}wgS2m$CZOCVw8i-@%}Pad5?x=#Olthb$vpjlO4Q@xesP_9 zO@FNN-g?P}I}43hg|jn@^1VbVp~^b(Jav6r z^@#5l@XRYZ)d1LqQCI<5HcZUlLIzD6i;mHWL+7tTzq$p0A1A%*-gFM_vPvDoA-4^1 zZOf)YeH(8`{6vhW()txatF#XE+H*};pbDuy%g}m91)Q21fGnb_QJuHr}{W zC_XSxC>RZy{?;d)rBgrl`QoKLWa@mZNOu6_4*uOD{!MTnAhER`l|Y?v{a_M}dMJaUI6JBUxtB+9IRj~vB(lA4 zTQ2cTtIjO z5n#VuB5aq(Mn2HiI!tQk(nlB&*e+_$2dv1E=!IRNe*Z@E%|i|o?Z^T2a$4lFau=10 zg_B}utn07Jxyjt`n)8zag9Y`UL~%5KsC)m{Am_h_!BTpTrb?fap?`@`kR?FS`W-yj)uLhFsuGfY;J$PHu^wJh^{c&ky z?d?ss8)J))LnOYqE5JGh`Xxm*nd9S(T386jy!pZ+`ijK_W(O{m&ENSQ@LA*q=`%yq zbaVK3dw;U$1ZYN+`hl*u{PRbnlsSx&f!aL9)WV8t;apt_od2!$0>7rg{Hb< zajiK^L%e}uWyGQJhVv}9N0jwf6Fbje&jBaI!t}30w%YzdUHNnWLHj>>4gxloHuisd z5c22JNPNg#0z8S-Q1L6u*I30X%7!Sv#d)O&%`AapWvzB5mz^!a8rzIHpgKc*yg=uG zLx{P3X|`6;FD+Sksd(1#TrOHXE?W*aQgnPeKY*(NMbJtJD_qMDhDBv7dOFLMj%TuB ziyIMnr=6!@He~v~bcQZZxJ_CYPG?jmBK7fpzyfxJZeoXYgsnNcx=et()Vq9l=^Xn4 zGd*k!B(Y@ZPgjE%U?B2CrM9%p&|;AvQyA1BS-O(yH!*b{1vj;g3pPOBZCBAu0A%L0 zTp1Li@0)|xUcz6QGr3wqFf_+$p2j__bs;YMYpa=3fVTe zR>Pfm$M{zyvq3VntA@Qxn#APwBgW0X`guBzlw+X#yekGD0Ej5kSgkpjXnnz$_Ej_J ztIEtHIICYLyUg8jRNSd|TE2{ps7yPoM-=#m?GTE3=H`xd9GLtrE9kJB-187Q^Aman?QPCEPeEUp0htkU}I(Ve}eHMW#uG*_~73M>lNy1%fJ5!1J6l{$~+~K6qALj z({@*%JXT*`4PWKz=~@ur$;LxD4<+>bwCui)vuuuejvX$(g85RMAyBj46R^$Ddp6|F zsp<^p;Pt-<0lZx%Sd5R&2%>&0EPO*KHK0T2L}b6a1Q@_#xAC*8SM#4PK~fl;>wNIS zf$*O{F5Q*~+dkOf;f4k7PRuBIHBRIRBn9>g7RN)}^W;C)#P-ZFxxNi;WUpHx!X`CA z3nJD!jl}KW7w(+#1{`CVylR{q9}Y%lY(~nOS&WMbKo~5+kHFcb02sP85mEmUNSJSF)%m{#J>4n{=>t~vQ1TZFtJ*RCg#ocwr=Lm3_KZ_rOz5A|$bAI8`Eq$*fj#AMZY=ZWzY2J63uU59u=q;Eg)kVgormZJpjd&G;x`8136XM!i&XUag+X(1 ztVM&Y?~&$+6$N75u!)3{QEL9dZB~DTi4e^XD)pEK;&_r?@mdODewEbphtr*wD1n%!=zM~OnI=ma zQmRw=K!~EuVy(Pkq&&-}0JGYGo0l0(J}ZcIXwr{kTE9Nqk^K>r&Pj_-(P>}VqRlf^ zeHK}#=wjQmeQg z)*d9D{k0xr9oeQ3&JQhjz0TPC+ecPh4%A(FJS3c3^Yw~5D$RUz=JuJ3D zIbt*^%i`@&1qY~3e-Xem)c0aBA8pRDLlJJg;Kxc{u!ExcO*Q{AlHxp}Le?&ngWtGq z&TPNbW(QYF&o_W(8xwO;;bCFuiQqeHD*sRl6AS#5QMuu^Zo>8;MA7$vDzX9*5x?!3 z8Z%bpU+v;3WxZ7!{(2! z4V;re`7H#$ufekA{S}xo^bSVueeumB0%i{$!EY#1m7|^>HaxYcv&~I{O2VsWbqU{Lwd4{9Z5$^jl{tnu+i3E_Q#U=ebPu?S?m1S}?usx3Czmc+ zZ#8lc>I>ug_~uN<8(?Sy>q5QJ4^5dScxHK|KCY8~!9||y->7KjY*uJ_{zimqd$KHU z52x|r^9h62-Y!!qPK76H9v&HtRV~uPP1p0}eT>@nM0Du%y402=;Ofr<9%98c2-v|q zh7cgPKKlhj7AW#qviK#3vn4op4*+oVjFbl z-(I_yKs50NMNmxQ=`kfLTT4iRVQ)A6`uBzr`YZkb=w}uX{l|v!&jpR>|5YaV=fv=D zgHVQ&#$Qv`cWKe&HTd@I@8;n`QvU2e;o<#N!HdlZ>iMr{sVHc z-oNM3^95~<_C&?S$Zyc_rpw90tO*nS9Xxd00HVN zqYB;A0eiXm1t+J$wJEDnN(TjaKsUfxk+tvL3I&aMk&Udu__ifw8H9f=f(UR&ahD?#;tH5G-@7EOkw>Hdyuh`H%!2;vDu!v)e7`+;R z00M$xQdk2W@D5jkunzf~ZSVk{@)Ov;I|*d9I%ql9b0%yxfucJWqJZ9fR!2-WObf=! zSz6Qh&`ElP8AI`S?m~V4SSAjuJ~S z4AaePnKqDj1b1Wd`k>qN@2L%g5FOasiFUoy^h94YHGC0S! zGr*0nsd27;clx`58Ywv#YXOQ)j}tqC2f$HnLqizW_qmid0mhZZ4na)X@k^CkrE?xx zoR<56m4-vN_>|jy@I)W#brM;aO4;*ubc{a>K`F_IXocc?Nqt$mt8U74gL+J;82a@m z3D%g^8O1z2bFgFZ=f(;kaN-BkVj|My*j|SLpxas2DP-6qn-=^C-Hra~ z=F5&S^OzUO@T%@ei#eg@k^9`7-1HL5uFqr?bw`bX1-6!{-#^`u3Dgh z6Zjibpov{neg1hCvPZ~!5+dABpNMd11HX%I1KEttK{hh4?klX7A@w$m%k4ZWm;#M! zMp%jAdC~}wwt%4>xN1+VoX_LB(OoV%pLZwXUZbnMlVDAI7Vpmax9|j!DSwA+gPap$ zKSOnPas3K5L|kTdUp6yb26mcYn0q9y`Bi8eWV9{|0JlZOc}fO{khdz(>&ww43&gaO zfG=*wr_l?@NA=vDvF|iM%-RB=wVq6)igNa&xnylq$qi|AJN&L_YCEp<64`v)TM?mM z`OabTQ#YuX|1o z{}AZ^U{OYVbX(4*!{F#pC7EoujbE~vbZBG zzv5l8IBRT|s?noBh=xh7A#5>$!J5Wb&^23$)OvMETZ>O)<3y4vitao;_$U$bSve#S% z1MRQnH=LWEY^eb`kR&^?)Hl>SN!Btx5O=^_n{xK7x7q24{T>B&BfiKl;8VUTEVMVA~1+!_rWS{bJ zY8N%=DAY*cDeWOM!dC7&iy?!|7cbzKwj|jw9P1oZxkr~RT#i)zZr6YHiu(b9Nimie zu7iyk`f$#imzCZ?P*SL$7B@vf)eJ^L$>#53Q%?3^BSRr)R0J`_pIq@KIi6zQh>;iN zq`%9EDQ(lhy?~U?oRn z^Sd`e5-2Kot8bNihWsVg*z9tkD8QM>_((^s^8VOtH=>V%`FXPFrm}sPy|~2McaNbF zd;=+6y{we8oo(b#`y*y#KE71y#@(IxPet~U32T>-O!HpiW8ZOUKfX-N)FLpzMvBevOfmD+8 zwWtM#TNEIwM6ePP*dNG^@zG33TLi7KZ5pC>q|iZ;O-s%3rLmz%#U3ZgpeT*4MxuM& zB1H~0JiBYAL=cqX8=)IhE_f`5TZ@{{{<}<7P+za*c=x?v2q8VbvR% z$?W2J1E{ssR3(4w!w7)3HYWsuKE^a`U)X*BBfWRHX%|DoN$|cfUgd!mvxAhtT+h;s z7N)*}-qB<52n8^Gm?6S)B$su6OtSg|NJ+ATk`Wj`TP%9)0*>sCy@5FGzKB-yQ z;$leoBi@&9iXJiAIK!bYYY|P&*T(Jh(=_-m`{zJx5vP#?9Ub&(IIs%Xvv|TnWo}DU z&GP{+TN%>9AR}c=?P;(zaXpu1<%Y~5#yFP)R&1_t)>#*nJolYPK9k&wxNkM-OG%AUrq3JqtugM-3kLn3xn z5m&EgKr?#6ibo39pHg~j=qrn8&`t8E%2i(*6mn=_D8HZT8P7 z0cTJgV{zCt2yNH)2hd>9bQ@A5676{}xs;>KuLLR84^G69S4?%XzgEqzCEw3OpQ@Qg zrHV`Gye#GRikU12UQ*|X#NX6%Gm7VMc*z$CYeIGKy1cz9+5CYZ6EV=*{4NMzJ#bo* zDYRY_LfskFVwpS>Kv^E4G2|Wy!sSso%==&3t+-Uuw)0EVb%u7WJz-?33yUsU$8c#R zI=yx+o`}ciD>qb@aOFb0_-Z(tn zySScsJo#KlMt)GU5N-$YQFyx~u~$WecJZxT=4UKO@mkJ^n3+3FhB`VoT7;vojuROX zzN&a^AJ|>CyJo**ZQ^ECm^kw&d6qW2L4}5@j5xW&H)(|ICj;jh z@{K=uMWFi$5FkE6ZEgIkf8knv!H z6K;6~f)j3aM1%tZsUN5p3WG3#jamCcVLyKc4e~AP6`3cA*c}?j%Jk5Pka5L?D~tbu zVW@=Y)~xrun*211*by)hC^MSRqoq$BUT^N*7TVVD>Bl5w(t0_DF<%hQ+4KwLnQ`=s zz$6jsbtsF(y2FnA7AkIypl*Yl8pZ<{(7sVSyvHbcz*whiJfv|NyM~WOpK(HLqrRVq_+cZ9}%6&a(kK6aKTVgBOSt#U&N~C zRVO8m5LNo0mXYsg3bx-hwJ#9QFlygW=7mXj5YHU!*(*Ae-5aL_=o<``ats<_VD6Gb zsq;uiQrZ(;mqIRR5fl3r;=)a&>8li=T1u1aj`D3?Ogu>um|4^i)fVUkJz$f^YxFFp zcHF%vQDrd2!j*6i8A@th(}qcKvN8e_M-a<|8)?ine_}3Ml-lW;YsO=u6%G2&H48?% z-Nb<7`v)HCV%Tv9LzvtiX!tp#aL@N!?;T@cPf}5{g((f}s(Jtu4GhUO);S_?&?({w z-6PC#{-VP8k-ubo)0J#!L23=5mJo(Hk#17QM@0>UtQZ{b79V(06EifAs4XdXrgci< zVwH@1!?~CJHL}0Jv7c@q8?+0mF)E($u%2Tyz9*P9*ndHl1+2NF{9-)v$*9ORcSaYTr|+qYanx?#17Iz-#Q|+6lWxuCa!kwDq`7H| z0T7dR!;KKvT}0w52O)~fc^JZIS@?7CN_PV4vu)o(u2jH$QDRlJ%?Wdc)Wz{nhnh}g znrlYos^7*{e^p<(;$C_AYN?pn9K>uoL>;kB%65i7z?!3JmLzr=v4xH+kBZ%6$64M^ z??1W4Y;=pj>5nurN$^C;T?FI^oJA5}kxc_XgM25%PYuE)Oe(^s^JA}Y&SiHLT5yuF zD_ZhJEAxsJrRmL^jHh$MvMW3qes@{lY?xF!Y8wkIds+)j=qitm)mMS} zcO6^&{W0C|QYUGxV{~thAJ3b8GHvtoUNl1weJm}PJLq0Zk83E{ESXE@+&$MLaV%)i zw(VS}zZ$ipSm4$Ym402X%(Nd4UcG)>N|1BmX-qnJlhdP0>1Y1@qNeAh*3Vzy=A)$Q z##|FS)80j4Ss-lbX12kD(l{k#scp7#3ptvZrPcKNt5E<kmqp$uQ0P+jzsPM^AFK@MCb=oHbK@SxbF?E7X*w zADYdAM@!@fc}kT1%r(GCrBia&h!P~dfiB|2$AR`a)O|t~*IUo`KO_u`5S=(O&SQF! zlj5mq#yI^Z{LB5%fGWC`ekyF?B2|{0=$TmMuuC@Sy;heH%tg$N6WOD8JRszah<9Jv zZ7;iN?p=(b-QEoN=jrQps(LCSbXF5xLhNMmO=#?P1b;;m7!nAd<@kI+o2?n7!QwlcHj-~uZ`4dcC4M*XHBny{+~93 z9Dk_m|2N^nKTm83|4WwrCm?@?irMGP2Hl$)AGo)ejv747iH`^v2AE&5TUibmCfoOW zGi=;f;W!NT6xHL-<@Jk-b&JP+h4m9>X&+vhu1AtPow?4(3DMqIQ8stj35QLO%Qo)I z4i=wxk3+aGR8I-`xrG8^RFxJ6yULsywfqoPg!$+%#muND_IplmcK-v!_h3XQb#_!+8+fp%@Cj`2{f}lqWDOQ|?xk(s+ z53H8I!S$7DE^w0ST^UQ##~ZtiREMTP5gB?><{uwM)R`AcGz><%2A2;ZnU|6qqnpek z;Zo|WrumeBNuYvc~IQ4FrbP7ZCB&Q5j7e z+5(D=tc74W1ZRj8q)HYtUtiYNAYK+GB*a)}6lv}ZDaWC1T-)n4Z_QXymx49E(*$PsicT^$7_ zOQ1bMMx$g6gt_8hTDT{@l!dYC1BylxM$K2Y;T_$qY;3sK@^p`K5=26AaRq=uP{6nY z#}fK7uGK~T2TYSg?6_LQS3LF-6GVG^LTZ(i9oOO??q}r}V?~Wza2Z6{f)TGP4f){f z&=&t6W$zSU*|xQNClx0%wr$(C?WAJcsjw=xZQHhO+o`x>`(&?ozZYkJYwh3puI3oy zqTkHkI@;6P|8X>nN#`G^F<9b6L;jetAd4OgGr6M9OO{HQfW-J1iz1&^OqD(68(+Aq zJ=DQ|B`049lwBjcy@Z{}vWZ6y<(pJ0?Rn?e6U7Iou<#$?*Hm19+Os|bfkqtR+7O#> zGqec8BLXj+lUyWe6vlX%Klh4|yI1VrAgA63oR!_$?ve8RitiAXpWGAc~jTzoGSMCgekx1Mz>0shb5bJI4P$Bc{2wLuJc!Y)Wq1kU<)~4HN zccU+UuYtHUUJVt)qG;>ladqVLbX1O&Q@B|3bl(nly9P!q6qV$#`_;NxR(-o;^xCm! zyC_byz*bIq#Hog?&fi=7U8m1Xgp@n=ewJeP4kjy5`YF!9qUbxWqovNqzMiK;YB##n zO9P{B(;S(uMxc$D&cQSR(|o2}REcRfPaHugzbS>Ip#U2zpKE|paaFk~wp+mM*1B1N ztffMJi7a&K zjNcPk>53f&8=f6M^i#3a{nWEmq<9v672)&hA*=utT>B@p^4d-F4M|%Xo!I|yP zR0I4Pn-LuhY7V)YK<)Bd1$ugxC`Zsa?5#|D)y#TPzi9e*z8FY7Z71SF5S^9WioJ09 z$lMZ_rFbm$!sced4k`D09B2I)XThUUI}mH?M(uLlv0A{tTz3_rBl3r9(i@x_f{p2* z+hIL3bGRu7>0XkyM0*uvYaYnfeA69^La6oq`+B%MQx#x-wP=wcsA~(j^K;=e`p$1D zy)@kfsDP`xtDz+SxZL5e$1XlWl!Ss(+v-i7;E2&Q;h2+Ad*k6^i%9%K!d9Ow7vhc4IHSKtl=kA7%dPV5C-OfB(K=T;ej>X zBi)ug=v0slftiQcd~leUk;E0Kf-)^^`npub|b&xE(2I5x>ybOV$`keRGXRupD zAGh3YraQ(iA_yOmxDER0fTjL3t(On3o^JnOdyCBb=Ok-D3%ZPZ@1EoYjYW`LP|BsrQO|2hZDvS60M^iUs%pd_!z~Bj@z`|;A zF*TrqLf=G?1pEkq2Sz8PnV6(g0w=)+y(_h}!Irh8wWPIS$w+dwtil^BHy`yL7n_>haKMaBnoWp3}?C1);Sp0(Ev zyWCmSkgnL1-TQOVe61vf^L!IM7D7_%s_*{XCxG(gF2%u4s-JG9h>;a#sEip(4m8+K zR2)^@zj}F?n^2%c{V@EnFLCW=M~Kdw#Rzvd^f&{KtdJ=*GHap20h|&_m>E%FzBa5W z(D*g}kwG=eR>6%PB&cIt997|cC@qb?|1h^M-(D^gzPOedpH7m`XU{t$jI2u?+uqwc z6QVVU)REByiIzcIG@V1zGD)k{M~Hp~A*D{wuZd+}+Of!?08^I2Cgd>8@o+y7iMBYqPP&*6~9>5!Ip)>YV%&BIQc@GI2)6i!mc{ESP2|{-me+_%9GMVMLwyDOhlKeN!@hs>4 z?$rgyQsy*^k+V`HbV>y{Z+yM&`{5dEW4f!2hF*8%s4jm?bjViOCH?Ag=-{1133LH# zWBDnT+7h`0>k8A}a=!f;VSK?vjxKYBmFByqK&d4s2PYs;b&gF2`BeEX;##zncl;E> z4W9K?xKdTv10~tyc^uWushxZYTpD|y(6^;v5P#+%X#Kaj6$`*$zUnc^pR{tJg=rdbX3^k0&b6oiR-C}f{yZ^h zmaFfm<)V5u7mF5*GH|I&uK5J=&8f_fAGc@2OpRlb=<{3nix zoU&C#ok~j;kOG+vuN+-@;jT^}cdm*w{61DrwY4NX>RWNw zQHyn5i52b?9b%W#*#rB75Ik6j2daD%W3CNQ^_XG7_L5b}aB~MVs2ffTLe&v9n2tPN zI3D^b?AGB~x6ETlCG2NhmgK5{Y54v|F<@g1Ad^Nt_$U23r<+6gMH3M_sGs7YSm4D7 zf#)bBpkD>Dqby-7l;SU!2>=qT!ClgiV||`&$i~tDHcGpKcs5Q8{PX7d??U=+f@^Ct z-+f7N;wTlq358~!63j6R6z=R5lpk9{U0WepP~#?w1@8crpPpGRgUrv1?Yr{gPUW2) zgBNgOTB?D)NjY8~JCLY~o1ylb*ms25Hi4iu1EEo+PD+D>HxRT$+9qRlfc)w$Zg$`M zwSp#30JqsXr?@TZX4V^Y>G%~wR1WTTOck*DZjE{-J#NghfRopEa{ z&NGZJ3QV>I5mt8w1Cea<&YfNSMR5c`pNKCd{!#P8G1Ee2o=V@>-g$&G<1RoS=80li z72FE$x9LukOnISBJLg{HPFVq)!QKOXLl?o-tO)OXa?_&&Z#+U`GVo2sz0*J^Fn5xp z4}%H*VT@(7#j0^hU^auA&%nsi?Xa3|1e1mnNPyS38UICnW`)E8Q>PqPP<@5V!uwa_ z3gBPh#mqu-a$!*baJd&GZ%vO?b%jAcM}{s&S{dY(pgVVP32AV%U%Si4XK}miB;Vip zG>w7rUF2TSyw?TcUf`T_v%07k-+9S)#V?+I<-X%fUAgkL)y+=lV0+7N zAcw$#_%e9``E=)~pF5}dq~^}hmuqxrKkGRT{lr4|0q%DcpUUtuJpXYo+%spY7$?c!* z_nLx+S-+sq{~#{&_mHnyJrYdawUAU}x64C-fpcZ(ym?S(F~Vm_!tuT+QAMcfcRe*@ z>>VQmnwa0h>mf5M5~)r4a$(VL<(lo`fzj4YDd#LrkwU=YgsBNQLFKT@_@ht0Gqi79 zZPp!6jxoJTW&ejg47P~(huOh<{#erWgsSp$%DKKRkiO!at5$dXU#N^v#Wm?q|;4PqR-DKJ-7wcrhU~tpwm3ht@K9 zqPt)r_F>30IHpC(mf}W5Y3B*XC5LwB;?$Lm%o|3g0(EFyO0{5=bV|8!;EuCmhD#@`dK(1H8#9l3&%&&zV29dcTfG_%E>g<=TD(SGlu$)nAX`y$W-%g}g zXhs9&3DOX)BFP>n!Xidv%_4GQBi#H($HZ_&FANO1-EO68R|36sxF1td`miI@C;bGo zsWbbvD^wIN(6C&Qw_Uo18C-F@4u_XsteU}rOz=$*^>e0czUhOM>~jvK$iVs*@Q*cppK9?$3C|zdA|E~k_=So_FB6Y?m9dlRjGMP|XH=C6iysLk&XM8PUbJNc zXho`@AOwWK&Dfsbrm@`pmx*to_ZZ-275xDaQ45~_9=_&};QP>tcCqBi?^k3T8k%b` zLFf0WrsGDi+e6LkCq7-o&q(?|;S5FJCa+T*Dr=dZ3$Ar(f`mB|T zQY5~}IriKm>~|hL2B|UmN}{M6VOPFB_Q$$`97D1gOFf3u* zy1Us$xp%b1^V8_bR_yK%6Pe0I2uE`O&n6Y%KeqA5Rpfg*NmL`SZLj=#?m|n7U2S7&Fi`4MC_Kebx z_YYWnSl?jz77Vd`@Q{J>GTNnA<;~CREF6ZioO!pt|5P6KeCD)(1 z=74cG>Q)f9QEb>~@g8`?hsUQ^%{Sc-!J7;2M1g($(Fii`Z-kgN3$Xq2PsOeujGurp z`nqfSD`o3_JtkRvFbb?sto3Pqu}I%|qRv=y)(_lx(P$Cl?<2C_4(TPBnQxvS{yan< zh@%;{ZdX<`^z2@z--UIzxSp&3G~AxOHBUTxp<;dZi*>SP1>c)K=hv?ceI`|@C4azT zKDLk0NhmE86e9>JrKAjXuI$?MD3W8qPZ>5rjn_2m5KD(DZcjo@iozL4U)}$~-?4Iw zRbKh?2L3*@u-$E!?NGjq_Hh11%WKups)9>GMiyzx^ra>nvm{ZugnuzoEFRfS&kG*$mxi*aNRoQDI{?kC>^Y8ViHa@o@v;n zvLq7=KO?TJ2OzN&z|<4s^X|S|ZBUIS?eh@7@K`~rMG;Wxef9^FAJd`d&?t`)!jjv>Tj;s7r%yn zPWNqmNq47e@epTRvXp#ok<=|LZ4S(vqZJTZOk%He;bqh(-i&_Cq3)p+{|SI zKPEdUBt|!Ybdg2Z2k2lv^6}xOJv^vp8Xi|XZ!WO8UtVn2pY|LPu?9(z+ahk;I(mA! zMEou5=cj%Vd_~!<*cFbTs!Nf}W0<$2Zp+L-37)V<=pbB4M%j0sF?IO-X?}{TxZCQa z%g2RU0N+=kTS+x)Fv-13$ujnPC80bGUN7ivS&e)$z5uX{nEu)yMfLZpmzrhdmAzkh zR~g4R#c)71ihDmCsb+sYknG;cI#?5zEC)Wkm_4SLn>HgyBq|q(!7>)e56YwG;qYU6*yZD z+=xM@6OEJg5-8e88&JCUV^hk_F)3_&l%cXPx|81G8{RNEMK?;4VlxZ($lhGAKpXt% z`s~mu3oI23>T2Rbt&d+-;aTtINM)YA8{$inJN)Egwj?W`!8#k(MYLhsEaZiEZ^va5 z4|Q%^U;D{aHaXJsLx=QtYbX1IiG2k*3s{ zWfkypao9~A*f&>2ADv@NN?r3)xnHvX6ufdtUgkp7{?6Ct9$AXn7M6FOi|@QcQ5H6! z=bdy8K+C_TnTJWJ?>g2zmAuN(B*6z16&t^*uzTl)^N~KMbHB**`@;?&1mmknyZs#R zZwTU(=FiLCTcxoLqOu%)CPTGEG5KIWuxL=v&)BHMTKw>T`bxT$%wpYkj}*;b`)CYS z%vwbHxqriC9N8jRpa_Cxnr4F9c1g+2>YAdI|Z$KbQya&FrTYd&p;Me{9 zjWa0?X7eyv-_(gd_vwP5zBIf`Ph&=uH}F~aju=oU4flc4^>l0dvZy#l%OhHCBYl@y zuE&2M9JRlOmBK_Yn7-J{N7hGNfIin^{hb)xeXhC{AS`VN- zwJFejU2^gQ>q-+36|g7C`Gux!15$uu&0SY=kDBs1F=t`i+4Ht!>4D>VMjXoz_b&kSGp=b7?k`kbzMw zJAz8ED6;8E&^w_}#imR^_`r7MlIU$Q_ppO@4Na(zkl2E~bJ)KVeOxY{FzCv=KAWxp z(er{)nC-fm?n)P=l1fn9JhwLWz4<*W)3$2i;}iKAfKM6_8nlNbo(@qrw_;*-2Aa+w zTaH^5QqRaV0zcc4=>lQT(8>;WuopH`d4OrdEjLHlV;iPOx-eX|nSUH$Pluid%GC+q=PUH#aK7ZIbu9(syeUaDdBBE7qjr z_e8g*QO)2o`)L6e%hm5g$(UBNN`BM!F70y#c(MU5h^(LFLoPTaWpKk=c&ZbBt!n!;h=u zWAA`b@%2tqnXIGI%NaT0JUrZV1x#I#J$nOY3oO6_MU^L&D=#W^($}|!=@DS{j?o%t z-~ti*nF_RmRry4zfmK(@X>F8fE%fRwC115vrPr2=w6cGrBfs$tW|MInpB=^rStnsx z8}jJnY@Qzk-~5 zNn3)zm-HBK>DzD+m)M63D@!ru9<;NTmT|u_pz2i$sr&pxU?K)8Gl@WQT**N8+sFt#HLwxl;F1rW0!UdfpYSQ%eo08 z!A6ASQ7^ejRt}vafrYLkZTfnsGd*Vp6Mir+O2J^Y#pxfP07`PJw=h83TiR&BwH>0J z*_gywb$-;`(=gLRlo+u{yaUouw6XB;K-eMSaWcv?QYKtem= z>mLxh0&YaTTY>chn-t93f!2=jxOtwlp7=t~?T9Ux#r*T0?s&W-fzF_z&lJ^p!7ZV9 zySjH2bC>&6rg$O`LO9YxG7U(K$f5#7rg`*;%(GGhf4$RUQreV}=9?v1mZnf@=OOfN z38LHM>a;_aAKY602o&G1JHPp`9%wz%jP>-=aQCG+*to5eS%Vy&{39##K_(J+(n{40 zBp&cxF|2+SHSy5zO~=WnT4RKwpB33pqN-J$M##BWGfzRWY=tt(IUFWiQVh*pyQ0?E zvJ7cFmj(F{Efn=mm&qtvwu84;9G*jB%U09t2;DjSRA`@LfqW^3ra$;-z~6G$%V@4A zx3^M?Rn2=e<2WfBCmw2?_6Rlf;3ANKNgD0FM|RpG6UVt`d@H!+oBFJA9a( z+w9Eq975vqg<~|!7D7S|mwOyOV(PeOmvDAZ5MQ90jzZKHQ(UB;nln+xXyKg0t=b0f$&dL;9fb?y7lll&x*UJj z_)YbWy5XJb)VILC%U%gA%&k-@XVFl&eMcL;JR;wBqncpFl|SkesjtvvL42>@Z9kgV z8EYI9&Ic-{NwEB;NDi~BwZoAH){m-$*gANQ4Pze(}aX>0}4qjA<^rQz2y(3+Rdrp*+i*R-cuJN zr1VR)o zmp~Z3O+z47!dfX3_#0yWZziW)^mT4y)3H76YX~G+FChFecheHE22xn(xYnbr1MY3j zwU3wgck-V;c6r6&f(eo*CVdnJE^*=TB>pFQ?c6=uSlRAHScByJ=|J25z}iXDZ=?^lpbV}5;$VUGAM zVnVC8s8<2eo?l@1v^Tr)3GpG|oz=Z&v0|k%aCHH*| z5V~Qr6azk2!aWQya&gGRM3)stF+Z_W<`cG?T$-0S=V717XMK)z4XI>kaOl@S+@RF- zgWjmDw$WyO%AMBV`aYZGCdU;@jybf+kq2qnJOV=?`!T# zn4H~03yf!n4La_wA9osFiYmxIYLtC^PvSn1)A{%r!3atZ)MPX(;h1EgZ&>FMeK>a_ zgD}m2D1c3d8Mo+(DLw14DAuylUJ5kCC_7Ji6g54B4De?~j87e{BrweZn*ky^sfVeP z0NKhLI*Bvbl>;H}Fj#Stl%mTA1`;j-$Ibx19Cjk zWA^e#vp$eNN;Vm%M(us`jq>m_o!Z6DX(qRHI95Cu{>?yRiE3aRDm0(NDCdMG8p1!t|&#%Z1MT>Hg zi(6@u7pZYIWlA%*D(BjbEv3k%_4!x8Ep8KW0DT3U?-%O#pAnw_Xfg0_nORi@33p0}c`T3t>um9LG3YBf-=M_+VE|w~FX_>(N2)cmB z*uGPR*;x~X5E~9Lpd}&jyW~g2Rmr~eUB<;i&YC~{iDt_3Y)(N839XX7Xg%6E;yG$P zYT)79}W)+MiKn zEch_Cl)GqsM%s3PCh0S~rbfoEO7C|(AtOLOxSd$jhabf9p6m~z&mOx zQBj=)n-|O8yk(n2#odrzR+Z!?1>RpS-|0XeEkj=SEogaFM_vW1DxW_PgNf-y(rNQr zC)|J{{VZ))?R=&zIH2>F0je-YZaE~d_A3CtPFI5X&Zb#$woUBN5$nFnyxp}$MsEgnjNMT+$em4n(H{PhbDg9%5W=-*c=@6Y z9Cg`!x`@^MTvtw5&y&4B2jwh^B3D3_lBHBYd8T-m5WM9x1!K8`cWzm)Nw*w{)hemm zW(g;Er9543@y_PL&5yF*w#5|VxnY@2XZc1{`RPryKm4t&(bg$Lsn+i*6Fq<$MukkU zyS{;GZ19_LW7PRR8}AT=dyD;spcdwAaM*>`ngT1N*@AaKCs)J_dD) zSd!z%E)7Wlvu6-FIR?*1{};3axdeu^K;eLF3CRB|6#ElI@<_P@5NJ!5)w zudi*&;j3fmpQpUy-%R;`u4p|Js(ZJcn?8kq^ zK&7&*GO{3ocRak1kRgHj74~e1q{7i&BnqjhpaJF%Lb!kP=tT{thH2@hCd(Tk{r3*@ zM2Kp&=X@H^;1q;hs;^f6hqLAP!}~uI|JuPIexiM6=tyMbSF2L{KHcJA+)~}P0d@E5 z=4tBZc8!INc5BtbnHGc?2I}!-bQHcgC>I%un8!N~M*p8&4%7|wwSCV`;gb}cIe@gB z{X{3hmDgw|#mpPDLz02d#*IlGn(+P_^C81zPjz>ptc{Q(9fL7#fgt%soIzP(1Ctft z#KWjN1e*dqrk6%|=uTyzX8t1@-z6~@=iYC{ja&TGxE~#nbEBeJJbTr#Jn|6$lYFe^ zG^th>ML#tq;jRkOzfpKFq|=;mryHcz`F_c`HrB?NdpabRC11;tOBwtMAeB#>t-}1S zTbmCPfzfmmYuOkQtUfUT37xE@yo zTv}olH?RH6^*D`4m&#+AVjl%_(E1kpunR$Am$I`MDK676)&9Bz7e+=vg2Q^b^kZ)^6!Ts|A!#>i~juYVNCuyrTyQd{e8KU$p8Cj zqBa&zP8O~v|7JP=(-~03z-~?fh1U*%@JB=u@u6au z&W1;MY_1FGSv}31;;FQXcLxK7}Xr*yzbTom+T@Ud{wYq2Gh7~ggo z;Yc>xVODu+EJ-zbFvoe6CEtk^D@T)LtFmTW&Gjopw0|{}_Djha$n#+t`5V-Bejffb z;B4#ADwKgzf;E6yHFod9#4J)R*K*EGO#5DD=YqL4y#1CPok82hm0wX=E+_>GZ3nCu_>Lt|D7HB&G;33h(yQMwoPcYRAlIrLmhOz*cUs zWPdrQi$tFN0PG3p8_F8)YMgHzfc^+eb%PFUUSHyslfp_zV`kG=T(QccVIZ9uOKx%# zH?<(e3ekH9)^p*LGeJ@?$Q4h9OcP=<*;AD0rg*(cILmChkxBb{^>OHAB%UQ%Bs@8 zC`!2B;$s96j9t(NKm!pS0z+toP*tI{tl>KfxR_G3Dr0}_Ek*HR~6w(@F zRwVWAWa#OOo?PXFrRValG6C?!l@tb%W3k7AlE|u4=K_(_jgD=Qs7Ocx%AT0=0O4i@ zQ`<~)8C?QolA2`ERBrH=1_;#Ed4mwR!G0N}%!0#5Wrx&g9vA$$Z~*1Cw=I?PK8Pvzq0dt(qRhH+UowILYvF- zHONKi%r5Ln1zDHUUX6V?p*pgMtY{i_^6A(SOyO<7)M|_WERL;F1fBx#mASbC_{25ZI%Dc_n%udG%`vMO>9l-)*Q0K!q~}^bb;c4 zeV5WNrVB6cI+oaPmG>TAdmcip*y+X;%MvZ{Xd4~D?oba)BLrd7#|#5^Vl}O$!Keu1 zMf7kfu(Whc#o_t!U*f#SbhD^u4xLnev~oDi=RF4>aPWn-+EZ1svhev6*tF~4m8Am4 z`J#yg4KvdPaoP-3)9N?cLYy@*MnlHrW^;bI8qY@J&3poB;s)>rXe$4K($m|^SDJbP z|3H=w%-So2Jh7SO5>FBynb<_ub2yiF)Ul48e2G(Qm+W!bAeh)W{IahbVC$Z>YgzZa zprQ2Bp=QvQq0WMFIjA2HIX z3FU=yfcn`z$!MG^pka#u8Pj8mtbs%T1&S!)2gvN~gIcd{_H*PW7A5>ht02*5lS^=cVrU z)qt-!-nW`xL;)t2bNI7Dij~!R@TACX{1x|4{iOea)r`SxclTc2-&H68-#k@ck{?S+}h_)EdO@pK<~Wg;clFNo0snFu9=;^K%-G zV^<6ox2sOyYiHPkkkyb;e`)-&cNFL|?(3_SBuzjHllAaJVNoTjfW4Z*55+~o_T1CT zMw(k_=_W4?6n+Dkw_&OGrSE%>hF~o=r_9R+Y#!Cy2@{l^S_hY4MNoIP@nfhVh5EZR z-bcz}r<%oDTJo|plu7HH!`>P^HCtM8keCzI#tgOaTCik#=!8F98(xFcmYrZjQFn4` z8ef*55}~-4w;4|i>99jH$`3hDQ2c^HA4v(-G;D}bD0#Gk@?($5R%gtTbZC^9t|5hV z%3!tAAT^*ga2(($_dh#bVnJBzfFqbb%P>|kOvOgkpvwo$2N0kJX@PVzM!SMDVjvgg!--fM`LjOLb* z){064C_HMi8Qs)f5`VoLXlaDr1tf$eXsc8ZQS7Hs50AsG){syu zg90=%=o7w^mJEwbtr>EeSo&QVw<$-(M&Nv-Ssv>22RVJFO(PoK(oXE8g6oPuA01xt zQ)5r7O_X(H+&#VJ4k*j`GKL3XiXt_?wQpUM(?|>cl!QbuEy@niEKeJtq!$dvK3|cf zI9be-(r6bu5aHw&CrYRZJ`>0;gE2xZ@|-_kq?tp`Uk{hwI0hvjvB(d%QPe$0X7r^T ze%pF)*ZQ$&V8>2J-Rq-cD|MnkL}MZrgfh-+tnDGq>pgw`c#oMWkIzH zfNMk^5Ng)OKtwdpc$Y^k#ZfBvZTUi}>G05;r3kx9L}P!F$)_zAHGP49^0F{z7KwZ)u7r)Dt4gssv#)ead zfeah`6})3Ma(Q1CGtn^;v3YgX6bA~kVwf|I_f++(%POcY`f##EZeg+6m|HJ1;!O6) z6PtT`otH4KrxC#BbCpnr2YH^R7{ z6b+_aN~JH8v}Ig!vyth7jT6TRZkU$>2?zSV1u|LQWPW*^!(h%g=!E}Fur`N3xlC|K zGXC^?QQLGsV~>hxrxZu8b#NU!%NPb5d&VIwF`f((c2O2`DpFUEZdsCfBpI>Th|9P; zhS`QYq@HmW&Z=Qxy|$40N*d9!x^7bDxyhGJ+h7rWF%NO6mBGWG7N!vC#FHC+^mjVQS z?DK{{VLh2kXu)lqy_UrL=ud?}S2Q3`sJYyiVSCPy`%5W$o;yQ!I1Rhs9y=^Tw;5x$ zJsCK&G1w;)F!z0#yaSJ(>5g&PJL)wVX1aI4*gqn=xquFgpYovYE&+G=cq8A;L&v^v zky2?LicZx5ezAO5?bpkew22-)9(M6?VI;H5<7e9NVyQrg?8aX~zv>A+Z99^?*;`hG zj0_gWL304>;2z0cWuQ%TiH)g<4B95dB%F0MH#t;_kOqKF)*5rDOdYgj)Fvpm;!(3x zd2v?K7fTL2K8ICYEGG0%VW`|ys%6W0m1pBB!j&K1@yTAwkK;9ee0sWu^SH%1Ty$Gd zCAL~X%cg6|;0d)WcZb3_1$J znQ3e5S!LXMwe`r}nge5ZGh+hELPhMDaPV+=W%&9<^Y%x@D{-)B9`vDUCB@a$!2Y95Uq^OUqI~EtPLlV_S5CZ zic>?4XH?NeiT+dzjVV8%*jlgFszp3A*|&r;*jU7qK^-b}n^3ouGABxu8Wlu%1)smOB)e^_1F{G|_mHVT%e|JCJE6O$}n&D~@AMv@< zonaVy`3Foe)AJD(8HrpOwi4mB*|FJH!-HHe)$~XEe4&;%2C`i~8~a7xc~O{Yw;9T^ zdZ}T!46x-9Uo4l1pN(X)trTOxrQ^QXnyh{ORnx-a-lDW!d};i{4XHmJVw+h5SrUfu z8z1`vvYuD+!Q;DVo~@rpmmWHfn*)4NQIp0Emm#5IaPrK7ZCeCfje`)|x9eV}X*SP21vQ4~O2X+WKuk%c^ckB` z1A+AHb@tB4Lj2wi{eriPjKHJE2adFT!rEV~Ck(<6y3fthzWK=A^ZtD9I#t%#Dd!9n zB_A|Zf_3b5{c=nCjpu|`WRH1rkm~4!&5sT;BoRVrL;~9C-T~@F%eeeikd@8KxBafc z0=T4n@)9n&uK3L;f9*brSpmHfe!ob(0t_%n?orU!PZ>nV)W>sky-j@u(+CJG86pB1 zrirf(G(wcBU03Li-Zmc6pMoq5G@#+BDt?kvB2Y12g$b&;{EovBgapy#`XJRnhdZMArpqnNo4rP<=zGPvL)&1|{gzP+llIc2 z(a0DQYs9*&B)(HjLtoO}wGqZh(w(ICT=8V6XGEwo*=oAnYC0YRIbU|;3CBe}3H+{f zGoe`uU8d+0O+!6~SL%9Xa!wl-;ITa^6XwrEp+=Z$i2ys5 z!_Q#@nqh*D7F<<#6h5Az{o+;BY}8MepNT5p_(yrN{I#^gxz<7!8&Zec733ji1Qc23 zz77d)2E3d8WNp#I@V9UKDa4_-+I0cy-^oB+hB5GMy zpuo-E^dXD6JMrZvOp>&4wf1J)rC2}>qttwrxMCx_*z>LQioxoGt?dreeP6XH*)`H& zc8^Xji@>SdoFZHw6<-XBImbYdsx#GzrVRwwBox$3jha!g4LKEC>HB8>3%H@PXP_eTjs7sZfG?$?SIq>2~3Y3oF-3 zUNAux!5}Y-79Hc(TPAQF@^X+)Hd`t3zlU^=BUZE758KHDeu!?RT-H1{X-4rf_t(0? z&ErArbg=+4+W<4;f^M)7?re4Z(&LA_sxnx+1nOY2+sTCj)=ML|Z+^m;pw4g9noL$X z$IhdE$m9t==xeY~h-eafi$5mNwWyFTP>9wS3?^WT2rre|`L5OnRAisek_-nEMUltA zZ)XazKGeac&-@vxh~WKZ7PVy%&8HvDXBo}+^|J@bnuWZ5pHnx9>9?D;y%Ksl!Ri=ur6S69X zk6gU7WZGQJ+|rGSwyfr-3T=2>bJnS8-2X>N@i`zn9pE zgY{KC+F91EBJ^fK(l7*V5O)pRM8Dd+`rO9aHw1$A*U>j@?oA4C;SL|_T5Ka#Ik%wM zT5GFc6wx>S&U)J-D8wiV#?xS10X!Id*?A+8c9X8tOQ_}<<({7H)CM903YXdHVhkii zlK|-O8?hf*YoyJATZ$Jp7wuV)Fsy~Hp1Lsm0Q4yJMuuJnth0Gj)wp(cOr*g%SF|58 zrZEE+K?Pf}gu=BC9*p$NzY~2C+MbdOXk07zu487%ED@WtlCpGM3(ykc zr728nLXbocm{cL%aAp?)w}W#6FIv3Yvr5koZ3T|7p15VdXp*jMv)Wuz4c-c6v~wCX zXi-&K>xB*Iy1tE)98vLM^uM-VfUQyB%hxZrW+n{9|(E7{Qe()<> zE+PjcIJPuTf>=zwk6#BJPSK$X ze`ajnc_WHw_&KInlziU_fweGhbt!Z%0ojTyXB*(Tw?GmJ8KV}YmZf^}l_XDB6SF$K zu}kp~N=IZl=Eu@4sulgTuJ~y&F*A0x1hfCui&z)my|U(Ewn(V>+Ysp){27U=&2CKE* z<^Bb{Scw*BzQ}lV`%zjF&PCap3t*4^P71X)TpKc0If00V*UW;3c zzl2nme+#L9pTDO1o4n!w0PIW*=_L%DW$X;TkaZ-C|B(ubRFIVhVMOpgakH{{f1uJ5 z;lsuA79(lR)FL)&iyU!td}7JZ z?IfSSy;$&%E1i$+P^f=CGk4y)^ynVb6+I0#L_4Q0ZX5Ojb^XZI5S7fiH+o<|Mp^lI z)%;R}sd#M~xX~ys&bL_<#q)nLp@B--<{|&u+=iWghu5afT=@yQmc{0rDmRP*zsO-| zI#}NoW~)+B|H{6~!ydF3FF^`bEA_hY6f4^RML!~IO`y=dl&eS=`J=_bW`3oZIn!o| zj?w`nox?h}N39+q<4;EIWTx>%%1tj!+VloW%|K&Ze7eTr+8b66krro_{p1qNQ<&-$ zlI52~`A)RtRH08iyhi@7d~b~|J+%54(^}{&k@e3~p3>j^Z-1@e|Ms8!--Y~tH0%F0 zwEZ9VE|UL!{V&`SHBV)%FGnw3P_!5^7F92H_;|ktLlH%P#>i@k@HMpZ*@nh5$6nPH zm!$S4pMsC&DV9l+)Dwu~J7yP;3ot#!l6b}8&ZDfOOP&kN&yUA*Js{JX>6m@nIzu#? z`UY}nTU8R+_1)33U3*(n^;5qe>r`oljl>r?sc%OeNN|}tM>>SoRh%3P9`!`K5#2@a7GYw9KcP(Zx+OP#@ z5sV=-cMV#+MY#a*Bw@yy%~F!{Ty^m7j)CF4?KNMl7^Z5t1MAlw-i0f~etjoZSR24c z8lQhtd7cU;5vR!!bbZD|s;VHEOvi9qYh7&VLIYK^?@)sb$lbQY_0|&`j_J1D8EFBs@5VtuAQ(F7izwIy4}&c0+T@s{M5XA@#`> z!_A=@)y+P;m-<0w%;DZNIKr_iF*>){V5~p{&$$b=e zBC;3*?>nram!Tz7eC4|}{V1QV=3*pd9Kgn;vrc;^7{?a1g_&jSiX+M9(6w|_B;Xp- z2+68!GWr^_4dX%=Yc~U0!oLFDMR>)rUWTbbZ3+YMnE|o!JJEQm^dQjaOS2*Fzuy=B zFzC}7Ic&NfpZn3NGnMYA3{iZ|5kP5NLdDD?(q?ca+aT;jBBSS+5~ebaTb11=-4y#FHiX$8!=I#y8Z=FjIRE`Oe5#h9?=UC_M~~ zq>mEbh+~B0{Z&U3*YeRT#g5 zk0c06#1{`i2xfU`sBEsOkizm-0tJ!=S6J6oS(IH`Ws=IA#0NSmN~0nV0TCTD6%<0P z86A=kk%&|RDRRasMMF?arOvr`ulJmL?^!ONbN^VJ^ZOp>JLfy+p6}eRv1Vj=Mb*k) ze^=*&k@Kv&Jx&L$>3+Wb*pB168EMlpyOsAh|M0|97SZXGSi9Eg_SDV|-v%m|?(~W8 zXz(+(^>_HMQ)E;Z=gSTCc~2G74^{c}G)CMxonKt{Kru4ezs$#9(_SKTe0eJ1q`U2j z-pYjP+^NapIFb^sQufnesWX9*=DDEld^LU|7N_`o|QWgKi+Y` z@{6tV@x99)8`TL#>7(lUJ}P-=ar=?ug@low(ec+tICr@gRV;k-2o-esog~}5lE58J zU9;C$d)?GrDyZ%E{yx89@%i#n$I!mQl+vEA_?FdW(`Cgr?ux3Wz!`lG*FTdd^mSRQ zLyHq#IagVE-JqJurMI!+=e-x2W<-KayI|b zd2(E{$FauZ3-!M|x0=`Y?5&rUF%JuyuZJ5W_AT4j+GbaLwzT`!f!#7Y`^*n6e!SRv zS4rEScUQ-IJd%Y!X;xkeuI=B`sw~s?H~eRBF#n^*ir49_9$N7Jbv`?=JiLu z3Y=KJXZQg9f`7nb%C5cOkl2#`DC;l_dy0u_9W_a@r$4pmnM6_41n}5{*%7Cx;J6^) zu;`GfQ9;pRA;Gb6eo-NGlF(0dk`N9Bn}XSwrqLMG3h=jAP;~nik@ovNJT~e9fG-er z4A#B^w2us%9~>PUoSddj)oC>=4Il$UR1#QT;=TRrn(ILuSVIM5zapdtp`As56Tcr_ z?NRTyN}sM<6oKnAxx-j+A0SKx=OVV4JQ+a36{_VK+7!RE^i;YrCW{rt9HK)5Bh0B$ z7)mMlDu_z2R~z)qkvVHqQfu5MEnI6>A()hc$$@tCvQ-Z9EbtAI6i^5r*1qJ(8Z328 za-c|Ba0cqPR;R%bNwUGrGLCKnql+LKn6k_g)pf-nCjkdF2T8BKFi}zE^DjDNod@#W z0uS89ag-tjH=U^?E!i3{=Ypf`iRMMuWNOLXW;;tWa2O1VBJc!Yuva9&BK?`XoUVc` zS%>i$vt}nz9oDFH8nW!Kf0Nh|0tV1DFzDPcI9q2jT&g-bRV^G-Xm_@5{rs;l0r0zE z9OA$yUC6*{U2-Nf(uscZ%=wD5BLIE^Bp!!Joa@R>9AKRJW~f)Bsn!a`WCsYp%8ez4 z_SB7nwa{rfn0(7&7NnMTSWDL_bW65lQ#17jX)t3km;@0RdLfL7#M&GxQ?R%5+!A2# z5HPjjLnx1g6=j;L!E2HEYqTIch_@Yr6D~<>T-+!xq1N1pAIyTVay>^|Nmxd(cO$A_ zr61ig3wXv;@ZjoSHHXKfuY(=o0+m5E1oiPytdK?;raeB{7ZIRL2`@zby>olc z?F714gLw#62IA;<^N6eyFk32jkjbCHPk}@OFLbp8m+dYOL73|IrYM*x#?h}n;)XCu z&*O#v6s^H*&INJ9g#-#&(=KS#8d6r09cNc#`n4DktCxe4pMID!Ipz`LAujM7Q0i07 zFQdn|*cnxdzs+kDRb@v}UKo?PN|M;l9YO9wXy$lu}FF-%f z#Uy?(2qfOC?53R9yXYL|lHR7v15>*am?{xt`gVeOJ~x zfDgtADMItmZYL<-&MoQT%!1b6g}HwmEj5ogXfb#Gh(t?i;_>3FRwz5{TGJdxuI|fc zfmVrx-w)&{RwvGa_8!(-2^Bi|T+kwZu;L^~?dcM@km^tJ*`PJ)U`0TVN;1URh|l@r z^#S?Z(0WvOG*cLa+z`*A{eX^PW(PSsdeD+6u)-BbC)NvjA)df?lqquJKP9tAzuXM# zu5h$3TgV=XXl(p3UxkHlS@d(4voUsQ+l1`M+LB+g@;Rb+T=8LWboUTAiiAM47ttGy zvoO8fD~G^^S^tRKp5<$WUg(1NBsn^CLdcKrp%QLQLWZQ+fya28Qv`;l5lD<1==GXF zOov5-K(f9bDdiR!-*o7`2zYmgqxolqnvh*^s5g1cSrm`P!>YyQKrd5ZRwZ>5yp_RG zs03Ky9SuA}qIvW9+IzorbZK`s`2B|FA>+Z>xkhL&+U0pM;FY@!GMLfhemppb)d@Kv z9s+~2c$PC?8T1?xXAyZ-$bwb|aeC1#0zM1$$O|4wa Date: Sun, 31 Oct 2021 16:20:23 +0100 Subject: [PATCH 37/62] Blur 2.4.0 - Ingame-Configurable Exclusions & Fixes - Made Blur exclusions configurable in-game - ReplayMod and ProjectInception screens are excluded by default - Update to MidnightLib 3.0.0 - Fix version in fabric.mod.json --- build.gradle | 8 +- gradle.properties | 6 +- gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 59536 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 257 +++++++++++------- local_maven/midnightlib-0.2.8.jar | Bin 60133 -> 0 bytes src/main/java/com/tterrag/blur/Blur.java | 11 +- .../com/tterrag/blur/config/BlurConfig.java | 8 +- .../blur/config/ModMenuIntegration.java | 15 - .../com/tterrag/blur/mixin/MixinScreen.java | 22 +- .../resources/assets/blur/lang/de_de.json | 4 +- .../resources/assets/blur/lang/en_us.json | 5 +- .../resources/assets/blur/lang/pt_br.json | 2 +- .../resources/assets/blur/lang/ru_ru.json | 2 +- src/main/resources/fabric.mod.json | 2 +- 15 files changed, 202 insertions(+), 142 deletions(-) mode change 100644 => 100755 gradlew delete mode 100644 local_maven/midnightlib-0.2.8.jar delete mode 100644 src/main/java/com/tterrag/blur/config/ModMenuIntegration.java diff --git a/build.gradle b/build.gradle index 36ea0a3..77764c7 100755 --- a/build.gradle +++ b/build.gradle @@ -19,8 +19,8 @@ repositories { includeGroupByRegex 'io\\.github\\.onyxstudios.*' } } - flatDir { - dirs 'local_maven' + maven { + url = "https://api.modrinth.com/maven" } } @@ -33,8 +33,8 @@ dependencies { include "io.github.ladysnake:satin:${satin_version}" implementation 'com.google.code.findbugs:jsr305:3.0.2' - modImplementation "eu.midnightdust:midnightlib:${midnightlib_version}" - include "eu.midnightdust:midnightlib:${midnightlib_version}" + modImplementation "maven.modrinth:midnightlib:${project.midnightlib_version}" + include "maven.modrinth:midnightlib:${project.midnightlib_version}" } processResources { diff --git a/gradle.properties b/gradle.properties index 4422fb6..18a251c 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,12 +8,12 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.12.3 # Mod Properties - mod_version = 2.3.0-1.17+fabric + mod_version = 2.4.0 maven_group = com.tterrag.blur - archives_base_name = Blur + archives_base_name = blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api fabric_version=0.41.0+1.17 satin_version = 1.6.4 - midnightlib_version=0.2.8 + midnightlib_version=0.3.0 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch delta 18435 zcmY&<19zBR)MXm8v2EM7ZQHi-#I|kQZfv7Tn#Q)%81v4zX3d)U4d4 zYYc!v@NU%|U;_sM`2z(4BAilWijmR>4U^KdN)D8%@2KLcqkTDW%^3U(Wg>{qkAF z&RcYr;D1I5aD(N-PnqoEeBN~JyXiT(+@b`4Pv`;KmkBXYN48@0;iXuq6!ytn`vGp$ z6X4DQHMx^WlOek^bde&~cvEO@K$oJ}i`T`N;M|lX0mhmEH zuRpo!rS~#&rg}ajBdma$$}+vEhz?JAFUW|iZEcL%amAg_pzqul-B7Itq6Y_BGmOCC zX*Bw3rFz3R)DXpCVBkI!SoOHtYstv*e-May|+?b80ZRh$MZ$FerlC`)ZKt} zTd0Arf9N2dimjs>mg5&@sfTPsRXKXI;0L~&t+GH zkB<>wxI9D+k5VHHcB7Rku{Z>i3$&hgd9Mt_hS_GaGg0#2EHzyV=j=u5xSyV~F0*qs zW{k9}lFZ?H%@4hII_!bzao!S(J^^ZZVmG_;^qXkpJb7OyR*sPL>))Jx{K4xtO2xTr@St!@CJ=y3q2wY5F`77Tqwz8!&Q{f7Dp zifvzVV1!Dj*dxG%BsQyRP6${X+Tc$+XOG zzvq5xcC#&-iXlp$)L=9t{oD~bT~v^ZxQG;FRz|HcZj|^L#_(VNG)k{=_6|6Bs-tRNCn-XuaZ^*^hpZ@qwi`m|BxcF6IWc?_bhtK_cDZRTw#*bZ2`1@1HcB`mLUmo_>@2R&nj7&CiH zF&laHkG~7#U>c}rn#H)q^|sk+lc!?6wg0xy`VPn!{4P=u@cs%-V{VisOxVqAR{XX+ zw}R;{Ux@6A_QPka=48|tph^^ZFjSHS1BV3xfrbY84^=?&gX=bmz(7C({=*oy|BEp+ zYgj;<`j)GzINJA>{HeSHC)bvp6ucoE`c+6#2KzY9)TClmtEB1^^Mk)(mXWYvup02e%Ghm9qyjz#fO3bNGBX} zFiB>dvc1+If!>I10;qZk`?6pEd*(?bI&G*3YLt;MWw&!?=Mf7%^Op?qnyXWur- zwX|S^P>jF?{m9c&mmK-epCRg#WB+-VDe!2d2~YVoi%7_q(dyC{(}zB${!ElKB2D}P z7QNFM!*O^?FrPMGZ}wQ0TrQAVqZy!weLhu_Zq&`rlD39r*9&2sJHE(JT0EY5<}~x@ z1>P0!L2IFDqAB!($H9s2fI`&J_c+5QT|b#%99HA3@zUWOuYh(~7q7!Pf_U3u!ij5R zjFzeZta^~RvAmd_TY+RU@e}wQaB_PNZI26zmtzT4iGJg9U(Wrgrl>J%Z3MKHOWV(? zj>~Ph$<~8Q_sI+)$DOP^9FE6WhO09EZJ?1W|KidtEjzBX3RCLUwmj9qH1CM=^}MaK z59kGxRRfH(n|0*lkE?`Rpn6d^u5J6wPfi0WF(rucTv(I;`aW)3;nY=J=igkjsn?ED ztH&ji>}TW8)o!Jg@9Z}=i2-;o4#xUksQHu}XT~yRny|kg-$Pqeq!^78xAz2mYP9+4 z9gwAoti2ICvUWxE&RZ~}E)#M8*zy1iwz zHqN%q;u+f6Ti|SzILm0s-)=4)>eb5o-0K zbMW8ecB4p^6OuIX@u`f{>Yn~m9PINEl#+t*jqalwxIx=TeGB9(b6jA}9VOHnE$9sC zH`;epyH!k-3kNk2XWXW!K`L_G!%xOqk0ljPCMjK&VweAxEaZ==cT#;!7)X&C|X{dY^IY(e4D#!tx^vV3NZqK~--JW~wtXJ8X19adXim?PdN(|@o(OdgH3AiHts~?#QkolO?*=U_buYC&tQ3sc(O5HGHN~=6wB@dgIAVT$ z_OJWJ^&*40Pw&%y^t8-Wn4@l9gOl`uU z{Uda_uk9!Iix?KBu9CYwW9Rs=yt_lE11A+k$+)pkY5pXpocxIEJe|pTxwFgB%Kpr&tH;PzgOQ&m|(#Otm?@H^r`v)9yiR8v&Uy>d#TNdRfyN4Jk;`g zp+jr5@L2A7TS4=G-#O<`A9o;{En5!I8lVUG?!PMsv~{E_yP%QqqTxxG%8%KxZ{uwS zOT+EA5`*moN8wwV`Z=wp<3?~f#frmID^K?t7YL`G^(X43gWbo!6(q*u%HxWh$$^2EOq`Hj zp=-fS#Av+s9r-M)wGIggQ)b<@-BR`R8l1G@2+KODmn<_$Tzb7k35?e8;!V0G>`(!~ zY~qZz!6*&|TupOcnvsQYPbcMiJ!J{RyfezB^;fceBk znpA1XS)~KcC%0^_;ihibczSxwBuy;^ksH7lwfq7*GU;TLt*WmUEVQxt{ zKSfJf;lk$0XO8~48Xn2dnh8tMC9WHu`%DZj&a`2!tNB`5%;Md zBs|#T0Ktf?vkWQ)Y+q!At1qgL`C|nbzvgc(+28Q|4N6Geq)Il%+I5c@t02{9^=QJ?=h2BTe`~BEu=_u3xX2&?^zwcQWL+)7dI>JK0g8_`W1n~ zMaEP97X>Ok#=G*nkPmY`VoP8_{~+Rp7DtdSyWxI~?TZHxJ&=6KffcO2Qx1?j7=LZA z?GQt`oD9QpXw+s7`t+eeLO$cpQpl9(6h3_l9a6OUpbwBasCeCw^UB6we!&h9Ik@1zvJ`j4i=tvG9X8o34+N|y(ay~ho$f=l z514~mP>Z>#6+UxM<6@4z*|hFJ?KnkQBs_9{H(-v!_#Vm6Z4(xV5WgWMd3mB9A(>@XE292#k(HdI7P zJkQ2)`bQXTKlr}{VrhSF5rK9TsjtGs0Rs&nUMcH@$ZX_`Hh$Uje*)(Wd&oLW($hZQ z_tPt`{O@f8hZ<}?aQc6~|9iHt>=!%We3=F9yIfiqhXqp=QUVa!@UY@IF5^dr5H8$R zIh{=%S{$BHG+>~a=vQ={!B9B=<-ID=nyjfA0V8->gN{jRL>Qc4Rc<86;~aY+R!~Vs zV7MI~gVzGIY`B*Tt@rZk#Lg}H8sL39OE31wr_Bm%mn}8n773R&N)8B;l+-eOD@N$l zh&~Wz`m1qavVdxwtZLACS(U{rAa0;}KzPq9r76xL?c{&GaG5hX_NK!?)iq`t7q*F# zFoKI{h{*8lb>&sOeHXoAiqm*vV6?C~5U%tXR8^XQ9Y|(XQvcz*>a?%HQ(Vy<2UhNf zVmGeOO#v159KV@1g`m%gJ)XGPLa`a|?9HSzSSX{j;)xg>G(Ncc7+C>AyAWYa(k}5B3mtzg4tsA=C^Wfezb1&LlyrBE1~kNfeiubLls{C)!<%#m@f}v^o+7<VZ6!FZ;JeiAG@5vw7Li{flC8q1%jD_WP2ApBI{fQ}kN zhvhmdZ0bb5(qK@VS5-)G+@GK(tuF6eJuuV5>)Odgmt?i_`tB69DWpC~e8gqh!>jr_ zL1~L0xw@CbMSTmQflpRyjif*Y*O-IVQ_OFhUw-zhPrXXW>6X}+73IoMsu2?uuK3lT>;W#38#qG5tDl66A7Y{mYh=jK8Se!+f=N7%nv zYSHr6a~Nxd`jqov9VgII{%EpC_jFCEc>>SND0;}*Ja8Kv;G)MK7?T~h((c&FEBcQq zvUU1hW2^TX(dDCeU@~a1LF-(+#lz3997A@pipD53&Dr@III2tlw>=!iGabjXzbyUJ z4Hi~M1KCT-5!NR#I%!2Q*A>mqI{dpmUa_mW)%SDs{Iw1LG}0y=wbj@0ba-`q=0!`5 zr(9q1p{#;Rv2CY!L#uTbs(UHVR5+hB@m*zEf4jNu3(Kj$WwW|v?YL*F_0x)GtQC~! zzrnZRmBmwt+i@uXnk05>uR5&1Ddsx1*WwMrIbPD3yU*2By`71pk@gt{|H0D<#B7&8 z2dVmXp*;B)SWY)U1VSNs4ds!yBAj;P=xtatUx^7_gC5tHsF#vvdV;NmKwmNa1GNWZ zi_Jn-B4GnJ%xcYWD5h$*z^haku#_Irh818x^KB)3-;ufjf)D0TE#6>|zFf@~pU;Rs zNw+}c9S+6aPzxkEA6R%s*xhJ37wmgc)-{Zd1&mD5QT}4BQvczWr-Xim>(P^)52`@R z9+Z}44203T5}`AM_G^Snp<_KKc!OrA(5h7{MT^$ZeDsSr(R@^kI?O;}QF)OU zQ9-`t^ys=6DzgLcWt0U{Q(FBs22=r zKD%fLQ^5ZF24c-Z)J{xv?x$&4VhO^mswyb4QTIofCvzq+27*WlYm;h@;Bq%i;{hZA zM97mHI6pP}XFo|^pRTuWQzQs3B-8kY@ajLV!Fb?OYAO3jFv*W-_;AXd;G!CbpZt04iW`Ie^_+cQZGY_Zd@P<*J9EdRsc>c=edf$K|;voXRJ zk*aC@@=MKwR120(%I_HX`3pJ+8GMeO>%30t?~uXT0O-Tu-S{JA;zHoSyXs?Z;fy58 zi>sFtI7hoxNAdOt#3#AWFDW)4EPr4kDYq^`s%JkuO7^efX+u#-qZ56aoRM!tC^P6O zP(cFuBnQGjhX(^LJ(^rVe4-_Vk*3PkBCj!?SsULdmVr0cGJM^=?8b0^DuOFq>0*yA zk1g|C7n%pMS0A8@Aintd$fvRbH?SNdRaFrfoAJ=NoX)G5Gr}3-$^IGF+eI&t{I-GT zp=1fj)2|*ur1Td)+s&w%p#E6tDXX3YYOC{HGHLiCvv?!%%3DO$B$>A}aC;8D0Ef#b z{7NNqC8j+%1n95zq8|hFY`afAB4E)w_&7?oqG0IPJZv)lr{MT}>9p?}Y`=n+^CZ6E zKkjIXPub5!82(B-O2xQojW^P(#Q*;ETpEr^+Wa=qDJ9_k=Wm@fZB6?b(u?LUzX(}+ zE6OyapdG$HC& z&;oa*ALoyIxVvB2cm_N&h&{3ZTuU|aBrJlGOLtZc3KDx)<{ z27@)~GtQF@%6B@w3emrGe?Cv_{iC@a#YO8~OyGRIvp@%RRKC?fclXMP*6GzBFO z5U4QK?~>AR>?KF@I;|(rx(rKxdT9-k-anYS+#S#e1SzKPslK!Z&r8iomPsWG#>`Ld zJ<#+8GFHE!^wsXt(s=CGfVz5K+FHYP5T0E*?0A-z*lNBf)${Y`>Gwc@?j5{Q|6;Bl zkHG1%r$r&O!N^><8AEL+=y(P$7E6hd=>BZ4ZZ9ukJ2*~HR4KGvUR~MUOe$d>E5UK3 z*~O2LK4AnED}4t1Fs$JgvPa*O+WeCji_cn1@Tv7XQ6l@($F1K%{E$!naeX)`bfCG> z8iD<%_M6aeD?a-(Qqu61&fzQqC(E8ksa%CulMnPvR35d{<`VsmaHyzF+B zF6a@1$CT0xGVjofcct4SyxA40uQ`b#9kI)& z?B67-12X-$v#Im4CVUGZHXvPWwuspJ610ITG*A4xMoRVXJl5xbk;OL(;}=+$9?H`b z>u2~yd~gFZ*V}-Q0K6E@p}mtsri&%Zep?ZrPJmv`Qo1>94Lo||Yl)nqwHXEbe)!g( zo`w|LU@H14VvmBjjkl~=(?b{w^G$~q_G(HL`>|aQR%}A64mv0xGHa`S8!*Wb*eB}` zZh)&rkjLK!Rqar)UH)fM<&h&@v*YyOr!Xk2OOMV%$S2mCRdJxKO1RL7xP_Assw)bb z9$sQ30bapFfYTS`i1PihJZYA#0AWNmp>x(;C!?}kZG7Aq?zp!B+gGyJ^FrXQ0E<>2 zCjqZ(wDs-$#pVYP3NGA=en<@_uz!FjFvn1&w1_Igvqs_sL>ExMbcGx4X5f%`Wrri@ z{&vDs)V!rd=pS?G(ricfwPSg(w<8P_6=Qj`qBC7_XNE}1_5>+GBjpURPmvTNE7)~r)Y>ZZecMS7Ro2` z0}nC_GYo3O7j|Wux?6-LFZs%1IV0H`f`l9or-8y0=5VGzjPqO2cd$RRHJIY06Cnh- ztg@Pn1OeY=W`1Mv3`Ti6!@QIT{qcC*&vptnX4Pt1O|dWv8u2s|(CkV`)vBjAC_U5` zCw1f&c4o;LbBSp0=*q z3Y^horBAnR)u=3t?!}e}14%K>^562K!)Vy6r~v({5{t#iRh8WIL|U9H6H97qX09xp zjb0IJ^9Lqxop<-P*VA0By@In*5dq8Pr3bTPu|ArID*4tWM7w+mjit0PgmwLV4&2PW z3MnIzbdR`3tPqtUICEuAH^MR$K_u8~-U2=N1)R=l>zhygus44>6V^6nJFbW-`^)f} zI&h$FK)Mo*x?2`0npTD~jRd}5G~-h8=wL#Y-G+a^C?d>OzsVl7BFAaM==(H zR;ARWa^C3J)`p~_&FRsxt|@e+M&!84`eq)@aO9yBj8iifJv0xVW4F&N-(#E=k`AwJ z3EFXWcpsRlB%l_0Vdu`0G(11F7( zsl~*@XP{jS@?M#ec~%Pr~h z2`M*lIQaolzWN&;hkR2*<=!ORL(>YUMxOzj(60rQfr#wTrkLO!t{h~qg% zv$R}0IqVIg1v|YRu9w7RN&Uh7z$ijV=3U_M(sa`ZF=SIg$uY|=NdC-@%HtkUSEqJv zg|c}mKTCM=Z8YmsFQu7k{VrXtL^!Cts-eb@*v0B3M#3A7JE*)MeW1cfFqz~^S6OXFOIP&iL;Vpy z4dWKsw_1Wn%Y;eW1YOfeP_r1s4*p1C(iDG_hrr~-I%kA>ErxnMWRYu{IcG{sAW;*t z9T|i4bI*g)FXPpKM@~!@a7LDVVGqF}C@mePD$ai|I>73B+9!Ks7W$pw;$W1B%-rb; zJ*-q&ljb=&41dJ^*A0)7>Wa@khGZ;q1fL(2qW=|38j43mTl_;`PEEw07VKY%71l6p z@F|jp88XEnm1p~<5c*cVXvKlj0{THF=n3sU7g>Ki&(ErR;!KSmfH=?49R5(|c_*xw z4$jhCJ1gWT6-g5EV)Ahg?Nw=}`iCyQ6@0DqUb%AZEM^C#?B-@Hmw?LhJ^^VU>&phJ zlB!n5&>I>@sndh~v$2I2Ue23F?0!0}+9H~jg7E`?CS_ERu75^jSwm%!FTAegT`6s7 z^$|%sj2?8wtPQR>@D3sA0-M-g-vL@47YCnxdvd|1mPymvk!j5W1jHnVB&F-0R5e-vs`@u8a5GKdv`LF7uCfKncI4+??Z4iG@AxuX7 z6+@nP^TZ5HX#*z(!y+-KJ3+Ku0M90BTY{SC^{ z&y2#RZPjfX_PE<<>XwGp;g4&wcXsQ0T&XTi(^f+}4qSFH1%^GYi+!rJo~t#ChTeAX zmR0w(iODzQOL+b&{1OqTh*psAb;wT*drr^LKdN?c?HJ*gJl+%kEH&48&S{s28P=%p z7*?(xFW_RYxJxxILS!kdLIJYu@p#mnQ(?moGD1)AxQd66X6b*KN?o&e`u9#N4wu8% z^Gw#G!@|>c740RXziOR=tdbkqf(v~wS_N^CS^1hN-N4{Dww1lvSWcBTX*&9}Cz|s@ z*{O@jZ4RVHq19(HC9xSBZI0M)E;daza+Q*zayrX~N5H4xJ33BD4gn5Ka^Hj{995z4 zzm#Eo?ntC$q1a?)dD$qaC_M{NW!5R!vVZ(XQqS67xR3KP?rA1^+s3M$60WRTVHeTH z6BJO$_jVx0EGPXy}XK_&x597 zt(o6ArN8vZX0?~(lFGHRtHP{gO0y^$iU6Xt2e&v&ugLxfsl;GD)nf~3R^ACqSFLQ< zV7`cXgry((wDMJB55a6D4J;13$z6pupC{-F+wpToW%k1qKjUS^$Mo zN3@}T!ZdpiV7rkNvqP3KbpEn|9aB;@V;gMS1iSb@ zwyD7!5mfj)q+4jE1dq3H`sEKgrVqk|y8{_vmn8bMOi873!rmnu5S=1=-DFx+Oj)Hi zx?~ToiJqOrvSou?RVALltvMADodC7BOg7pOyc4m&6yd(qIuV5?dYUpYzpTe!BuWKi zpTg(JHBYzO&X1e{5o|ZVU-X5e?<}mh=|eMY{ldm>V3NsOGwyxO2h)l#)rH@BI*TN; z`yW26bMSp=k6C4Ja{xB}s`dNp zE+41IwEwo>7*PA|7v-F#jLN>h#a`Er9_86!fwPl{6yWR|fh?c%qc44uP~Ocm2V*(* zICMpS*&aJjxutxKC0Tm8+FBz;3;R^=ajXQUB*nTN*Lb;mruQHUE<&=I7pZ@F-O*VMkJbI#FOrBM8`QEL5Uy=q5e2 z_BwVH%c0^uIWO0*_qD;0jlPoA@sI7BPwOr-mrp7y`|EF)j;$GYdOtEPFRAKyUuUZS z(N4)*6R*ux8s@pMdC*TP?Hx`Zh{{Ser;clg&}CXriXZCr2A!wIoh;j=_eq3_%n7V} za?{KhXg2cXPpKHc90t6=`>s@QF-DNcTJRvLTS)E2FTb+og(wTV7?$kI?QZYgVBn)& zdpJf@tZ{j>B;<MVHiPl_U&KlqBT)$ic+M0uUQWK|N1 zCMl~@o|}!!7yyT%7p#G4?T^Azxt=D(KP{tyx^lD_(q&|zNFgO%!i%7T`>mUuU^FeR zHP&uClWgXm6iXgI8*DEA!O&X#X(zdrNctF{T#pyax16EZ5Lt5Z=RtAja!x+0Z31U8 zjfaky?W)wzd+66$L>o`n;DISQNs09g{GAv%8q2k>2n8q)O^M}=5r#^WR^=se#WSCt zQ`7E1w4qdChz4r@v6hgR?nsaE7pg2B6~+i5 zcTTbBQ2ghUbC-PV(@xvIR(a>Kh?{%YAsMV#4gt1nxBF?$FZ2~nFLKMS!aK=(`WllA zHS<_7ugqKw!#0aUtQwd#A$8|kPN3Af?Tkn)dHF?_?r#X68Wj;|$aw)Wj2Dkw{6)*^ zZfy!TWwh=%g~ECDCy1s8tTgWCi}F1BvTJ9p3H6IFq&zn#3FjZoecA_L_bxGWgeQup zAAs~1IPCnI@H>g|6Lp^Bk)mjrA3_qD4(D(65}l=2RzF-8@h>|Aq!2K-qxt(Q9w7c^ z;gtx`I+=gKOl;h=#fzSgw-V*YT~2_nnSz|!9hIxFb{~dKB!{H zSi??dnmr@%(1w^Be=*Jz5bZeofEKKN&@@uHUMFr-DHS!pb1I&;x9*${bmg6=2I4Zt zHb5LSvojY7ubCNGhp)=95jQ00sMAC{IZdAFsN!lAVQDeiec^HAu=8);2AKqNTT!&E zo+FAR`!A1#T6w@0A+o%&*yzkvxsrqbrfVTG+@z8l4+mRi@j<&)U9n6L>uZoezW>qS zA4YfO;_9dQSyEYpkWnsk0IY}Nr2m(ql@KuQjLgY-@g z4=$uai6^)A5+~^TvLdvhgfd+y?@+tRE^AJabamheJFnpA#O*5_B%s=t8<;?I;qJ}j z&g-9?hbwWEez-!GIhqpB>nFvyi{>Yv>dPU=)qXnr;3v-cd`l}BV?6!v{|cHDOx@IG z;TSiQQ(8=vlH^rCEaZ@Yw}?4#a_Qvx=}BJuxACxm(E7tP4hki^jU@8A zUS|4tTLd)gr@T|F$1eQXPY%fXb7u}(>&9gsd3It^B{W#6F2_g40cgo1^)@-xO&R5X z>qKon+Nvp!4v?-rGQu#M_J2v+3e+?N-WbgPQWf`ZL{Xd9KO^s{uIHTJ6~@d=mc7i z+##ya1p+ZHELmi%3C>g5V#yZt*jMv( zc{m*Y;7v*sjVZ-3mBuaT{$g+^sbs8Rp7BU%Ypi+c%JxtC4O}|9pkF-p-}F{Z7-+45 zDaJQx&CNR)8x~0Yf&M|-1rw%KW3ScjWmKH%J1fBxUp(;F%E+w!U470e_3%+U_q7~P zJm9VSWmZ->K`NfswW(|~fGdMQ!K2z%k-XS?Bh`zrjZDyBMu74Fb4q^A=j6+Vg@{Wc zPRd5Vy*-RS4p1OE-&8f^Fo}^yDj$rb+^>``iDy%t)^pHSV=En5B5~*|32#VkH6S%9 zxgIbsG+|{-$v7mhOww#v-ejaS>u(9KV9_*X!AY#N*LXIxor9hDv%aie@+??X6@Et=xz>6ev9U>6Pn$g4^!}w2Z%Kpqpp+M%mk~?GE-jL&0xLC zy(`*|&gm#mLeoRU8IU?Ujsv=;ab*URmsCl+r?%xcS1BVF*rP}XRR%MO_C!a9J^fOe>U;Y&3aj3 zX`3?i12*^W_|D@VEYR;h&b^s#Kd;JMNbZ#*x8*ZXm(jgw3!jyeHo14Zq!@_Q`V;Dv zKik~!-&%xx`F|l^z2A92aCt4x*I|_oMH9oeqsQgQDgI0j2p!W@BOtCTK8Jp#txi}7 z9kz);EX-2~XmxF5kyAa@n_$YYP^Hd4UPQ>O0-U^-pw1*n{*kdX`Jhz6{!W=V8a$0S z9mYboj#o)!d$gs6vf8I$OVOdZu7L5%)Vo0NhN`SwrQFhP3y4iXe2uV@(G{N{yjNG( zKvcN{k@pXkxyB~9ucR(uPSZ7{~sC=lQtz&V(^A^HppuN!@B4 zS>B=kb14>M-sR>{`teApuHlca6YXs6&sRvRV;9G!XI08CHS~M$=%T~g5Xt~$exVk` zWP^*0h{W%`>K{BktGr@+?ZP}2t0&smjKEVw@3=!rSjw5$gzlx`{dEajg$A58m|Okx zG8@BTPODSk@iqLbS*6>FdVqk}KKHuAHb0UJNnPm!(XO{zg--&@#!niF4T!dGVdNif z3_&r^3+rfQuV^8}2U?bkI5Ng*;&G>(O4&M<86GNxZK{IgKNbRfpg>+32I>(h`T&uv zUN{PRP&onFj$tn1+Yh|0AF330en{b~R+#i9^QIbl9fBv>pN|k&IL2W~j7xbkPyTL^ z*TFONZUS2f33w3)fdzr?)Yg;(s|||=aWZV(nkDaACGSxNCF>XLJSZ=W@?$*` z#sUftY&KqTV+l@2AP5$P-k^N`Bme-xcWPS|5O~arUq~%(z8z87JFB|llS&h>a>Som zC34(_uDViE!H2jI3<@d+F)LYhY)hoW6)i=9u~lM*WH?hI(yA$X#ip}yYld3RAv#1+sBt<)V_9c4(SN9Fn#$}_F}A-}P>N+8io}I3mh!}> z*~*N}ZF4Zergb;`R_g49>ZtTCaEsCHiFb(V{9c@X0`YV2O^@c6~LXg2AE zhA=a~!ALnP6aO9XOC^X15(1T)3!1lNXBEVj5s*G|Wm4YBPV`EOhU&)tTI9-KoLI-U zFI@adu6{w$dvT(zu*#aW*4F=i=!7`P!?hZy(9iL;Z^De3?AW`-gYTPALhrZ*K2|3_ zfz;6xQN9?|;#_U=4t^uS2VkQ8$|?Ub5CgKOj#Ni5j|(zX>x#K(h7LgDP-QHwok~-I zOu9rn%y97qrtKdG=ep)4MKF=TY9^n6CugQ3#G2yx;{))hvlxZGE~rzZ$qEHy-8?pU#G;bwufgSN6?*BeA!7N3RZEh{xS>>-G1!C(e1^ zzd#;39~PE_wFX3Tv;zo>5cc=md{Q}(Rb?37{;YPtAUGZo7j*yHfGH|TOVR#4ACaM2 z;1R0hO(Gl}+0gm9Bo}e@lW)J2OU4nukOTVKshHy7u)tLH^9@QI-jAnDBp(|J8&{fKu=_97$v&F67Z zq+QsJ=gUx3_h_%=+q47msQ*Ub=gMzoSa@S2>`Y9Cj*@Op4plTc!jDhu51nSGI z^sfZ(4=yzlR}kP2rcHRzAY9@T7f`z>fdCU0zibx^gVg&fMkcl)-0bRyWe12bT0}<@ z^h(RgGqS|1y#M;mER;8!CVmX!j=rfNa6>#_^j{^C+SxGhbSJ_a0O|ae!ZxiQCN2qA zKs_Z#Zy|9BOw6x{0*APNm$6tYVG2F$K~JNZ!6>}gJ_NLRYhcIsxY1z~)mt#Yl0pvC zO8#Nod;iow5{B*rUn(0WnN_~~M4|guwfkT(xv;z)olmj=f=aH#Y|#f_*d1H!o( z!EXNxKxth9w1oRr0+1laQceWfgi8z`YS#uzg#s9-QlTT7y2O^^M1PZx z3YS7iegfp6Cs0-ixlG93(JW4wuE7)mfihw}G~Uue{Xb+#F!BkDWs#*cHX^%(We}3% zT%^;m&Juw{hLp^6eyM}J({luCL_$7iRFA6^8B!v|B9P{$42F>|M`4Z_yA{kK()WcM zu#xAZWG%QtiANfX?@+QQOtbU;Avr*_>Yu0C2>=u}zhH9VLp6M>fS&yp*-7}yo8ZWB z{h>ce@HgV?^HgwRThCYnHt{Py0MS=Ja{nIj5%z;0S@?nGQ`z`*EVs&WWNwbzlk`(t zxDSc)$dD+4G6N(p?K>iEKXIk>GlGKTH{08WvrehnHhh%tgpp&8db4*FLN zETA@<$V=I7S^_KxvYv$Em4S{gO>(J#(Wf;Y%(NeECoG3n+o;d~Bjme-4dldKukd`S zRVAnKxOGjWc;L#OL{*BDEA8T=zL8^`J=2N)d&E#?OMUqk&9j_`GX*A9?V-G zdA5QQ#(_Eb^+wDkDiZ6RXL`fck|rVy%)BVv;dvY#`msZ}{x5fmd! zInmWSxvRgXbJ{unxAi*7=Lt&7_e0B#8M5a=Ad0yX#0rvMacnKnXgh>4iiRq<&wit93n!&p zeq~-o37qf)L{KJo3!{l9l9AQb;&>)^-QO4RhG>j`rBlJ09~cbfNMR_~pJD1$UzcGp zOEGTzz01j$=-kLC+O$r8B|VzBotz}sj(rUGOa7PDYwX~9Tum^sW^xjjoncxSz;kqz z$Pz$Ze|sBCTjk7oM&`b5g2mFtuTx>xl{dj*U$L%y-xeQL~|i>KzdUHeep-Yd@}p&L*ig< zgg__3l9T=nbM3bw0Sq&Z2*FA)P~sx0h634BXz0AxV69cED7QGTbK3?P?MENkiy-mV zZ1xV5ry3zIpy>xmThBL0Q!g+Wz@#?6fYvzmEczs(rcujrfCN=^!iWQ6$EM zaCnRThqt~gI-&6v@KZ78unqgv9j6-%TOxpbV`tK{KaoBbhc}$h+rK)5h|bT6wY*t6st-4$e99+Egb#3ip+ERbve08G@Ref&hP)qB&?>B94?eq5i3k;dOuU#!y-@+&5>~!FZik=z4&4|YHy=~!F254 zQAOTZr26}Nc7jzgJ;V~+9ry#?7Z0o*;|Q)k+@a^87lC}}1C)S))f5tk+lMNqw>vh( z`A9E~5m#b9!ZDBltf7QIuMh+VheCoD7nCFhuzThlhA?|8NCt3w?oWW|NDin&&eDU6 zwH`aY=))lpWG?{fda=-auXYp1WIPu&3 zwK|t(Qiqvc@<;1_W#ALDJ}bR;3&v4$9rP)eAg`-~iCte`O^MY+SaP!w%~+{{1tMo` zbp?T%ENs|mHP)Lsxno=nWL&qizR+!Ib=9i%4=B@(Umf$|7!WVxkD%hfRjvxV`Co<; zG*g4QG_>;RE{3V_DOblu$GYm&!+}%>G*yO{-|V9GYG|bH2JIU2iO}ZvY>}Fl%1!OE zZFsirH^$G>BDIy`8;R?lZl|uu@qWj2T5}((RG``6*05AWsVVa2Iu>!F5U>~7_Tlv{ zt=Dpgm~0QVa5mxta+fUt)I0gToeEm9eJX{yYZ~3sLR&nCuyuFWuiDIVJ+-lwViO(E zH+@Rg$&GLueMR$*K8kOl>+aF84Hss5p+dZ8hbW$=bWNIk0paB!qEK$xIm5{*^ad&( zgtA&gb&6FwaaR2G&+L+Pp>t^LrG*-B&Hv;-s(h0QTuYWdnUObu8LRSZoAVd7SJ;%$ zh%V?58mD~3G2X<$H7I)@x?lmbeeSY7X~QiE`dfQ5&K^FB#9e!6!@d9vrSt!);@ZQZ zO#84N5yH$kjm9X4iY#f+U`FKhg=x*FiDoUeu1O5LcC2w&$~5hKB9ZnH+8BpbTGh5T zi_nfmyQY$vQh%ildbR7T;7TKPxSs#vhKR|uup`qi1PufMa(tNCjRbllakshQgn1)a8OO-j8W&aBc_#q1hKDF5-X$h`!CeT z+c#Ial~fDsGAenv7~f@!icm(~)a3OKi((=^zcOb^qH$#DVciGXslUwTd$gt{7)&#a`&Lp ze%AnL0#U?lAl8vUkv$n>bxH*`qOujO0HZkPWZnE0;}0DSEu1O!hg-d9#{&#B1Dm)L zvN%r^hdEt1vR<4zwshg*0_BNrDWjo65be1&_82SW8#iKWs7>TCjUT;-K~*NxpG2P% zovXUo@S|fMGudVSRQrP}J3-Wxq;4xIxJJC|Y#TQBr>pwfy*%=`EUNE*dr-Y?9y9xK zmh1zS@z{^|UL}v**LNYY!?1qIRPTvr!gNXzE{%=-`oKclPrfMKwn` zUwPeIvLcxkIV>(SZ-SeBo-yw~{p!<&_}eELG?wxp zee-V59%@BtB+Z&Xs=O(@P$}v_qy1m=+`!~r^aT> zY+l?+6(L-=P%m4ScfAYR8;f9dyVw)@(;v{|nO#lAPI1xDHXMYt~-BGiP&9y2OQsYdh7-Q1(vL<$u6W0nxVn-qh=nwuRk}{d!uACozccRGx6~xZQ;=#JCE?OuA@;4 zadp$sm}jfgW4?La(pb!3f0B=HUI{5A4b$2rsB|ZGb?3@CTA{|zBf07pYpQ$NM({C6Srv6%_{rVkCndT=1nS}qyEf}Wjtg$e{ng7Wgz$7itYy0sWW_$qld);iUm85GBH)fk3b=2|5mvflm?~inoVo zDH_%e;y`DzoNj|NgZ`U%a9(N*=~8!qqy0Etkxo#`r!!{|(NyT0;5= z8nVZ6AiM+SjMG8J@6c4_f-KXd_}{My?Se1GWP|@wROFpD^5_lu?I%CBzpwi(`x~xh B8dv}T delta 17845 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 X49Luk)baa85H9$5YCsTPT`SVRWMtMW diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 03c0828..ffed3a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 index 4f906e0..1b6c787 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,67 +17,101 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -106,80 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/local_maven/midnightlib-0.2.8.jar b/local_maven/midnightlib-0.2.8.jar deleted file mode 100644 index 524714ea1d35ef4847c7f75153f54f75682199c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60133 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 defaultExclusions = new ArrayList<>(); private long start; public int colorFirst, colorSecond; @@ -26,6 +30,9 @@ public class Blur implements ClientModInitializer { @Override public void onInitializeClient() { + defaultExclusions.add(ChatScreen.class.getName()); + defaultExclusions.add("com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiOverlay$UserInputGuiScreen"); + defaultExclusions.add("ai.arcblroth.projectInception.client.InceptionInterfaceScreen"); BlurConfig.init("blur", BlurConfig.class); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { @@ -39,7 +46,7 @@ public void onInitializeClient() { private boolean doFade = false; public void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { - boolean excluded = newGui == null || ArrayUtils.contains(BlurConfig.blurExclusions, newGui.getClass().getName()); + boolean excluded = newGui == null || BlurConfig.blurExclusions.contains(newGui.getClass().getName()); if (!excluded) { blur.setUniformValue("Radius", (float) BlurConfig.radius); colorFirst = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientStartColor), 16); diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index fe3bc88..5b82161 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -1,11 +1,13 @@ package com.tterrag.blur.config; +import com.tterrag.blur.Blur; import eu.midnightdust.lib.config.MidnightConfig; -import net.minecraft.client.gui.screen.ChatScreen; + +import java.util.List; public class BlurConfig extends MidnightConfig { @Entry - public static String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; + public static List blurExclusions = Blur.defaultExclusions; @Entry(min = 0, max = 5000, width = 4) public static int fadeTimeMillis = 200; @Entry(min = 0, max = 500, width = 3) @@ -14,4 +16,6 @@ public class BlurConfig extends MidnightConfig { public static int gradientStartColor = 75000000; @Entry(min = 0, max = 99999999, width = 8) public static int gradientEndColor = 75000000; + @Entry + public static boolean showScreenTitle = false; } diff --git a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java deleted file mode 100644 index 31487d3..0000000 --- a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.tterrag.blur.config; - -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Environment(EnvType.CLIENT) -public class ModMenuIntegration implements ModMenuApi { - - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> BlurConfig.getScreen(parent,"blur"); - } -} diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index c54ef5c..02974a9 100755 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -1,7 +1,11 @@ package com.tterrag.blur.mixin; +import com.tterrag.blur.config.BlurConfig; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.TextRenderer; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.TextColor; +import net.minecraft.util.Formatting; import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -22,24 +26,32 @@ public abstract class MixinScreen { @Shadow @Nullable protected MinecraftClient client; - @Inject(at = @At("HEAD"), method = "render") - private void reloadShader(MatrixStack matrixStack, int i, int j, float f, CallbackInfo ci) { - if (this.getClass().toString().toLowerCase(Locale.ROOT).contains("midnight") && this.client != null) { + @Shadow protected TextRenderer textRenderer; + + @Inject(at = @At("HEAD"), method = "tick") + private void blur$reloadShader(CallbackInfo ci) { + if (this.getClass().toString().toLowerCase(Locale.ROOT).contains("midnightconfigscreen") && this.client != null) { Blur.INSTANCE.onScreenChange(this.client.currentScreen); } } + @Inject(at = @At("TAIL"), method = "render") + private void blur$showScreenTitle(MatrixStack matrixStack, int i, int j, float f, CallbackInfo ci) { + if (BlurConfig.showScreenTitle && this.client != null && this.client.currentScreen != null) { + this.textRenderer.drawWithShadow(matrixStack, this.client.currentScreen.getClass().getName(), 0, 0, 16777215, true); + } + } @ModifyConstant( method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -1072689136)) - private int getFirstBackgroundColor(int color) { + private int blur$getFirstBackgroundColor(int color) { return Blur.INSTANCE.getBackgroundColor(false); } @ModifyConstant( method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -804253680)) - private int getSecondBackgroundColor(int color) { + private int blur$getSecondBackgroundColor(int color) { return Blur.INSTANCE.getBackgroundColor(true); } } diff --git a/src/main/resources/assets/blur/lang/de_de.json b/src/main/resources/assets/blur/lang/de_de.json index f186bd1..d1e45bf 100644 --- a/src/main/resources/assets/blur/lang/de_de.json +++ b/src/main/resources/assets/blur/lang/de_de.json @@ -1,7 +1,9 @@ { "blur.midnightconfig.title": "Blur Konfiguration", + "blur.midnightconfig.blurExclusions": "Blur-Ausnahmen", "blur.midnightconfig.fadeTimeMillis": "Überblendzeit (in Millisekunden)", "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStartColor": "Farbverlauf-Anfangsfarbe", - "blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe" + "blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe", + "blur.midnightconfig.showScreenTitle": "Zeige Bildschirmtitel" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index 1b57741..8015a75 100755 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -1,8 +1,9 @@ { "blur.midnightconfig.title": "Blur Config", - "blur.midnightconfig.blurExclusions": "§cBlur Exclusions are currently not configurable in-game!", + "blur.midnightconfig.blurExclusions": "Blur Exclusions", "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStartColor": "Gradient Start Color", - "blur.midnightconfig.gradientEndColor": "Gradient End Color" + "blur.midnightconfig.gradientEndColor": "Gradient End Color", + "blur.midnightconfig.showScreenTitle": "Show screen title" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/pt_br.json b/src/main/resources/assets/blur/lang/pt_br.json index ac096a0..f4bcd84 100644 --- a/src/main/resources/assets/blur/lang/pt_br.json +++ b/src/main/resources/assets/blur/lang/pt_br.json @@ -1,6 +1,6 @@ { "blur.midnightconfig.title": "Definições de desfoque", - "blur.midnightconfig.blurExclusions": "Exclusões de desfoque não são configuráveis em jogo no momento.", + "blur.midnightconfig.blurExclusions": "Exclusões de desfoque", "blur.midnightconfig.fadeTimeMillis": "Esmaecimento (em milissegundos)", "blur.midnightconfig.radius": "Raio", "blur.midnightconfig.gradientStartColor": "Cor de início do gradiente", diff --git a/src/main/resources/assets/blur/lang/ru_ru.json b/src/main/resources/assets/blur/lang/ru_ru.json index fce37fb..f107ab0 100644 --- a/src/main/resources/assets/blur/lang/ru_ru.json +++ b/src/main/resources/assets/blur/lang/ru_ru.json @@ -1,6 +1,6 @@ { "blur.midnightconfig.title": "Настройки Blur", - "blur.midnightconfig.blurExclusions": "В настоящее время исключения для размытия не настраиваются в игре.", + "blur.midnightconfig.blurExclusions": "Исключения размытия", "blur.midnightconfig.fadeTimeMillis": "Время размытия (в милисекундах)", "blur.midnightconfig.radius": "Радиус размытия", "blur.midnightconfig.gradientStartColor": "Верхний цвет градиента", diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 1920744..ae88f96 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "id": "blur", "name": "Blur (Fabric)", - "version": "2.3.0", + "version": "$version", "environment": "client", "license": "MIT", "icon": "assets/blur/icon.png", From 08bc0d9512723751b10f2f67aa2391d9f9b6de63 Mon Sep 17 00:00:00 2001 From: tortoise Date: Sat, 4 Dec 2021 11:33:05 +0100 Subject: [PATCH 38/62] Adding a swedish translation (#33) * Create sv_se.json mid-tier translations as a save, i'm gonna think about them later * Update sv_se.json better translations --- src/main/resources/assets/blur/lang/sv_se.json | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/main/resources/assets/blur/lang/sv_se.json diff --git a/src/main/resources/assets/blur/lang/sv_se.json b/src/main/resources/assets/blur/lang/sv_se.json new file mode 100644 index 0000000..0d06643 --- /dev/null +++ b/src/main/resources/assets/blur/lang/sv_se.json @@ -0,0 +1,9 @@ +{ + "blur.midnightconfig.title": "Blur Config", + "blur.midnightconfig.blurExclusions": "Undantag till Blur", + "blur.midnightconfig.fadeTimeMillis": "Toningstid (i millisekunder)", + "blur.midnightconfig.radius": "Radie", + "blur.midnightconfig.gradientStartColor": "Toningsfärg (start)", + "blur.midnightconfig.gradientEndColor": "Toningsfärg (slut)", + "blur.midnightconfig.showScreenTitle": "Visa skärmtitel" +} \ No newline at end of file From 1260881f41148f8df69b05e92aa00daa4d140a40 Mon Sep 17 00:00:00 2001 From: Motschen Date: Sat, 4 Dec 2021 11:42:13 +0100 Subject: [PATCH 39/62] Update to 1.18 --- build.gradle | 12 +++++++++--- gradle.properties | 14 +++++++------- src/main/java/com/tterrag/blur/Blur.java | 1 + 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 77764c7..b0c1f1f 100755 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ plugins { - id 'fabric-loom' version '0.8-SNAPSHOT' + id 'fabric-loom' version '0.10-SNAPSHOT' id 'maven-publish' } -sourceCompatibility = JavaVersion.VERSION_16 -targetCompatibility = JavaVersion.VERSION_16 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 archivesBaseName = project.archives_base_name version = project.mod_version @@ -19,6 +19,12 @@ repositories { includeGroupByRegex 'io\\.github\\.onyxstudios.*' } } + maven { + url = 'https://maven.terraformersmc.com/releases' + content { + includeGroup 'com.terraformersmc' + } + } maven { url = "https://api.modrinth.com/maven" } diff --git a/gradle.properties b/gradle.properties index 18a251c..d644137 100755 --- a/gradle.properties +++ b/gradle.properties @@ -3,17 +3,17 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.17.1 - yarn_mappings=1.17.1+build.63 - loader_version=0.12.3 + minecraft_version=1.18 + yarn_mappings=1.18+build.1 + loader_version=0.12.8 # Mod Properties - mod_version = 2.4.0 + mod_version = 2.4.1 maven_group = com.tterrag.blur archives_base_name = blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.41.0+1.17 - satin_version = 1.6.4 - midnightlib_version=0.3.0 + fabric_version=0.44.0+1.18 + satin_version = 1.7.0 + midnightlib_version=0.3.1 diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 2b4fc79..d2a7031 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -33,6 +33,7 @@ public void onInitializeClient() { defaultExclusions.add(ChatScreen.class.getName()); defaultExclusions.add("com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiOverlay$UserInputGuiScreen"); defaultExclusions.add("ai.arcblroth.projectInception.client.InceptionInterfaceScreen"); + defaultExclusions.add("net.optifine.gui.GuiChatOF"); BlurConfig.init("blur", BlurConfig.class); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { From fadf94d9be01a0e06322d5ba67fb07374513ffff Mon Sep 17 00:00:00 2001 From: Luni Date: Sun, 8 May 2022 16:54:39 +0000 Subject: [PATCH 40/62] Add AdvancedChat to the exclusion list (#43) --- src/main/java/com/tterrag/blur/Blur.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index d2a7031..84588d6 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -34,6 +34,7 @@ public void onInitializeClient() { defaultExclusions.add("com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiOverlay$UserInputGuiScreen"); defaultExclusions.add("ai.arcblroth.projectInception.client.InceptionInterfaceScreen"); defaultExclusions.add("net.optifine.gui.GuiChatOF"); + defaultExclusions.add("io.github.darkkronicle.advancedchatcore.chat.AdvancedChatScreen"); BlurConfig.init("blur", BlurConfig.class); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { From a199313682594d609cc5b4a8a30ee7ce5dc07f45 Mon Sep 17 00:00:00 2001 From: backryun Date: Mon, 9 May 2022 02:00:30 +0900 Subject: [PATCH 41/62] Fabric 1.18.2 (#40) * Update 1.18.1 and dependencys gradle 7.3.3 fabric-loader 0.12.12 fabric-api 0.45.2 satin 1.7.2 * Fabric-API update to 0.46.0 * fabric-loom 0.11 update yarn update fabric-API * update fabric loader update fabric-API * 1.18.2-rc1 * 1.18.2 --- build.gradle | 2 +- gradle.properties | 14 +++++++------- gradle/wrapper/gradle-wrapper.properties | 2 +- src/main/resources/fabric.mod.json | 3 ++- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index b0c1f1f..f702824 100755 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.10-SNAPSHOT' + id 'fabric-loom' version '0.11-SNAPSHOT' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index d644137..8bf5e4e 100755 --- a/gradle.properties +++ b/gradle.properties @@ -3,17 +3,17 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.18 - yarn_mappings=1.18+build.1 - loader_version=0.12.8 + minecraft_version=1.18.2 + yarn_mappings=1.18.2+build.1 + loader_version=0.13.3 # Mod Properties - mod_version = 2.4.1 + mod_version = 2.4.2 maven_group = com.tterrag.blur archives_base_name = blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.44.0+1.18 - satin_version = 1.7.0 - midnightlib_version=0.3.1 + fabric_version=0.47.9+1.18.2 + satin_version = 1.7.2 + midnightlib_version=0.4.0 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a2..2e6e589 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index ae88f96..18ef948 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -18,7 +18,8 @@ "authors": [ "tterrag1098", "Pyrofab", - "Motschen" + "Motschen", + "backryun" ], "description": "Modifies the background behind Minecraft GUIs to have a blur effect", "mixins": [ From 747188d02334c3302152191a76a066deb52f51fc Mon Sep 17 00:00:00 2001 From: byquanton <32410361+byquanton@users.noreply.github.com> Date: Sat, 11 Jun 2022 21:40:09 +0200 Subject: [PATCH 42/62] 1.19 Update (#45) --- build.gradle | 36 ++--- gradle.properties | 16 +- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew.bat | 178 +++++++++++------------ settings.gradle | 1 - src/main/resources/fabric.mod.json | 6 +- src/main/resources/mixins.blur.json | 3 +- 7 files changed, 115 insertions(+), 127 deletions(-) diff --git a/build.gradle b/build.gradle index f702824..f238e78 100755 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.11-SNAPSHOT' + id 'fabric-loom' version '0.12-SNAPSHOT' id 'maven-publish' } @@ -31,10 +31,11 @@ repositories { } dependencies { - minecraft "com.mojang:minecraft:${minecraft_version}" - mappings "net.fabricmc:yarn:${yarn_mappings}" - modImplementation "net.fabricmc:fabric-loader:${loader_version}" - modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_version}" + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modImplementation "io.github.ladysnake:satin:${satin_version}" include "io.github.ladysnake:satin:${satin_version}" @@ -51,11 +52,9 @@ processResources { } } -// ensure that the encoding is set to UTF-8, no matter what the system default is -// this fixes some edge cases with special characters not displaying correctly -// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" +tasks.withType(JavaCompile).configureEach { + // Minecraft 1.18 (1.18-pre2) upwards uses Java 17. + it.options.release = 17 } java { @@ -70,20 +69,7 @@ jar { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } - - // select the repositories you want to publish to - repositories { - // uncomment to publish to the local maven - // mavenLocal() - } -} - +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 8bf5e4e..c2eadcd 100755 --- a/gradle.properties +++ b/gradle.properties @@ -2,18 +2,18 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties - # check these on https://fabricmc.net/use - minecraft_version=1.18.2 - yarn_mappings=1.18.2+build.1 - loader_version=0.13.3 + # check these on https://fabricmc.net/develop + minecraft_version=1.19 + yarn_mappings=1.19+build.1 + loader_version=0.14.6 # Mod Properties - mod_version = 2.4.2 + mod_version = 2.5.0 maven_group = com.tterrag.blur archives_base_name = blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.47.9+1.18.2 - satin_version = 1.7.2 - midnightlib_version=0.4.0 + fabric_version=0.55.1+1.19 + satin_version = 1.8.0 + midnightlib_version=0.5.2 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e6e589..aa991fc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew.bat b/gradlew.bat index 107acd3..ac1b06f 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,89 +1,89 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle index c2e02c6..92d3bb6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,5 @@ pluginManagement { repositories { - jcenter() maven { name = 'Fabric' url = 'https://maven.fabricmc.net/' diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 18ef948..a16a204 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -8,18 +8,20 @@ "icon": "assets/blur/icon.png", "entrypoints": { "client": [ - "com.tterrag.blur.Blur::INSTANCE" + "com.tterrag.blur.Blur" ] }, "contact": { "homepage": "https://www.curseforge.com/minecraft/mc-mods/blur-fabric", + "sources": "https://github.com/Motschen/Blur", "issues": "https://github.com/Motschen/Blur/issues" }, "authors": [ "tterrag1098", "Pyrofab", "Motschen", - "backryun" + "backryun", + "byquanton" ], "description": "Modifies the background behind Minecraft GUIs to have a blur effect", "mixins": [ diff --git a/src/main/resources/mixins.blur.json b/src/main/resources/mixins.blur.json index 42530d6..ed8c007 100644 --- a/src/main/resources/mixins.blur.json +++ b/src/main/resources/mixins.blur.json @@ -1,7 +1,8 @@ { "required": true, + "minVersion": "0.8", "package": "com.tterrag.blur.mixin", - "compatibilityLevel": "JAVA_8", + "compatibilityLevel": "JAVA_17", "client": [ "MixinScreen", "MixinMinecraftClient" From b944975c9a3609a818340b7ed6d66490ff11e5bc Mon Sep 17 00:00:00 2001 From: Motschen Date: Sat, 11 Jun 2022 23:28:55 +0200 Subject: [PATCH 43/62] Blur 2.5.0 - Update to 1.19, Better Exclusions & Colors --- src/main/java/com/tterrag/blur/Blur.java | 17 ++++++++--------- .../com/tterrag/blur/config/BlurConfig.java | 12 ++++++++---- .../com/tterrag/blur/mixin/MixinScreen.java | 6 ------ src/main/resources/assets/blur/lang/de_de.json | 2 ++ src/main/resources/assets/blur/lang/en_gb.json | 7 ++----- src/main/resources/assets/blur/lang/en_us.json | 6 ++++-- src/main/resources/assets/blur/lang/pt_br.json | 4 ++-- src/main/resources/assets/blur/lang/ru_ru.json | 4 ++-- src/main/resources/assets/blur/lang/sv_se.json | 4 ++-- src/main/resources/assets/blur/lang/zh_cn.json | 4 ++-- src/main/resources/fabric.mod.json | 2 +- 11 files changed, 33 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 84588d6..97e8a8e 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,6 +1,7 @@ package com.tterrag.blur; import com.tterrag.blur.config.BlurConfig; +import eu.midnightdust.lib.util.MidnightColorUtil; import ladysnake.satin.api.event.ShaderEffectRenderCallback; import ladysnake.satin.api.managed.ManagedShaderEffect; import ladysnake.satin.api.managed.ShaderEffectManager; @@ -20,7 +21,6 @@ public class Blur implements ClientModInitializer { public static List defaultExclusions = new ArrayList<>(); private long start; - public int colorFirst, colorSecond; private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), shader -> shader.setUniformValue("Radius", (float) BlurConfig.radius)); @@ -48,11 +48,10 @@ public void onInitializeClient() { private boolean doFade = false; public void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { - boolean excluded = newGui == null || BlurConfig.blurExclusions.contains(newGui.getClass().getName()); + boolean excluded = newGui == null || BlurConfig.blurExclusions.stream().anyMatch(exclusion -> newGui.getClass().getName().contains(exclusion)); if (!excluded) { + if (BlurConfig.showScreenTitle) System.out.println(newGui.getClass().getName()); blur.setUniformValue("Radius", (float) BlurConfig.radius); - colorFirst = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientStartColor), 16); - colorSecond = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientEndColor), 16); if (doFade) { start = System.currentTimeMillis(); doFade = false; @@ -69,11 +68,11 @@ private float getProgress() { } public int getBackgroundColor(boolean second) { - int color = second ? colorSecond : colorFirst; - int a = color >>> 24; - int r = (color >> 16) & 0xFF; - int b = (color >> 8) & 0xFF; - int g = color & 0xFF; + int a = second ? BlurConfig.gradientEndAlpha : BlurConfig.gradientStartAlpha; + var col = MidnightColorUtil.hex2Rgb(second ? BlurConfig.gradientEnd : BlurConfig.gradientStart); + int r = (col.getRGB() >> 16) & 0xFF; + int b = (col.getRGB() >> 8) & 0xFF; + int g = col.getRGB() & 0xFF; float prog = INSTANCE.getProgress(); a *= prog; r *= prog; diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index 5b82161..8f24825 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -12,10 +12,14 @@ public class BlurConfig extends MidnightConfig { public static int fadeTimeMillis = 200; @Entry(min = 0, max = 500, width = 3) public static int radius = 8; - @Entry(min = 0, max = 99999999, width = 8) - public static int gradientStartColor = 75000000; - @Entry(min = 0, max = 99999999, width = 8) - public static int gradientEndColor = 75000000; + @Entry(isColor = true, width = 7, min = 7) + public static String gradientStart = "#000000"; + @Entry(min = 0, max = 255) + public static int gradientStartAlpha = 75; + @Entry(isColor = true, width = 7, min = 7) + public static String gradientEnd = "#000000"; + @Entry(min = 0, max = 255) + public static int gradientEndAlpha = 75; @Entry public static boolean showScreenTitle = false; } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index 02974a9..d89676d 100755 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -34,12 +34,6 @@ public abstract class MixinScreen { Blur.INSTANCE.onScreenChange(this.client.currentScreen); } } - @Inject(at = @At("TAIL"), method = "render") - private void blur$showScreenTitle(MatrixStack matrixStack, int i, int j, float f, CallbackInfo ci) { - if (BlurConfig.showScreenTitle && this.client != null && this.client.currentScreen != null) { - this.textRenderer.drawWithShadow(matrixStack, this.client.currentScreen.getClass().getName(), 0, 0, 16777215, true); - } - } @ModifyConstant( method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", diff --git a/src/main/resources/assets/blur/lang/de_de.json b/src/main/resources/assets/blur/lang/de_de.json index d1e45bf..c676c96 100644 --- a/src/main/resources/assets/blur/lang/de_de.json +++ b/src/main/resources/assets/blur/lang/de_de.json @@ -5,5 +5,7 @@ "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStartColor": "Farbverlauf-Anfangsfarbe", "blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe", + "blur.midnightconfig.gradientStartAlpha": "Farbverlauf-Anfangstransparenz", + "blur.midnightconfig.gradientEndAlpha": "Farbverlauf-Endstransparenz", "blur.midnightconfig.showScreenTitle": "Zeige Bildschirmtitel" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_gb.json b/src/main/resources/assets/blur/lang/en_gb.json index 61a93ff..6c08c5e 100644 --- a/src/main/resources/assets/blur/lang/en_gb.json +++ b/src/main/resources/assets/blur/lang/en_gb.json @@ -1,7 +1,4 @@ { - "blur.midnightconfig.title": "Blur Config", - "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", - "blur.midnightconfig.radius": "Radius", - "blur.midnightconfig.gradientStartColor": "Gradient Start Colour", - "blur.midnightconfig.gradientEndColor": "Gradient End Colour" + "blur.midnightconfig.gradientStart": "Gradient Start Colour", + "blur.midnightconfig.gradientEnd": "Gradient End Colour" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index 8015a75..6fdbd36 100755 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -3,7 +3,9 @@ "blur.midnightconfig.blurExclusions": "Blur Exclusions", "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", "blur.midnightconfig.radius": "Radius", - "blur.midnightconfig.gradientStartColor": "Gradient Start Color", - "blur.midnightconfig.gradientEndColor": "Gradient End Color", + "blur.midnightconfig.gradientStart": "Gradient Start Color", + "blur.midnightconfig.gradientEnd": "Gradient End Color", + "blur.midnightconfig.gradientStartAlpha": "Gradient Start Alpha", + "blur.midnightconfig.gradientEndAlpha": "Gradient End Alpha", "blur.midnightconfig.showScreenTitle": "Show screen title" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/pt_br.json b/src/main/resources/assets/blur/lang/pt_br.json index f4bcd84..b416882 100644 --- a/src/main/resources/assets/blur/lang/pt_br.json +++ b/src/main/resources/assets/blur/lang/pt_br.json @@ -3,6 +3,6 @@ "blur.midnightconfig.blurExclusions": "Exclusões de desfoque", "blur.midnightconfig.fadeTimeMillis": "Esmaecimento (em milissegundos)", "blur.midnightconfig.radius": "Raio", - "blur.midnightconfig.gradientStartColor": "Cor de início do gradiente", - "blur.midnightconfig.gradientEndColor": "Cor de término do gradiente" + "blur.midnightconfig.gradientStart": "Cor de início do gradiente", + "blur.midnightconfig.gradientEnd": "Cor de término do gradiente" } diff --git a/src/main/resources/assets/blur/lang/ru_ru.json b/src/main/resources/assets/blur/lang/ru_ru.json index f107ab0..e3cbd6d 100644 --- a/src/main/resources/assets/blur/lang/ru_ru.json +++ b/src/main/resources/assets/blur/lang/ru_ru.json @@ -3,6 +3,6 @@ "blur.midnightconfig.blurExclusions": "Исключения размытия", "blur.midnightconfig.fadeTimeMillis": "Время размытия (в милисекундах)", "blur.midnightconfig.radius": "Радиус размытия", - "blur.midnightconfig.gradientStartColor": "Верхний цвет градиента", - "blur.midnightconfig.gradientEndColor": "Нижний цвет градиента" + "blur.midnightconfig.gradientStart": "Верхний цвет градиента", + "blur.midnightconfig.gradientEnd": "Нижний цвет градиента" } diff --git a/src/main/resources/assets/blur/lang/sv_se.json b/src/main/resources/assets/blur/lang/sv_se.json index 0d06643..03404c6 100644 --- a/src/main/resources/assets/blur/lang/sv_se.json +++ b/src/main/resources/assets/blur/lang/sv_se.json @@ -3,7 +3,7 @@ "blur.midnightconfig.blurExclusions": "Undantag till Blur", "blur.midnightconfig.fadeTimeMillis": "Toningstid (i millisekunder)", "blur.midnightconfig.radius": "Radie", - "blur.midnightconfig.gradientStartColor": "Toningsfärg (start)", - "blur.midnightconfig.gradientEndColor": "Toningsfärg (slut)", + "blur.midnightconfig.gradientStart": "Toningsfärg (start)", + "blur.midnightconfig.gradientEnd": "Toningsfärg (slut)", "blur.midnightconfig.showScreenTitle": "Visa skärmtitel" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/zh_cn.json b/src/main/resources/assets/blur/lang/zh_cn.json index 0738eea..5c87f7f 100644 --- a/src/main/resources/assets/blur/lang/zh_cn.json +++ b/src/main/resources/assets/blur/lang/zh_cn.json @@ -2,6 +2,6 @@ "blur.midnightconfig.title": "模糊配置", "blur.midnightconfig.fadeTimeMillis": "淡入时间(毫秒)", "blur.midnightconfig.radius": "半径", - "blur.midnightconfig.gradientStartColor": "渐变起始色", - "blur.midnightconfig.gradientEndColor": "渐变结束色" + "blur.midnightconfig.gradientStart": "渐变起始色", + "blur.midnightconfig.gradientEnd": "渐变结束色" } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index a16a204..caf2792 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -8,7 +8,7 @@ "icon": "assets/blur/icon.png", "entrypoints": { "client": [ - "com.tterrag.blur.Blur" + "com.tterrag.blur.Blur::INSTANCE" ] }, "contact": { From fe7229c51864b31b7e1fa01ea3af7707a475cf68 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Sun, 26 Jun 2022 17:01:05 +0200 Subject: [PATCH 44/62] Add easing option to fade animation (#48) * Add easing option to fade animation * Fix German translation --- src/main/java/com/tterrag/blur/Blur.java | 5 ++++- src/main/java/com/tterrag/blur/config/BlurConfig.java | 2 ++ src/main/resources/assets/blur/lang/de_de.json | 5 +++-- src/main/resources/assets/blur/lang/en_us.json | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 97e8a8e..1c2e9ca 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -46,6 +46,7 @@ public void onInitializeClient() { } private boolean doFade = false; + public void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { boolean excluded = newGui == null || BlurConfig.blurExclusions.stream().anyMatch(exclusion -> newGui.getClass().getName().contains(exclusion)); @@ -64,7 +65,9 @@ public void onScreenChange(Screen newGui) { } private float getProgress() { - return Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeTimeMillis, 1); + float x = Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeTimeMillis, 1); + if (BlurConfig.ease) x *= (2 - x); // easeOutCubic + return x; } public int getBackgroundColor(boolean second) { diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index 8f24825..cbec238 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -10,6 +10,8 @@ public class BlurConfig extends MidnightConfig { public static List blurExclusions = Blur.defaultExclusions; @Entry(min = 0, max = 5000, width = 4) public static int fadeTimeMillis = 200; + @Entry + public static boolean ease = true; @Entry(min = 0, max = 500, width = 3) public static int radius = 8; @Entry(isColor = true, width = 7, min = 7) diff --git a/src/main/resources/assets/blur/lang/de_de.json b/src/main/resources/assets/blur/lang/de_de.json index c676c96..c9ccafb 100644 --- a/src/main/resources/assets/blur/lang/de_de.json +++ b/src/main/resources/assets/blur/lang/de_de.json @@ -2,9 +2,10 @@ "blur.midnightconfig.title": "Blur Konfiguration", "blur.midnightconfig.blurExclusions": "Blur-Ausnahmen", "blur.midnightconfig.fadeTimeMillis": "Überblendzeit (in Millisekunden)", + "blur.midnightconfig.ease": "Geschmeidige Animation", "blur.midnightconfig.radius": "Radius", - "blur.midnightconfig.gradientStartColor": "Farbverlauf-Anfangsfarbe", - "blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe", + "blur.midnightconfig.gradientStart": "Farbverlauf-Anfangsfarbe", + "blur.midnightconfig.gradientEnd": "Farbverlauf-Endfarbe", "blur.midnightconfig.gradientStartAlpha": "Farbverlauf-Anfangstransparenz", "blur.midnightconfig.gradientEndAlpha": "Farbverlauf-Endstransparenz", "blur.midnightconfig.showScreenTitle": "Zeige Bildschirmtitel" diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index 6fdbd36..487437e 100755 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -2,6 +2,7 @@ "blur.midnightconfig.title": "Blur Config", "blur.midnightconfig.blurExclusions": "Blur Exclusions", "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", + "blur.midnightconfig.ease": "Ease Animation", "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStart": "Gradient Start Color", "blur.midnightconfig.gradientEnd": "Gradient End Color", From 000315bf13d842195dcfccd9c7dbf993f6dad689 Mon Sep 17 00:00:00 2001 From: gyular <93109166+gyular@users.noreply.github.com> Date: Mon, 27 Jun 2022 00:19:36 +0900 Subject: [PATCH 45/62] add ko_kr.json (#47) --- src/main/resources/assets/blur/lang/ko_kr.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/resources/assets/blur/lang/ko_kr.json diff --git a/src/main/resources/assets/blur/lang/ko_kr.json b/src/main/resources/assets/blur/lang/ko_kr.json new file mode 100644 index 0000000..ad37eb6 --- /dev/null +++ b/src/main/resources/assets/blur/lang/ko_kr.json @@ -0,0 +1,11 @@ +{ + "blur.midnightconfig.title": "Blur 설정", + "blur.midnightconfig.blurExclusions": "블러 제외", + "blur.midnightconfig.fadeTimeMillis": "페이드 시간 (밀리초 단위)", + "blur.midnightconfig.radius": "범위", + "blur.midnightconfig.gradientStart": "그라디언트 시작 색상", + "blur.midnightconfig.gradientEnd": "그라디언트 종료 색상", + "blur.midnightconfig.gradientStartAlpha": "그라디언트 시작 알파", + "blur.midnightconfig.gradientEndAlpha": "그라디언트 종료 알파", + "blur.midnightconfig.showScreenTitle": "화면 타이틀 보기" +} \ No newline at end of file From eca592b6463ea30b62ced29867c5011905b33820 Mon Sep 17 00:00:00 2001 From: Motschen Date: Sun, 26 Jun 2022 17:22:43 +0200 Subject: [PATCH 46/62] Blur 2.6.0 - Ease-in animation by @Scrumplex - Also add Korean translations by @gyular --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index c2eadcd..2ae47b4 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.14.6 # Mod Properties - mod_version = 2.5.0 + mod_version = 2.6.0 maven_group = com.tterrag.blur archives_base_name = blur From e85231757adbbb1696b98dcb45bf5fdbf764c0ae Mon Sep 17 00:00:00 2001 From: Sushomeister <91095463+Sushomeister@users.noreply.github.com> Date: Tue, 26 Jul 2022 14:35:53 +0300 Subject: [PATCH 47/62] Create uk_ua.json --- src/main/resources/assets/blur/lang/uk_ua.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/main/resources/assets/blur/lang/uk_ua.json diff --git a/src/main/resources/assets/blur/lang/uk_ua.json b/src/main/resources/assets/blur/lang/uk_ua.json new file mode 100644 index 0000000..c52175a --- /dev/null +++ b/src/main/resources/assets/blur/lang/uk_ua.json @@ -0,0 +1,12 @@ +{ + "blur.midnightconfig.title": "Конфігурація Blur", + "blur.midnightconfig.blurExclusions": "Винятки розмиття", + "blur.midnightconfig.fadeTimeMillis": "Час появи розмиття (у мілісекундах)", + "blur.midnightconfig.ease": "Пом'якшення анімації", + "blur.midnightconfig.radius": "Радіус", + "blur.midnightconfig.gradientStart": "Початковий колір градієнта", + "blur.midnightconfig.gradientEnd": "Кінцевий колір градієнта", + "blur.midnightconfig.gradientStartAlpha": "Початкова прозорість градієнта", + "blur.midnightconfig.gradientEndAlpha": "Кінцева прозорість градієнтаa", + "blur.midnightconfig.showScreenTitle": "Показати назву екрана" +} From 6000ba8f64718ea09c73d40f191c15a507db5167 Mon Sep 17 00:00:00 2001 From: Luke Chambers Date: Mon, 10 Oct 2022 01:42:00 -0400 Subject: [PATCH 48/62] Add Iris's shader pack screen to the exclusion list --- src/main/java/com/tterrag/blur/Blur.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 1c2e9ca..117c7ee 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -35,6 +35,7 @@ public void onInitializeClient() { defaultExclusions.add("ai.arcblroth.projectInception.client.InceptionInterfaceScreen"); defaultExclusions.add("net.optifine.gui.GuiChatOF"); defaultExclusions.add("io.github.darkkronicle.advancedchatcore.chat.AdvancedChatScreen"); + defaultExclusions.add("net.coderbot.iris.gui.screen.ShaderPackScreen"); BlurConfig.init("blur", BlurConfig.class); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { From e668f3fa60f5bf43b4dad19e4f8532279afc4920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E6=9E=AA968?= <67826085+GodGun968@users.noreply.github.com> Date: Sun, 16 Oct 2022 10:44:01 +0800 Subject: [PATCH 49/62] Update zh_cn.json --- src/main/resources/assets/blur/lang/zh_cn.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/blur/lang/zh_cn.json b/src/main/resources/assets/blur/lang/zh_cn.json index 5c87f7f..0e4c81b 100644 --- a/src/main/resources/assets/blur/lang/zh_cn.json +++ b/src/main/resources/assets/blur/lang/zh_cn.json @@ -1,7 +1,12 @@ { "blur.midnightconfig.title": "模糊配置", + "blur.midnightconfig.blurExclusions": "模糊排除", "blur.midnightconfig.fadeTimeMillis": "淡入时间(毫秒)", + "blur.midnightconfig.ease": "简单动画", "blur.midnightconfig.radius": "半径", "blur.midnightconfig.gradientStart": "渐变起始色", - "blur.midnightconfig.gradientEnd": "渐变结束色" + "blur.midnightconfig.gradientEnd": "渐变结束色", + "blur.midnightconfig.gradientStartAlpha": "渐变起始阿尔法通道", + "blur.midnightconfig.gradientEndAlpha": "渐变结束阿尔法通道", + "blur.midnightconfig.showScreenTitle": "显示屏幕标题" } From 8e0da73778ba37854420f51b94bcc03bf1a52a9c Mon Sep 17 00:00:00 2001 From: backryun Date: Thu, 20 Oct 2022 03:06:51 +0900 Subject: [PATCH 50/62] migrate to 1.19.2 and update dependencies (#51) * migrate to 1.19.2 * Update dependencies * Update yarn+API --- build.gradle | 2 +- gradle.properties | 12 ++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- src/main/java/com/tterrag/blur/Blur.java | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index f238e78..8ecc742 100755 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.12-SNAPSHOT' + id 'fabric-loom' version '1.0-SNAPSHOT' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index 2ae47b4..1c3eb81 100755 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.19 - yarn_mappings=1.19+build.1 - loader_version=0.14.6 + minecraft_version=1.19.2 + yarn_mappings=1.19.2+build.24 + loader_version=0.14.9 # Mod Properties mod_version = 2.6.0 @@ -14,6 +14,6 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.55.1+1.19 - satin_version = 1.8.0 - midnightlib_version=0.5.2 + fabric_version=0.64.0+1.19.2 + satin_version = 1.9.0 + midnightlib_version=0.6.0 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aa991fc..ae04661 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 1c2e9ca..253857d 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -11,7 +11,7 @@ import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.gui.screen.Screen; import net.minecraft.util.Identifier; - +import java.awt.Color; import java.util.ArrayList; import java.util.List; From 2dc68068e29fe3f483d60b7bd3e0503334183788 Mon Sep 17 00:00:00 2001 From: backryun Date: Sat, 29 Oct 2022 14:10:36 +0900 Subject: [PATCH 51/62] Update Dependencys Fabric yarn+loader midnightlib --- gradle.properties | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1c3eb81..fbadb92 100755 --- a/gradle.properties +++ b/gradle.properties @@ -4,11 +4,11 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/develop minecraft_version=1.19.2 - yarn_mappings=1.19.2+build.24 - loader_version=0.14.9 + yarn_mappings=1.19.2+build.28 + loader_version=0.14.10 # Mod Properties - mod_version = 2.6.0 + mod_version = 2.6.1 maven_group = com.tterrag.blur archives_base_name = blur @@ -16,4 +16,4 @@ org.gradle.jvmargs=-Xmx1G # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api fabric_version=0.64.0+1.19.2 satin_version = 1.9.0 - midnightlib_version=0.6.0 + midnightlib_version=0.6.1 From 7ab190d697f8c9a01f93a1a35019fec00d707d11 Mon Sep 17 00:00:00 2001 From: backryun Date: Sat, 29 Oct 2022 14:11:55 +0900 Subject: [PATCH 52/62] Workflow! --- .github/workflows/gradle.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/gradle.yml diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..11430a8 --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,29 @@ +on: + push: + branches: [ "fabric-1.19" ] + pull_request: + branches: [ "fabric-1.19" ] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew build --stacktrace --info + - name: Upload a Build Artifact + uses: actions/upload-artifact@v3 + with: + name: Blur-Artifact + path: build/libs/blur-*.*.jar + if-no-files-found: error From 8a1824c9063b09e8069110451a34c72e2a2de8a1 Mon Sep 17 00:00:00 2001 From: FITFC <101124415+FITFC@users.noreply.github.com> Date: Sat, 29 Oct 2022 20:04:53 -0500 Subject: [PATCH 53/62] updated pt_br --- src/main/resources/assets/blur/lang/pt_br.json | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/resources/assets/blur/lang/pt_br.json b/src/main/resources/assets/blur/lang/pt_br.json index b416882..12fb78f 100644 --- a/src/main/resources/assets/blur/lang/pt_br.json +++ b/src/main/resources/assets/blur/lang/pt_br.json @@ -1,8 +1,12 @@ { - "blur.midnightconfig.title": "Definições de desfoque", - "blur.midnightconfig.blurExclusions": "Exclusões de desfoque", - "blur.midnightconfig.fadeTimeMillis": "Esmaecimento (em milissegundos)", + "blur.midnightconfig.title": "Configuração de desfoque", + "blur.midnightconfig.blurExclusions": "Desfocar exclusões", + "blur.midnightconfig.fadeTimeMillis": "Tempo de desvanecimento (em milissegundos)", + "blur.midnightconfig.ease": "Animação fácil", "blur.midnightconfig.radius": "Raio", - "blur.midnightconfig.gradientStart": "Cor de início do gradiente", - "blur.midnightconfig.gradientEnd": "Cor de término do gradiente" -} + "blur.midnightconfig.gradientStart": "Cor inicial do gradiente", + "blur.midnightconfig.gradientEnd": "Cor final do gradiente", + "blur.midnightconfig.gradientStartAlpha": "Alfa de início gradiente", + "blur.midnightconfig.gradientEndAlpha": "Alfa de Gradiente Final", + "blur.midnightconfig.showScreenTitle": "Mostrar título da tela" +} \ No newline at end of file From 7b253f50c11be02dd5f1a06c84a1d464ea458ac5 Mon Sep 17 00:00:00 2001 From: backryun Date: Mon, 31 Oct 2022 22:38:45 +0900 Subject: [PATCH 54/62] Expend build environment JAVA 19 + Update midnightlib 1.0.0 --- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index fbadb92..aa98105 100755 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ org.gradle.jvmargs=-Xmx1G # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api fabric_version=0.64.0+1.19.2 satin_version = 1.9.0 - midnightlib_version=0.6.1 + midnightlib_version=1.0.0-fabric diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661..8882ed6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-rc-1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 9854e97996bf5ceec175c54e9c253dad59b8660c Mon Sep 17 00:00:00 2001 From: backryun Date: Wed, 9 Nov 2022 23:00:51 +0900 Subject: [PATCH 55/62] Update fabric API 0.66.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index aa98105..df8aa75 100755 --- a/gradle.properties +++ b/gradle.properties @@ -14,6 +14,6 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.64.0+1.19.2 + fabric_version=0.66.0+1.19.2 satin_version = 1.9.0 midnightlib_version=1.0.0-fabric From d42545570e168ce55de48f13582286285ccae66c Mon Sep 17 00:00:00 2001 From: backryun Date: Wed, 9 Nov 2022 23:02:51 +0900 Subject: [PATCH 56/62] Update gradle 7.6-rc2 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8882ed6..152783f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-rc-1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-rc-2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 7dd93da83330ecf31385a30bd94c73195f945629 Mon Sep 17 00:00:00 2001 From: backryun Date: Fri, 25 Nov 2022 23:35:02 +0900 Subject: [PATCH 57/62] Upstream gradle 7.6 official version + fabric API --- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index df8aa75..1f0f2bf 100755 --- a/gradle.properties +++ b/gradle.properties @@ -14,6 +14,6 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.66.0+1.19.2 + fabric_version=0.67.1+1.19.2 satin_version = 1.9.0 midnightlib_version=1.0.0-fabric diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 152783f..070cb70 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-rc-2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From dc94bd3f5a4cba0f3113a7495a54818806580ae0 Mon Sep 17 00:00:00 2001 From: backryun Date: Wed, 30 Nov 2022 22:51:03 +0900 Subject: [PATCH 58/62] Upstream Fabric loader and API --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1f0f2bf..59e1cd6 100755 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ org.gradle.jvmargs=-Xmx1G # check these on https://fabricmc.net/develop minecraft_version=1.19.2 yarn_mappings=1.19.2+build.28 - loader_version=0.14.10 + loader_version=0.14.11 # Mod Properties mod_version = 2.6.1 @@ -14,6 +14,6 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.67.1+1.19.2 + fabric_version=0.68.0+1.19.2 satin_version = 1.9.0 midnightlib_version=1.0.0-fabric From f69af4c800802bf43800ed4ba79f9d95ca4609b5 Mon Sep 17 00:00:00 2001 From: backryun Date: Mon, 12 Dec 2022 22:27:38 +0900 Subject: [PATCH 59/62] Switch to 1.19.3 support --- gradle.properties | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index 59e1cd6..32548cc 100755 --- a/gradle.properties +++ b/gradle.properties @@ -3,17 +3,17 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.19.2 - yarn_mappings=1.19.2+build.28 + minecraft_version=1.19.3 + yarn_mappings=1.19.3+build.3 loader_version=0.14.11 # Mod Properties - mod_version = 2.6.1 + mod_version = 2.6.2 maven_group = com.tterrag.blur archives_base_name = blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.68.0+1.19.2 - satin_version = 1.9.0 - midnightlib_version=1.0.0-fabric + fabric_version=0.69.0+1.19.3 + satin_version = 1.10.0 + midnightlib_version=1.1.0-fabric From 2fb8f29fee531d8f32fed38d9b66b02c28a258be Mon Sep 17 00:00:00 2001 From: backryun Date: Mon, 12 Dec 2022 22:28:14 +0900 Subject: [PATCH 60/62] Fix workflow for new branch --- .github/workflows/gradle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 11430a8..8df2321 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -1,8 +1,8 @@ on: push: - branches: [ "fabric-1.19" ] + branches: [ "fabric-1.19.3" ] pull_request: - branches: [ "fabric-1.19" ] + branches: [ "fabric-1.19.3" ] permissions: contents: read From e139a2319ea9fa5f335fceb2197a82ae8136ed72 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Wed, 14 Dec 2022 16:27:25 +0000 Subject: [PATCH 61/62] Blur 2.6.1 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 32548cc..8c80eec 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.14.11 # Mod Properties - mod_version = 2.6.2 + mod_version = 2.6.1 maven_group = com.tterrag.blur archives_base_name = blur From 77badf34948021d89a46e8cace6397355f7252f0 Mon Sep 17 00:00:00 2001 From: Motschen Date: Wed, 22 Mar 2023 14:45:53 +0100 Subject: [PATCH 62/62] Implement fade out effect, better config screen --- build.gradle | 2 +- gradle.properties | 4 +- src/main/java/com/tterrag/blur/Blur.java | 50 +++++++++---------- .../com/tterrag/blur/config/BlurConfig.java | 36 ++++++++----- .../tterrag/blur/mixin/MixinInGameHud.java | 25 ++++++++++ .../blur/mixin/MixinMinecraftClient.java | 2 +- .../com/tterrag/blur/mixin/MixinScreen.java | 13 ++--- .../resources/assets/blur/lang/en_us.json | 3 ++ src/main/resources/fabric.mod.json | 2 +- src/main/resources/mixins.blur.json | 3 +- 10 files changed, 86 insertions(+), 54 deletions(-) create mode 100644 src/main/java/com/tterrag/blur/mixin/MixinInGameHud.java diff --git a/build.gradle b/build.gradle index 8ecc742..0319f55 100755 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.0-SNAPSHOT' + id 'fabric-loom' version '1.1-SNAPSHOT' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index 8c80eec..9ae7c37 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.14.11 # Mod Properties - mod_version = 2.6.1 + mod_version = 2.7.0 maven_group = com.tterrag.blur archives_base_name = blur @@ -16,4 +16,4 @@ org.gradle.jvmargs=-Xmx1G # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api fabric_version=0.69.0+1.19.3 satin_version = 1.10.0 - midnightlib_version=1.1.0-fabric + midnightlib_version=1.2.1-fabric diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 1c5e39f..e49d88c 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -8,47 +8,34 @@ import ladysnake.satin.api.managed.uniform.Uniform1f; import net.fabricmc.api.ClientModInitializer; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.gui.screen.Screen; import net.minecraft.util.Identifier; -import java.awt.Color; -import java.util.ArrayList; -import java.util.List; public class Blur implements ClientModInitializer { public static final String MODID = "blur"; - public static List defaultExclusions = new ArrayList<>(); + public static long start; + public static long fadeOutProgress; - private long start; - - private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), + private static final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), shader -> shader.setUniformValue("Radius", (float) BlurConfig.radius)); - private final Uniform1f blurProgress = blur.findUniform1f("Progress"); - - public static final Blur INSTANCE = new Blur(); + private static final Uniform1f blurProgress = blur.findUniform1f("Progress"); @Override public void onInitializeClient() { - defaultExclusions.add(ChatScreen.class.getName()); - defaultExclusions.add("com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiOverlay$UserInputGuiScreen"); - defaultExclusions.add("ai.arcblroth.projectInception.client.InceptionInterfaceScreen"); - defaultExclusions.add("net.optifine.gui.GuiChatOF"); - defaultExclusions.add("io.github.darkkronicle.advancedchatcore.chat.AdvancedChatScreen"); - defaultExclusions.add("net.coderbot.iris.gui.screen.ShaderPackScreen"); BlurConfig.init("blur", BlurConfig.class); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { if (start > 0) { - blurProgress.set(getProgress()); + blurProgress.set(getProgress(MinecraftClient.getInstance().currentScreen != null)); blur.render(deltaTick); } }); } - private boolean doFade = false; + private static boolean doFade = false; - public void onScreenChange(Screen newGui) { + public static void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { boolean excluded = newGui == null || BlurConfig.blurExclusions.stream().anyMatch(exclusion -> newGui.getClass().getName().contains(exclusion)); if (!excluded) { @@ -58,6 +45,10 @@ public void onScreenChange(Screen newGui) { start = System.currentTimeMillis(); doFade = false; } + fadeOutProgress = BlurConfig.fadeOutTimeMillis; + } else if (newGui == null && fadeOutProgress > 0) { + blur.setUniformValue("Radius", (float) BlurConfig.radius); + start = System.currentTimeMillis(); } else { start = -1; doFade = true; @@ -65,19 +56,26 @@ public void onScreenChange(Screen newGui) { } } - private float getProgress() { - float x = Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeTimeMillis, 1); - if (BlurConfig.ease) x *= (2 - x); // easeOutCubic - return x; + private static float getProgress(boolean fadeIn) { + if (fadeIn) { + float x = Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeTimeMillis, 1); + if (BlurConfig.ease) x *= (2 - x); // easeInCubic + return x; + } + else { + float x = Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeOutTimeMillis, 1); + if (BlurConfig.ease) x *= (2 - x); // easeOutCubic + return -x + BlurConfig.fadeOutTimeMillis; + } } - public int getBackgroundColor(boolean second) { + public static int getBackgroundColor(boolean second, Screen screen) { int a = second ? BlurConfig.gradientEndAlpha : BlurConfig.gradientStartAlpha; var col = MidnightColorUtil.hex2Rgb(second ? BlurConfig.gradientEnd : BlurConfig.gradientStart); int r = (col.getRGB() >> 16) & 0xFF; int b = (col.getRGB() >> 8) & 0xFF; int g = col.getRGB() & 0xFF; - float prog = INSTANCE.getProgress(); + float prog = getProgress(screen != null); a *= prog; r *= prog; g *= prog; diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index cbec238..d8ec801 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -1,27 +1,39 @@ package com.tterrag.blur.config; -import com.tterrag.blur.Blur; +import com.google.common.collect.Lists; import eu.midnightdust.lib.config.MidnightConfig; +import net.minecraft.client.gui.screen.ChatScreen; import java.util.List; public class BlurConfig extends MidnightConfig { - @Entry - public static List blurExclusions = Blur.defaultExclusions; - @Entry(min = 0, max = 5000, width = 4) + public static final String style = "style"; + public static final String misc = "misc"; + + + @Entry(category = misc) + public static List blurExclusions = Lists.newArrayList(ChatScreen.class.getName(), + "com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiOverlay$UserInputGuiScreen", + "ai.arcblroth.projectInception.client.InceptionInterfaceScreen", + "net.optifine.gui.GuiChatOF", + "io.github.darkkronicle.advancedchatcore.chat.AdvancedChatScreen", + "net.coderbot.iris.gui.screen.ShaderPackScreen"); + @Entry(category = style, min = 0, max = 5000, width = 4) public static int fadeTimeMillis = 200; - @Entry + @Entry(category = style, min = 0, max = 5000, width = 4) + public static int fadeOutTimeMillis = 200; + @Entry(category = style) public static boolean ease = true; - @Entry(min = 0, max = 500, width = 3) + @Entry(category = style, isSlider = true, min = 0, max = 100) public static int radius = 8; - @Entry(isColor = true, width = 7, min = 7) + @Entry(category = style, isColor = true, width = 7, min = 7) public static String gradientStart = "#000000"; - @Entry(min = 0, max = 255) + @Entry(category = style, isSlider = true, min = 0, max = 255) public static int gradientStartAlpha = 75; - @Entry(isColor = true, width = 7, min = 7) + @Entry(category = style, isColor = true, width = 7, min = 7) public static String gradientEnd = "#000000"; - @Entry(min = 0, max = 255) + @Entry(category = style, isSlider = true, min = 0, max = 255) public static int gradientEndAlpha = 75; - @Entry + @Entry(category = misc) public static boolean showScreenTitle = false; -} +} \ No newline at end of file diff --git a/src/main/java/com/tterrag/blur/mixin/MixinInGameHud.java b/src/main/java/com/tterrag/blur/mixin/MixinInGameHud.java new file mode 100644 index 0000000..2dec110 --- /dev/null +++ b/src/main/java/com/tterrag/blur/mixin/MixinInGameHud.java @@ -0,0 +1,25 @@ +package com.tterrag.blur.mixin; + +import com.tterrag.blur.Blur; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawableHelper; +import net.minecraft.client.gui.hud.InGameHud; +import net.minecraft.client.util.math.MatrixStack; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(InGameHud.class) +public class MixinInGameHud extends DrawableHelper { + @Shadow private int scaledWidth; + @Shadow private int scaledHeight; + @Shadow private MinecraftClient client; + @Inject(at = @At("HEAD"), method = "render") + public void blur$onRender(MatrixStack matrices, float tickDelta, CallbackInfo ci) { + if (client.currentScreen == null && client.world != null && Blur.start > 0) { + this.fillGradient(matrices, 0, 0, this.scaledWidth, this.scaledHeight, Blur.getBackgroundColor(false, null), Blur.getBackgroundColor(true, null)); + } + } +} diff --git a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java index 19f6e3f..8704218 100755 --- a/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinMinecraftClient.java @@ -19,6 +19,6 @@ public class MixinMinecraftClient { target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", opcode = Opcodes.PUTFIELD)) private void onScreenOpen(Screen newScreen, CallbackInfo info) { - Blur.INSTANCE.onScreenChange(newScreen); + Blur.onScreenChange(newScreen); } } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index d89676d..16ab017 100755 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -1,11 +1,6 @@ package com.tterrag.blur.mixin; -import com.tterrag.blur.config.BlurConfig; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.text.TextColor; -import net.minecraft.util.Formatting; import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -26,12 +21,10 @@ public abstract class MixinScreen { @Shadow @Nullable protected MinecraftClient client; - @Shadow protected TextRenderer textRenderer; - @Inject(at = @At("HEAD"), method = "tick") private void blur$reloadShader(CallbackInfo ci) { if (this.getClass().toString().toLowerCase(Locale.ROOT).contains("midnightconfigscreen") && this.client != null) { - Blur.INSTANCE.onScreenChange(this.client.currentScreen); + Blur.onScreenChange(this.client.currentScreen); } } @@ -39,13 +32,13 @@ public abstract class MixinScreen { method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -1072689136)) private int blur$getFirstBackgroundColor(int color) { - return Blur.INSTANCE.getBackgroundColor(false); + return Blur.getBackgroundColor(false, client.currentScreen); } @ModifyConstant( method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V", constant = @Constant(intValue = -804253680)) private int blur$getSecondBackgroundColor(int color) { - return Blur.INSTANCE.getBackgroundColor(true); + return Blur.getBackgroundColor(true, client.currentScreen); } } diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index 487437e..71ef601 100755 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -1,7 +1,10 @@ { "blur.midnightconfig.title": "Blur Config", + "blur.midnightconfig.category.style": "Style", + "blur.midnightconfig.category.misc": "Miscellaneous", "blur.midnightconfig.blurExclusions": "Blur Exclusions", "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", + "blur.midnightconfig.fadeOutTimeMillis": "Fade Out Time (in milliseconds)", "blur.midnightconfig.ease": "Ease Animation", "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStart": "Gradient Start Color", diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index caf2792..a16a204 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -8,7 +8,7 @@ "icon": "assets/blur/icon.png", "entrypoints": { "client": [ - "com.tterrag.blur.Blur::INSTANCE" + "com.tterrag.blur.Blur" ] }, "contact": { diff --git a/src/main/resources/mixins.blur.json b/src/main/resources/mixins.blur.json index ed8c007..25d331c 100644 --- a/src/main/resources/mixins.blur.json +++ b/src/main/resources/mixins.blur.json @@ -5,7 +5,8 @@ "compatibilityLevel": "JAVA_17", "client": [ "MixinScreen", - "MixinMinecraftClient" + "MixinMinecraftClient", + "MixinInGameHud" ], "injectors": { "defaultRequire": 1

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 { if (start > 0) { @@ -67,23 +41,31 @@ public void onInitializeClient() { }); } + private boolean doFade = false; public void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { - boolean excluded = newGui == null || ArrayUtils.contains(configs.blurExclusions, newGui.getClass().getName()); + boolean excluded = newGui == null || ArrayUtils.contains(BLUR_CONFIG.blurExclusions, newGui.getClass().getName()); if (!excluded) { - start = System.currentTimeMillis(); + blur.setUniformValue("Radius", (float) getRadius()); + colorFirst = Integer.parseUnsignedInt(BLUR_CONFIG.gradientStartColor, 16); + colorSecond = Integer.parseUnsignedInt(BLUR_CONFIG.gradientEndColor, 16); + if (doFade == true) { + start = System.currentTimeMillis(); + doFade = false; + } } else { start = -1; + doFade = true; } } } public int getRadius() { - return configs.radius; + return BLUR_CONFIG.radius; } private float getProgress() { - return Math.min((System.currentTimeMillis() - start) / (float) configs.fadeTimeMillis, 1); + return Math.min((System.currentTimeMillis() - start) / (float) BLUR_CONFIG.fadeTimeMillis, 1); } public int getBackgroundColor(boolean second) { diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java new file mode 100644 index 0000000..69a7ee3 --- /dev/null +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -0,0 +1,26 @@ +package com.tterrag.blur.config; + +import com.sun.org.apache.xerces.internal.xs.StringList; +import me.sargunvohra.mcmods.autoconfig1u.ConfigData; +import me.sargunvohra.mcmods.autoconfig1u.ConfigHolder; +import me.sargunvohra.mcmods.autoconfig1u.ConfigManager; +import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; +import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry; +import me.sargunvohra.mcmods.autoconfig1u.gui.registry.DefaultGuiRegistryAccess; +import me.shedaniel.clothconfig2.api.ConfigScreen; +import net.minecraft.client.gui.screen.ChatScreen; +import net.minecraft.util.Identifier; + +import java.util.ArrayList; +import java.util.List; + +@Config(name = "blur") +@SuppressWarnings("No GUI provider registered") +public class BlurConfig implements ConfigData { + @ConfigEntry.Gui.Excluded + public String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; + public int fadeTimeMillis = 200; + public int radius = 8; + public String gradientStartColor = "75000000"; + public String gradientEndColor = "75000000"; +} diff --git a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java new file mode 100644 index 0000000..c024002 --- /dev/null +++ b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java @@ -0,0 +1,17 @@ +package com.tterrag.blur.config; + +import io.github.prospector.modmenu.api.ConfigScreenFactory; +import io.github.prospector.modmenu.api.ModMenuApi; +import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +@Environment(EnvType.CLIENT) +@SuppressWarnings("No GUI provider registered") +public class ModMenuIntegration implements ModMenuApi { + + @Override + public ConfigScreenFactory getModConfigScreenFactory() { + return parent -> AutoConfig.getConfigScreen(BlurConfig.class, parent).get(); + } +} diff --git a/src/main/resources/assets/blur/icon.png b/src/main/resources/assets/blur/icon.png index 02b137c72a9d8bc4ae9a28686adc904419258df9..4523cee6b6bf3f091973ee2a7c8a87517eb2c0f7 100644 GIT binary patch literal 18037 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 IM6N<$f~@`vPyhe` literal 186232 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 Date: Sun, 20 Dec 2020 15:05:55 +0100 Subject: [PATCH 25/62] Use official Satin build, Gradle cleanup, Remove unneeded dependencies --- build.gradle | 120 +++++++----------- gradle.properties | 36 +++--- src/main/java/com/tterrag/blur/Blur.java | 1 - .../com/tterrag/blur/config/BlurConfig.java | 10 -- .../blur/config/ModMenuIntegration.java | 1 - 5 files changed, 64 insertions(+), 104 deletions(-) diff --git a/build.gradle b/build.gradle index 20e61f8..fafc1a6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,33 +1,26 @@ plugins { - id 'java' + id 'fabric-loom' version '0.5-SNAPSHOT' id 'maven-publish' - id 'idea' - id 'eclipse' - id 'com.matthewprenger.cursegradle' version '1.4.0' - id 'fabric-loom' version '0.4-SNAPSHOT' } -boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false'); -ext.buildnumber = System.getenv().BUILD_NUMBER ?: 'custom'; +sourceCompatibility = JavaVersion.VERSION_1_8 +targetCompatibility = JavaVersion.VERSION_1_8 -group = 'com.tterrag.blur' -archivesBaseName = "Blur" -version = "${mod_version}-${minecraft_version}+fabric" - -sourceCompatibility = '1.8' -targetCompatibility = '1.8' +archivesBaseName = project.archives_base_name +version = project.mod_version +group = project.maven_group minecraft { } repositories { - jcenter() + maven { url "https://jitpack.io" } } dependencies { minecraft "com.mojang:minecraft:${minecraft_version}" - mappings "net.fabricmc:yarn:${mappings_version}" - modCompile "net.fabricmc:fabric-loader:${fabric_loader_version}" + mappings "net.fabricmc:yarn:${yarn_mappings}" + modCompile "net.fabricmc:fabric-loader:${loader_version}" modCompile "net.fabricmc.fabric-api:fabric-api:${fabric_version}" modCompile "io.github.ladysnake:Satin:${satin_version}" include "io.github.ladysnake:Satin:${satin_version}" @@ -40,13 +33,12 @@ dependencies { implementation 'com.google.code.findbugs:jsr305:3.0.2' } - processResources { - inputs.property "version", mod_version + inputs.property "version", project.version from(sourceSets.main.resources.srcDirs) { include "fabric.mod.json" - expand "version": mod_version + expand "version": project.version } from(sourceSets.main.resources.srcDirs) { @@ -54,69 +46,43 @@ processResources { } } -import org.apache.tools.ant.filters.ReplaceTokens -import groovy.json.JsonSlurper +// ensure that the encoding is set to UTF-8, no matter what the system default is +// this fixes some edge cases with special characters not displaying correctly +// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html +tasks.withType(JavaCompile) { + options.encoding = "UTF-8" +} + +// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task +// if it is present. +// If you remove this task, sources will not be generated. +task sourcesJar(type: Jar, dependsOn: classes) { + classifier = "sources" + from sourceSets.main.allSource +} + +jar { + from "LICENSE" +} -task createResourcePacks { - def inputFile = new File("resource_packs.json") - def json = new JsonSlurper().parseText(inputFile.text) - json.each { - def pack_id = it.key - def pack_name = it.value.name - def pack_desc = it.value.description - def pack_radius = it.value.radius - - def taskName = "createPack" + pack_id.capitalize(); - task "${taskName}" (type: Zip) { - from ('pack_template') { - filter(ReplaceTokens, tokens: [ - mod_version: project.version.toString(), - pack_version: '3', - description: pack_desc.toString(), - radius: pack_radius.toString() - ]) - - rename(/(.+)\.template/, '$1') +// configure the maven publication +publishing { + publications { + mavenJava(MavenPublication) { + // add all the jars that should be included when publishing to maven + artifact(remapJar) { + builtBy remapJar } - - from ('pack_icons') { - include "${pack_id}.png" - rename '.+', 'icon.png' + artifact(sourcesJar) { + builtBy remapSourcesJar } - - baseName = "Blur " + pack_name } - - createResourcePacks.finalizedBy taskName } -} - -// Not necessary atm -// tasks.build.dependsOn createResourcePacks -tasks.curseforge.enabled = !dev && project.hasProperty('curseforge_key') - -curseforge { - if (project.hasProperty('curseforge_key')) { - apiKey = project.curseforge_key - } - - project { - id = project.project_id - changelogType = 'html' - changelog = System.getenv('CHANGELOG') - if (changelog == null || 'none'.equals(changelog)) { - changelog = getChangelog() ?: '' - changelogType = 'text' - } - releaseType = project.release_type - addGameVersion '1.9.4' - addGameVersion '1.11.2' - addGameVersion '1.12' - addGameVersion '1.12.1' - mainArtifact(jar) { - displayName = "Blur ${mod_version}" - } - } + // select the repositories you want to publish to + repositories { + // uncomment to publish to the local maven + // mavenLocal() + } } diff --git a/gradle.properties b/gradle.properties index 9814aaf..a800cc0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,23 @@ -minecraft_version=1.16.2 +# Done to increase the memory available to gradle. +org.gradle.jvmargs=-Xmx1G -mod_version=2.0.0 +# Fabric Properties + # check these on https://fabricmc.net/use + minecraft_version=20w51a + yarn_mappings=20w51a+build.5 + loader_version=0.10.8 + fabric_version=0.28.3+1.17 + +# Mod Properties + mod_version = 2.0.0-20w51a+fabric + maven_group = com.tterrag.blur + archives_base_name = Blur -fabric_loader_version=0.9.1+build.205 -fabric_version=0.18.0+build.397-1.16 -mappings_version=1.16.2+build.19 - -auto_config_version = 3.2.0-unstable -cloth_config_version = 4.7.0-unstable -mod_menu_version = 1.14.6+build.31 - -# Satin library -satin_version = 1.5.1 - -project_id=268324 -release_type=release +# Dependencies + # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api + fabric_version=0.26.1+1.16 + + auto_config_version = 3.2.0-unstable + cloth_config_version = 4.7.0-unstable + mod_menu_version = 1.14.6+build.31 + satin_version = 1.6.0-nightly.20w48a diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 123ef74..3056864 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -19,7 +19,6 @@ public class Blur implements ClientModInitializer { public static final String MODID = "blur"; private long start; - public int colorFirst, colorSecond; private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index 69a7ee3..3ccae63 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -1,21 +1,11 @@ package com.tterrag.blur.config; -import com.sun.org.apache.xerces.internal.xs.StringList; import me.sargunvohra.mcmods.autoconfig1u.ConfigData; -import me.sargunvohra.mcmods.autoconfig1u.ConfigHolder; -import me.sargunvohra.mcmods.autoconfig1u.ConfigManager; import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry; -import me.sargunvohra.mcmods.autoconfig1u.gui.registry.DefaultGuiRegistryAccess; -import me.shedaniel.clothconfig2.api.ConfigScreen; import net.minecraft.client.gui.screen.ChatScreen; -import net.minecraft.util.Identifier; - -import java.util.ArrayList; -import java.util.List; @Config(name = "blur") -@SuppressWarnings("No GUI provider registered") public class BlurConfig implements ConfigData { @ConfigEntry.Gui.Excluded public String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; diff --git a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java index c024002..259cd21 100644 --- a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java +++ b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java @@ -7,7 +7,6 @@ import net.fabricmc.api.Environment; @Environment(EnvType.CLIENT) -@SuppressWarnings("No GUI provider registered") public class ModMenuIntegration implements ModMenuApi { @Override From a6b70f1c6a6de256a880d7923cfed0c989f10fc3 Mon Sep 17 00:00:00 2001 From: Enaium <32991121+Enaium@users.noreply.github.com> Date: Fri, 5 Mar 2021 13:06:49 +0800 Subject: [PATCH 26/62] Create zh_cn.json --- src/main/resources/assets/blur/lang/zh_cn.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/resources/assets/blur/lang/zh_cn.json diff --git a/src/main/resources/assets/blur/lang/zh_cn.json b/src/main/resources/assets/blur/lang/zh_cn.json new file mode 100644 index 0000000..2bbb57b --- /dev/null +++ b/src/main/resources/assets/blur/lang/zh_cn.json @@ -0,0 +1,7 @@ +{ + "text.autoconfig.blur.title": "模糊配置", + "text.autoconfig.blur.option.fadeTimeMillis": "淡入时间(毫秒)", + "text.autoconfig.blur.option.radius": "半径", + "text.autoconfig.blur.option.gradientStartColor": "渐变起始色", + "text.autoconfig.blur.option.gradientEndColor": "渐变结束色" +} From a520948fff11ec4156999739b7b3fb1267041160 Mon Sep 17 00:00:00 2001 From: Motschen Date: Fri, 5 Mar 2021 17:52:48 +0100 Subject: [PATCH 27/62] Blur 2.1.0 - MidnightConfig Switch to MidnightConfig: - Much smaller file size - Live preview - Fixed #4 Chinise translation by @Enaium Update to 21w08b --- build.gradle | 8 +- gradle.properties | 16 +- src/main/java/com/tterrag/blur/Blur.java | 25 +- .../com/tterrag/blur/config/BlurConfig.java | 22 +- .../tterrag/blur/config/MidnightConfig.java | 293 ++++++++++++++++++ .../blur/config/ModMenuIntegration.java | 3 +- .../resources/assets/blur/lang/de_de.json | 10 +- .../resources/assets/blur/lang/en_gb.json | 10 +- .../resources/assets/blur/lang/en_us.json | 10 +- .../resources/assets/blur/lang/zh_cn.json | 10 +- src/main/resources/fabric.mod.json | 2 +- 11 files changed, 344 insertions(+), 65 deletions(-) create mode 100644 src/main/java/com/tterrag/blur/config/MidnightConfig.java diff --git a/build.gradle b/build.gradle index fafc1a6..33b14ae 100644 --- a/build.gradle +++ b/build.gradle @@ -25,11 +25,9 @@ dependencies { modCompile "io.github.ladysnake:Satin:${satin_version}" include "io.github.ladysnake:Satin:${satin_version}" - modImplementation ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") - include ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") - modImplementation ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") - include ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") - modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") + modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") { + exclude group: "net.fabricmc.fabric-api" + } implementation 'com.google.code.findbugs:jsr305:3.0.2' } diff --git a/gradle.properties b/gradle.properties index a800cc0..efbdd4b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,21 +3,17 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=20w51a - yarn_mappings=20w51a+build.5 - loader_version=0.10.8 - fabric_version=0.28.3+1.17 + minecraft_version=21w08b + yarn_mappings=21w08b+build.20 + loader_version=0.11.2 # Mod Properties - mod_version = 2.0.0-20w51a+fabric + mod_version = 2.1.0-21w08b+fabric maven_group = com.tterrag.blur archives_base_name = Blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.26.1+1.16 - - auto_config_version = 3.2.0-unstable - cloth_config_version = 4.7.0-unstable - mod_menu_version = 1.14.6+build.31 + fabric_version=0.31.2+1.17 + mod_menu_version = 2.0.0-beta.1+build.2 satin_version = 1.6.0-nightly.20w48a diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 3056864..8d51525 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,12 +1,11 @@ package com.tterrag.blur; import com.tterrag.blur.config.BlurConfig; +import com.tterrag.blur.config.MidnightConfig; import ladysnake.satin.api.event.ShaderEffectRenderCallback; import ladysnake.satin.api.managed.ManagedShaderEffect; import ladysnake.satin.api.managed.ShaderEffectManager; import ladysnake.satin.api.managed.uniform.Uniform1f; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; -import me.sargunvohra.mcmods.autoconfig1u.serializer.JanksonConfigSerializer; import net.fabricmc.api.ClientModInitializer; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; @@ -14,7 +13,6 @@ import org.apache.commons.lang3.ArrayUtils; public class Blur implements ClientModInitializer { - public static BlurConfig BLUR_CONFIG; public static final String MODID = "blur"; @@ -22,15 +20,14 @@ public class Blur implements ClientModInitializer { public int colorFirst, colorSecond; private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), - shader -> shader.setUniformValue("Radius", (float) getRadius())); + shader -> shader.setUniformValue("Radius", BlurConfig.radius)); private final Uniform1f blurProgress = blur.findUniform1f("Progress"); public static final Blur INSTANCE = new Blur(); @Override public void onInitializeClient() { - AutoConfig.register(BlurConfig.class, JanksonConfigSerializer::new); - BLUR_CONFIG = AutoConfig.getConfigHolder(BlurConfig.class).getConfig(); + MidnightConfig.init("blur", BlurConfig.class); ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { if (start > 0) { @@ -43,12 +40,12 @@ public void onInitializeClient() { private boolean doFade = false; public void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { - boolean excluded = newGui == null || ArrayUtils.contains(BLUR_CONFIG.blurExclusions, newGui.getClass().getName()); + boolean excluded = newGui == null || ArrayUtils.contains(BlurConfig.blurExclusions, newGui.getClass().getName()); if (!excluded) { - blur.setUniformValue("Radius", (float) getRadius()); - colorFirst = Integer.parseUnsignedInt(BLUR_CONFIG.gradientStartColor, 16); - colorSecond = Integer.parseUnsignedInt(BLUR_CONFIG.gradientEndColor, 16); - if (doFade == true) { + blur.setUniformValue("Radius", BlurConfig.radius); + colorFirst = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientStartColor), 16); + colorSecond = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientEndColor), 16); + if (doFade) { start = System.currentTimeMillis(); doFade = false; } @@ -59,12 +56,8 @@ public void onScreenChange(Screen newGui) { } } - public int getRadius() { - return BLUR_CONFIG.radius; - } - private float getProgress() { - return Math.min((System.currentTimeMillis() - start) / (float) BLUR_CONFIG.fadeTimeMillis, 1); + return Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeTimeMillis, 1); } public int getBackgroundColor(boolean second) { diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index 3ccae63..c52fb6f 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -1,16 +1,16 @@ package com.tterrag.blur.config; -import me.sargunvohra.mcmods.autoconfig1u.ConfigData; -import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; -import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry; import net.minecraft.client.gui.screen.ChatScreen; -@Config(name = "blur") -public class BlurConfig implements ConfigData { - @ConfigEntry.Gui.Excluded - public String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; - public int fadeTimeMillis = 200; - public int radius = 8; - public String gradientStartColor = "75000000"; - public String gradientEndColor = "75000000"; +public class BlurConfig extends MidnightConfig { + @Entry + public static String[] blurExclusions = new String[]{ ChatScreen.class.getName() }; + @Entry(min = 0, max = 5000) + public static int fadeTimeMillis = 200; + @Entry(min = 0, max = 500) + public static int radius = 8; + @Entry(min = 0, max = 99999999) + public static int gradientStartColor = 75000000; + @Entry(min = 0, max = 99999999) + public static int gradientEndColor = 75000000; } diff --git a/src/main/java/com/tterrag/blur/config/MidnightConfig.java b/src/main/java/com/tterrag/blur/config/MidnightConfig.java new file mode 100644 index 0000000..c44cadf --- /dev/null +++ b/src/main/java/com/tterrag/blur/config/MidnightConfig.java @@ -0,0 +1,293 @@ +package com.tterrag.blur.config; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.tterrag.blur.Blur; +import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ScreenTexts; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.gui.widget.TextFieldWidget; +import net.minecraft.client.resource.language.I18n; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.*; +import net.minecraft.util.Formatting; + +import java.lang.annotation.*; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.*; +import java.util.function.BiFunction; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.regex.Pattern; + +// MidnightConfig v0.1.0 - Modified for Blur // + +/* Based on https://github.com/Minenash/TinyConfig + Credits to Minenash - CC0-1.0 + You can copy this class to get a standalone version of MidnightConfig */ + +@SuppressWarnings("rawtypes") +public class MidnightConfig { + + private static final Pattern INTEGER_ONLY = Pattern.compile("(-?[0-9]*)"); + private static final Pattern DECIMAL_ONLY = Pattern.compile("-?([\\d]+\\.?[\\d]*|[\\d]*\\.?[\\d]+|\\.)"); + + private static final List entries = new ArrayList<>(); + + protected static class EntryInfo { + Field field; + Object widget; + int width; + Method dynamicTooltip; + Map.Entry error; + Object defaultValue; + Object value; + String tempValue; + boolean inLimits = true; + } + + private static Class configClass; + private static String translationPrefix; + private static Path path; + + private static final Gson gson = new GsonBuilder() + .excludeFieldsWithModifiers(Modifier.TRANSIENT) + .excludeFieldsWithModifiers(Modifier.PRIVATE) + .setPrettyPrinting() + .create(); + + public static void init(String modid, Class config) { + translationPrefix = modid + ".midnightconfig."; + path = FabricLoader.getInstance().getConfigDir().resolve(modid + ".json"); + configClass = config; + + for (Field field : config.getFields()) { + Class type = field.getType(); + EntryInfo info = new EntryInfo(); + + Entry e; + try { e = field.getAnnotation(Entry.class); } + catch (Exception ignored) { continue; } + + info.width = e.width(); + info.field = field; + + if (type == int.class) textField(info, Integer::parseInt, INTEGER_ONLY, e.min(), e.max(), true); + else if (type == double.class) textField(info, Double::parseDouble, DECIMAL_ONLY, e.min(), e.max(),false); + else if (type == String.class) textField(info, String::length, null, Math.min(e.min(),0), Math.max(e.max(),1),true); + else if (type == boolean.class) { + Function func = value -> new LiteralText((Boolean) value ? "True" : "False").formatted((Boolean) value ? Formatting.GREEN : Formatting.RED); + info.widget = new AbstractMap.SimpleEntry>(button -> { + info.value = !(Boolean) info.value; + button.setMessage(func.apply(info.value)); + }, func); + } + else if (type.isEnum()) { + List values = Arrays.asList(field.getType().getEnumConstants()); + Function func = value -> new TranslatableText(translationPrefix + "enum." + type.getSimpleName() + "." + info.value.toString()); + info.widget = new AbstractMap.SimpleEntry>( button -> { + int index = values.indexOf(info.value) + 1; + info.value = values.get(index >= values.size()? 0 : index); + button.setMessage(func.apply(info.value)); + }, func); + } + else + continue; + + entries.add(info); + + try { info.defaultValue = field.get(null); } + catch (IllegalAccessException ignored) {} + + try { + info.dynamicTooltip = config.getMethod(e.dynamicTooltip()); + info.dynamicTooltip.setAccessible(true); + } catch (Exception ignored) {} + + } + + try { gson.fromJson(Files.newBufferedReader(path), config); } + catch (Exception e) { write(); } + + for (EntryInfo info : entries) { + try { + info.value = info.field.get(null); + info.tempValue = info.value.toString(); + } + catch (IllegalAccessException ignored) {} + } + + } + + private static void textField(EntryInfo info, Function f, Pattern pattern, double min, double max, boolean cast) { + boolean isNumber = pattern != null; + info.widget = (BiFunction>) (t, b) -> s -> { + s = s.trim(); + if (!(s.isEmpty() || !isNumber || pattern.matcher(s).matches())) + return false; + + Number value = 0; + boolean inLimits = false; + System.out.println(((isNumber ^ s.isEmpty()))); + System.out.println(!s.equals("-") && !s.equals(".")); + info.error = null; + if (!(isNumber && s.isEmpty()) && !s.equals("-") && !s.equals(".") && Double.parseDouble(s) < 999999999) { + value = f.apply(s); + inLimits = value.doubleValue() >= min && value.doubleValue() <= max; + info.error = inLimits? null : new AbstractMap.SimpleEntry<>(t, new LiteralText(value.doubleValue() < min ? + "§cMinimum " + (isNumber? "value" : "length") + (cast? " is " + (int)min : " is " + min) : + "§cMaximum " + (isNumber? "value" : "length") + (cast? " is " + (int)max : " is " + max))); + } + + info.tempValue = s; + t.setEditableColor(inLimits? 0xFFFFFFFF : 0xFFFF7777); + info.inLimits = inLimits; + b.active = entries.stream().allMatch(e -> e.inLimits); + + if (inLimits) + info.value = isNumber? value : s; + + return true; + }; + } + + public static void write() { + try { + if (!Files.exists(path)) Files.createFile(path); + Files.write(path, gson.toJson(configClass.newInstance()).getBytes()); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + public Screen getScreen(Screen parent) { + return new TinyConfigScreen(parent); + } + + private static class TinyConfigScreen extends Screen { + protected TinyConfigScreen(Screen parent) { + super(new TranslatableText(MidnightConfig.translationPrefix + "title")); + this.parent = parent; + } + private final Screen parent; + + // Real Time config update // + @Override + public void tick() { + for (EntryInfo info : entries) + try { info.field.set(null, info.value); } + catch (IllegalAccessException ignore) {} + Blur.INSTANCE.onScreenChange(this); + } + + @Override + protected void init() { + super.init(); + this.addButton(new ButtonWidget(this.width / 2 - 154, this.height - 28, 150, 20, ScreenTexts.CANCEL, button -> { + try { gson.fromJson(Files.newBufferedReader(path), configClass); } + catch (Exception e) { write(); } + + for (EntryInfo info : entries) { + try { + info.value = info.field.get(null); + info.tempValue = info.value.toString(); + } + catch (IllegalAccessException ignored) {} + } + Objects.requireNonNull(client).openScreen(parent); + })); + + ButtonWidget done = this.addButton(new ButtonWidget(this.width / 2 + 4, this.height - 28, 150, 20, ScreenTexts.DONE, (button) -> { + for (EntryInfo info : entries) + try { info.field.set(null, info.value); } + catch (IllegalAccessException ignore) {} + write(); + Objects.requireNonNull(client).openScreen(parent); + })); + + int y = 45; + for (EntryInfo info : entries) { + addButton(new ButtonWidget(width - 155, y, 40,20, new LiteralText("Reset").formatted(Formatting.RED), (button -> { + info.value = info.defaultValue; + info.tempValue = info.value.toString(); + Objects.requireNonNull(client).openScreen(this); + }))); + + if (info.widget instanceof Map.Entry) { + Map.Entry> widget = (Map.Entry>) info.widget; + addButton(new ButtonWidget(width-110,y,info.width,20, widget.getValue().apply(info.value), widget.getKey())); + } + else { + TextFieldWidget widget = addButton(new TextFieldWidget(textRenderer, width-110, y, info.width, 20, null)); + widget.setText(info.tempValue); + + Predicate processor = ((BiFunction>) info.widget).apply(widget,done); + + widget.setTextPredicate(processor); + + children.add(widget); + } + y += 25; + } + + } + int aniX = this.width / 2; + @Override + public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { + this.renderBackground(matrices); + + if (aniX < this.width / 2) { + aniX = aniX +40; + } + + int stringWidth = (int) (title.getString().length() * 2.75f); + this.fillGradient(matrices, this.width / 2 - stringWidth, 10, this.width /2 + stringWidth, 29, -1072689136, -804253680); + if (client.world == null) { + this.fillGradient(matrices, this.width / 2 - aniX, 35, width / 2 + aniX, this.height - 40, -1072689136, -804253680); + } + + super.render(matrices, mouseX, mouseY, delta); + drawCenteredText(matrices, textRenderer, title, width/2, 15, 0xFFFFFF); + + int y = 40; + for (EntryInfo info : entries) { + drawTextWithShadow(matrices, textRenderer, new TranslatableText(translationPrefix + info.field.getName()), 12, y + 10, 0xFFFFFF); + + if (info.error != null && info.error.getKey().isMouseOver(mouseX,mouseY)) + renderTooltip(matrices, info.error.getValue(), mouseX, mouseY); + else if (mouseY >= y && mouseY < (y + 25)) { + if (info.dynamicTooltip != null) { + try { + renderTooltip(matrices, (List) info.dynamicTooltip.invoke(null, entries), mouseX, mouseY); + y += 25; + continue; + } catch (Exception e) { e.printStackTrace(); } + } + String key = translationPrefix + info.field.getName() + ".tooltip"; + if (I18n.hasTranslation(key)) { + List list = new ArrayList<>(); + for (String str : I18n.translate(key).split("\n")) + list.add(new LiteralText(str)); + renderTooltip(matrices, list, mouseX, mouseY); + } + } + y += 25; + } + } + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface Entry { + String dynamicTooltip() default ""; + int width() default 100; + double min() default Double.MIN_NORMAL; + double max() default Double.MAX_VALUE; + } +} \ No newline at end of file diff --git a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java index 259cd21..ac025f7 100644 --- a/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java +++ b/src/main/java/com/tterrag/blur/config/ModMenuIntegration.java @@ -2,7 +2,6 @@ import io.github.prospector.modmenu.api.ConfigScreenFactory; import io.github.prospector.modmenu.api.ModMenuApi; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -11,6 +10,6 @@ public class ModMenuIntegration implements ModMenuApi { @Override public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> AutoConfig.getConfigScreen(BlurConfig.class, parent).get(); + return parent -> new BlurConfig().getScreen(parent); } } diff --git a/src/main/resources/assets/blur/lang/de_de.json b/src/main/resources/assets/blur/lang/de_de.json index 859bad7..f186bd1 100644 --- a/src/main/resources/assets/blur/lang/de_de.json +++ b/src/main/resources/assets/blur/lang/de_de.json @@ -1,7 +1,7 @@ { - "text.autoconfig.blur.title": "Blur Konfiguration", - "text.autoconfig.blur.option.fadeTimeMillis": "Überblendzeit (in Millisekunden)", - "text.autoconfig.blur.option.radius": "Radius", - "text.autoconfig.blur.option.gradientStartColor": "Farbverlauf-Anfangsfarbe", - "text.autoconfig.blur.option.gradientEndColor": "Farbverlauf-Endfarbe" + "blur.midnightconfig.title": "Blur Konfiguration", + "blur.midnightconfig.fadeTimeMillis": "Überblendzeit (in Millisekunden)", + "blur.midnightconfig.radius": "Radius", + "blur.midnightconfig.gradientStartColor": "Farbverlauf-Anfangsfarbe", + "blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_gb.json b/src/main/resources/assets/blur/lang/en_gb.json index 4b76cc1..61a93ff 100644 --- a/src/main/resources/assets/blur/lang/en_gb.json +++ b/src/main/resources/assets/blur/lang/en_gb.json @@ -1,7 +1,7 @@ { - "text.autoconfig.blur.title": "Blur Config", - "text.autoconfig.blur.option.fadeTimeMillis": "Fade Time (in milliseconds)", - "text.autoconfig.blur.option.radius": "Radius", - "text.autoconfig.blur.option.gradientStartColor": "Gradient Start Colour", - "text.autoconfig.blur.option.gradientEndColor": "Gradient End Colour" + "blur.midnightconfig.title": "Blur Config", + "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", + "blur.midnightconfig.radius": "Radius", + "blur.midnightconfig.gradientStartColor": "Gradient Start Colour", + "blur.midnightconfig.gradientEndColor": "Gradient End Colour" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index f181006..30eace1 100644 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -1,7 +1,7 @@ { - "text.autoconfig.blur.title": "Blur Config", - "text.autoconfig.blur.option.fadeTimeMillis": "Fade Time (in milliseconds)", - "text.autoconfig.blur.option.radius": "Radius", - "text.autoconfig.blur.option.gradientStartColor": "Gradient Start Color", - "text.autoconfig.blur.option.gradientEndColor": "Gradient End Color" + "blur.midnightconfig.title": "Blur Config", + "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", + "blur.midnightconfig.radius": "Radius", + "blur.midnightconfig.gradientStartColor": "Gradient Start Color", + "blur.midnightconfig.gradientEndColor": "Gradient End Color" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/zh_cn.json b/src/main/resources/assets/blur/lang/zh_cn.json index 2bbb57b..0738eea 100644 --- a/src/main/resources/assets/blur/lang/zh_cn.json +++ b/src/main/resources/assets/blur/lang/zh_cn.json @@ -1,7 +1,7 @@ { - "text.autoconfig.blur.title": "模糊配置", - "text.autoconfig.blur.option.fadeTimeMillis": "淡入时间(毫秒)", - "text.autoconfig.blur.option.radius": "半径", - "text.autoconfig.blur.option.gradientStartColor": "渐变起始色", - "text.autoconfig.blur.option.gradientEndColor": "渐变结束色" + "blur.midnightconfig.title": "模糊配置", + "blur.midnightconfig.fadeTimeMillis": "淡入时间(毫秒)", + "blur.midnightconfig.radius": "半径", + "blur.midnightconfig.gradientStartColor": "渐变起始色", + "blur.midnightconfig.gradientEndColor": "渐变结束色" } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 42f5f4a..0b23269 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "id": "blur", "name": "Blur (Fabric)", - "version": "2.0.0", + "version": "2.1.0", "environment": "client", "license": "MIT", "icon": "assets/blur/icon.png", From e1346d2516c4d1f626ae1592cee01054e0bafadd Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Wed, 2 Jun 2021 14:33:24 +0200 Subject: [PATCH 28/62] Update to 1.17-pre3 --- build.gradle | 57 ++++----- gradle.properties | 14 +-- gradle/wrapper/gradle-wrapper.jar | Bin 52818 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 117 +++++++++++------- gradlew.bat | 53 ++++---- src/main/java/com/tterrag/blur/Blur.java | 4 +- .../tterrag/blur/config/MidnightConfig.java | 16 +-- .../blur/config/ModMenuIntegration.java | 4 +- .../blur/shaders/program/fade_in_blur.fsh | 12 +- .../blur/shaders/program/fade_in_blur.json | 4 +- 11 files changed, 153 insertions(+), 130 deletions(-) diff --git a/build.gradle b/build.gradle index 33b14ae..27a2544 100644 --- a/build.gradle +++ b/build.gradle @@ -1,47 +1,52 @@ plugins { - id 'fabric-loom' version '0.5-SNAPSHOT' + id 'fabric-loom' version '0.8-SNAPSHOT' id 'maven-publish' } -sourceCompatibility = JavaVersion.VERSION_1_8 -targetCompatibility = JavaVersion.VERSION_1_8 +sourceCompatibility = JavaVersion.VERSION_16 +targetCompatibility = JavaVersion.VERSION_16 archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group -minecraft { -} - repositories { - maven { url "https://jitpack.io" } + maven { + name = 'Ladysnake Mods' + url = 'https://ladysnake.jfrog.io/artifactory/mods' + content { + includeGroup 'io.github.ladysnake' + includeGroupByRegex 'io\\.github\\.onyxstudios.*' + } + } + maven { + url = 'https://maven.terraformersmc.com/releases' + content { + includeGroup 'com.terraformersmc' + } + } } dependencies { minecraft "com.mojang:minecraft:${minecraft_version}" mappings "net.fabricmc:yarn:${yarn_mappings}" - modCompile "net.fabricmc:fabric-loader:${loader_version}" - modCompile "net.fabricmc.fabric-api:fabric-api:${fabric_version}" - modCompile "io.github.ladysnake:Satin:${satin_version}" - include "io.github.ladysnake:Satin:${satin_version}" - - modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") { - exclude group: "net.fabricmc.fabric-api" - } - + modImplementation "net.fabricmc:fabric-loader:${loader_version}" + modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_version}" + modImplementation "io.github.ladysnake:satin:${satin_version}" + include "io.github.ladysnake:satin:${satin_version}" + + modCompileOnly "com.terraformersmc:modmenu:${project.modmenu_version}" + modRuntime "com.terraformersmc:modmenu:${project.modmenu_version}" + implementation 'com.google.code.findbugs:jsr305:3.0.2' } + processResources { inputs.property "version", project.version - from(sourceSets.main.resources.srcDirs) { - include "fabric.mod.json" + filesMatching("fabric.mod.json") { expand "version": project.version } - - from(sourceSets.main.resources.srcDirs) { - exclude "fabric.mod.json" - } } // ensure that the encoding is set to UTF-8, no matter what the system default is @@ -51,12 +56,8 @@ tasks.withType(JavaCompile) { options.encoding = "UTF-8" } -// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task -// if it is present. -// If you remove this task, sources will not be generated. -task sourcesJar(type: Jar, dependsOn: classes) { - classifier = "sources" - from sourceSets.main.allSource +java { + withSourcesJar() } jar { diff --git a/gradle.properties b/gradle.properties index efbdd4b..493ba1f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,17 +3,17 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=21w08b - yarn_mappings=21w08b+build.20 - loader_version=0.11.2 + minecraft_version=1.17-pre3 + yarn_mappings=1.17-pre3+build.2 + loader_version=0.11.3 # Mod Properties - mod_version = 2.1.0-21w08b+fabric + mod_version = 2.1.0-1.17-pre3+fabric maven_group = com.tterrag.blur archives_base_name = Blur # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.31.2+1.17 - mod_menu_version = 2.0.0-beta.1+build.2 - satin_version = 1.6.0-nightly.20w48a + fabric_version = 0.34.8+1.17 + modmenu_version = 2.0.0-beta.7 + satin_version = 1.6.0-nightly.1.17-pre3 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index deedc7fa5e6310eac3148a7dd0b1f069b07364cb..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch literal 59203 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