5 Commits

Author SHA1 Message Date
Motschen
432934b056 2.0.0 - AutoConfig and Fade Fix 2020-11-08 18:09:57 +01:00
Motschen
f8a4dd71fd Merge pull request #1 from Pyrofab/fabric
Update to 1.16.2
2020-08-17 15:31:34 +02:00
Pyrofab
d117c98de2 Bump version to 1.0.7 2020-08-17 09:56:47 +02:00
Pyrofab
fd84d68897 Update to 1.16.2 2020-08-17 09:49:13 +02:00
Motschen
7e8194a529 Port to 1.16-rc1 2020-06-21 12:33:45 +02:00
20 changed files with 121 additions and 163 deletions

View File

@@ -3,8 +3,8 @@ plugins {
id 'maven-publish' id 'maven-publish'
id 'idea' id 'idea'
id 'eclipse' id 'eclipse'
id 'com.matthewprenger.cursegradle' version '1.0.9' id 'com.matthewprenger.cursegradle' version '1.4.0'
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'); boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false');
@@ -12,7 +12,7 @@ ext.buildnumber = System.getenv().BUILD_NUMBER ?: 'custom';
group = 'com.tterrag.blur' group = 'com.tterrag.blur'
archivesBaseName = "Blur" archivesBaseName = "Blur"
version = "${mod_version}-${minecraft_version}[fabric]" version = "${mod_version}-${minecraft_version}+fabric"
sourceCompatibility = '1.8' sourceCompatibility = '1.8'
targetCompatibility = '1.8' targetCompatibility = '1.8'
@@ -21,7 +21,7 @@ minecraft {
} }
repositories { repositories {
maven { url 'https://jitpack.io' } jcenter()
} }
dependencies { dependencies {
@@ -29,8 +29,14 @@ dependencies {
mappings "net.fabricmc:yarn:${mappings_version}" mappings "net.fabricmc:yarn:${mappings_version}"
modCompile "net.fabricmc:fabric-loader:${fabric_loader_version}" modCompile "net.fabricmc:fabric-loader:${fabric_loader_version}"
modCompile "net.fabricmc.fabric-api:fabric-api:${fabric_version}" modCompile "net.fabricmc.fabric-api:fabric-api:${fabric_version}"
modCompile "com.github.Ladysnake:Satin:${satin_version}" modCompile "io.github.ladysnake:Satin:${satin_version}"
include "com.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' implementation 'com.google.code.findbugs:jsr305:3.0.2'
} }

View File

@@ -1,13 +1,17 @@
minecraft_version=19w34a minecraft_version=1.16.2
mod_version=1.0.5 mod_version=2.0.0
fabric_loader_version=0.5.0+build.162 fabric_loader_version=0.9.1+build.205
fabric_version=0.3.1+build.208 fabric_version=0.18.0+build.397-1.16
mappings_version=19w34a+build.10 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 library
satin_version = 1.15-SNAPSHOT satin_version = 1.5.1
project_id=268324 project_id=268324
release_type=release release_type=release

View File

@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -1,67 +0,0 @@
{
"targets": [
"swap"
],
"passes": [
{
"name": "fade_in_blur",
"intarget": "minecraft:main",
"outtarget": "swap",
"uniforms": [
{
"name": "BlurDir",
"values": [ 1.0, 0.0 ]
},
{
"name": "Radius",
"values": [ @radius@.0 ]
}
]
},
{
"name": "fade_in_blur",
"intarget": "swap",
"outtarget": "minecraft:main",
"uniforms": [
{
"name": "BlurDir",
"values": [ 0.0, 1.0 ]
},
{
"name": "Radius",
"values": [ @radius@.0 ]
}
]
},
{
"name": "fade_in_blur",
"intarget": "minecraft:main",
"outtarget": "swap",
"uniforms": [
{
"name": "BlurDir",
"values": [ 1.0, 0.0 ]
},
{
"name": "Radius",
"values": [ @radius@.0 ]
}
]
},
{
"name": "fade_in_blur",
"intarget": "swap",
"outtarget": "minecraft:main",
"uniforms": [
{
"name": "BlurDir",
"values": [ 0.0, 1.0 ]
},
{
"name": "Radius",
"values": [ @radius@.0 ]
}
]
}
]
}

View File

@@ -1,7 +0,0 @@
{
"pack": {
"_comment": "This pack was made for Blur version @mod_version@",
"pack_format": @pack_version@,
"description": "@description@"
}
}

View File

@@ -1,22 +0,0 @@
{
"ultra_lite": {
"name": "Ultra Lite",
"radius": 2,
"description": "Least passes, weakest effect, greatest performance. It's like having a smudge on your glasses."
},
"lite": {
"name": "Lite",
"radius": 8,
"description": "Less passes, weaker effect, greater performance."
},
"strong": {
"name": "Strong",
"radius": 32,
"description" : "More passes, stronger effect, lesser performance."
},
"ultra_strong": {
"name": "Ultra Strong",
"radius": 64,
"description": "Too many passes, strongest effect, worst performance. It's like having Vaseline in your eyes."
}
}

View File

@@ -1,42 +1,25 @@
package com.tterrag.blur; package com.tterrag.blur;
import com.google.gson.Gson; import com.tterrag.blur.config.BlurConfig;
import com.google.gson.GsonBuilder;
import ladysnake.satin.api.event.ShaderEffectRenderCallback; import ladysnake.satin.api.event.ShaderEffectRenderCallback;
import ladysnake.satin.api.experimental.managed.Uniform1f;
import ladysnake.satin.api.managed.ManagedShaderEffect; import ladysnake.satin.api.managed.ManagedShaderEffect;
import ladysnake.satin.api.managed.ShaderEffectManager; 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.fabricmc.api.ClientModInitializer;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import org.apache.commons.lang3.ArrayUtils; 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 { public class Blur implements ClientModInitializer {
public static BlurConfig BLUR_CONFIG;
public static final String MODID = "blur"; 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() };
int fadeTimeMillis = 200;
int radius = 8;
String gradientStartColor = "75000000";
String gradientEndColor = "75000000";
}
private long start; private long start;
public ConfigJson configs = new ConfigJson();
public int colorFirst, colorSecond; public int colorFirst, colorSecond;
private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"),
@@ -47,19 +30,9 @@ public class Blur implements ClientModInitializer {
@Override @Override
public void onInitializeClient() { public void onInitializeClient() {
File configFile = new File(FabricLoader.getInstance().getConfigDirectory(), Blur.MODID + ".json"); AutoConfig.register(BlurConfig.class, JanksonConfigSerializer::new);
try { BLUR_CONFIG = AutoConfig.getConfigHolder(BlurConfig.class).getConfig();
if (!configFile.exists()) {
configFile.getParentFile().mkdirs();
Files.write(configFile.toPath(), 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);
ShaderEffectRenderCallback.EVENT.register((deltaTick) -> { ShaderEffectRenderCallback.EVENT.register((deltaTick) -> {
if (start > 0) { if (start > 0) {
blurProgress.set(getProgress()); blurProgress.set(getProgress());
@@ -68,23 +41,31 @@ public class Blur implements ClientModInitializer {
}); });
} }
private boolean doFade = false;
public void onScreenChange(Screen newGui) { public void onScreenChange(Screen newGui) {
if (MinecraftClient.getInstance().world != null) { 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) { if (!excluded) {
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(); start = System.currentTimeMillis();
doFade = false;
}
} else { } else {
start = -1; start = -1;
doFade = true;
} }
} }
} }
public int getRadius() { public int getRadius() {
return configs.radius; return BLUR_CONFIG.radius;
} }
private float getProgress() { 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) { public int getBackgroundColor(boolean second) {

View File

@@ -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";
}

View File

@@ -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();
}
}

View File

@@ -20,7 +20,7 @@ public class MixinMinecraftClient {
at = @At(value = "FIELD", at = @At(value = "FIELD",
target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;",
opcode = Opcodes.PUTFIELD)) opcode = Opcodes.PUTFIELD))
public void onScreenOpen(Screen newScreen, CallbackInfo info) { private void onScreenOpen(Screen newScreen, CallbackInfo info) {
Blur.INSTANCE.onScreenChange(newScreen); Blur.INSTANCE.onScreenChange(newScreen);
} }
} }

View File

@@ -12,16 +12,16 @@ import net.minecraft.client.gui.screen.Screen;
public class MixinScreen { public class MixinScreen {
@ModifyConstant( @ModifyConstant(
method = "renderBackground(I)V", method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V",
constant = @Constant(intValue = -1072689136)) constant = @Constant(intValue = -1072689136))
public int getFirstBackgroundColor(int color) { private int getFirstBackgroundColor(int color) {
return Blur.INSTANCE.getBackgroundColor(false); return Blur.INSTANCE.getBackgroundColor(false);
} }
@ModifyConstant( @ModifyConstant(
method = "renderBackground(I)V", method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V",
constant = @Constant(intValue = -804253680)) constant = @Constant(intValue = -804253680))
public int getSecondBackgroundColor(int color) { private int getSecondBackgroundColor(int color) {
return Blur.INSTANCE.getBackgroundColor(true); return Blur.INSTANCE.getBackgroundColor(true);
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +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"
}

View File

@@ -0,0 +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"
}

View File

@@ -1,3 +1,7 @@
{ {
"blur.config.title": "Blur Config" "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"
} }

View File

@@ -1,28 +1,30 @@
{ {
"schemaVersion": 1, "schemaVersion": 1,
"id": "blur", "id": "blur",
"name": "Blur", "name": "Blur (Fabric)",
"version": "$version", "version": "2.0.0",
"environment": "client", "environment": "client",
"license": "MIT", "license": "MIT",
"icon": "assets/blur/icon.png", "icon": "assets/blur/icon.png",
"entrypoints": { "entrypoints": {
"client": [ "client": [
"com.tterrag.blur.Blur::INSTANCE" "com.tterrag.blur.Blur::INSTANCE"
],
"modmenu": [
"com.tterrag.blur.config.ModMenuIntegration"
] ]
}, },
"contact": { "contact": {
"homepage": "https://minecraft.curseforge.com/projects/blur", "homepage": "https://www.curseforge.com/minecraft/mc-mods/blur-fabric",
"issues": "https://github.com/tterrag1098/Blur/issues" "issues": "https://github.com/Motschen/Blur/issues"
}, },
"authors": [ "authors": [
"tterrag1098" "tterrag1098",
"Pyrofab",
"Motschen"
], ],
"description": "Modifies the background behind Minecraft GUIs to have a blur effect", "description": "Modifies the background behind Minecraft GUIs to have a blur effect",
"mixins": [ "mixins": [
"mixins.blur.json" "mixins.blur.json"
], ]
"custom": {
"modmenu:clientsideOnly": true
}
} }