mirror of
https://github.com/Motschen/Blur.git
synced 2025-12-16 11:45:09 +01:00
Merge pull request #133 from Motschen/backport/1.21.1
backport: Blur+ v5.2.2 for 1.21.1
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||

|
|
||||||
|
|
||||||
Ever thought that the world behind your inventory was just too distracting?
|
Ever thought that the world behind your inventory was just too distracting?
|
||||||
Or that the default Minecraft blur effect is just too boring?
|
Or that the default Minecraft blur effect is just too boring?
|
||||||
Then this mod is just right for you!
|
Then this mod is just right for you!
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import groovy.json.JsonOutput
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "architectury-plugin" version "3.4-SNAPSHOT"
|
id "architectury-plugin" version "3.4-SNAPSHOT"
|
||||||
id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false
|
id "dev.architectury.loom" version "1.10-SNAPSHOT" apply false
|
||||||
id "me.shedaniel.unified-publishing" version "0.1.+" apply false
|
id "me.shedaniel.unified-publishing" version "0.1.+" apply false
|
||||||
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
|
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package eu.midnightdust.blur;
|
|||||||
import eu.midnightdust.blur.config.BlurConfig;
|
import eu.midnightdust.blur.config.BlurConfig;
|
||||||
import eu.midnightdust.blur.util.RainbowColor;
|
import eu.midnightdust.blur.util.RainbowColor;
|
||||||
import eu.midnightdust.lib.util.MidnightColorUtil;
|
import eu.midnightdust.lib.util.MidnightColorUtil;
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import org.joml.Math;
|
import org.joml.Math;
|
||||||
import org.joml.Matrix4f;
|
import org.joml.Matrix4f;
|
||||||
@@ -15,12 +16,29 @@ import static eu.midnightdust.blur.util.RainbowColor.hue;
|
|||||||
import static eu.midnightdust.blur.util.RainbowColor.hue2;
|
import static eu.midnightdust.blur.util.RainbowColor.hue2;
|
||||||
|
|
||||||
public class Blur {
|
public class Blur {
|
||||||
|
public static final String MOD_ID = "blur";
|
||||||
public static void init() {
|
public static void init() {
|
||||||
BlurConfig.init("blur", BlurConfig.class);
|
BlurConfig.init(MOD_ID, BlurConfig.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean doFade = false;
|
public static boolean doFade = false;
|
||||||
|
|
||||||
|
public static void onRender() {
|
||||||
|
if (!BlurInfo.doTest && BlurInfo.screenChanged) { // After the tests for blur and background color have been completed
|
||||||
|
Blur.onScreenChange();
|
||||||
|
BlurInfo.screenChanged = false;
|
||||||
|
}
|
||||||
|
BlurInfo.doTest = false; // Set the test state to completed, as tests will happen in the same tick.
|
||||||
|
}
|
||||||
|
public static void renderFadeout(DrawContext context, int width, int height, MinecraftClient client) {
|
||||||
|
if (BlurInfo.start >= 0 && !BlurInfo.screenHasBlur && BlurInfo.prevScreenHasBlur) { // Fade out in non-blurred screens
|
||||||
|
client.gameRenderer.renderBlur(client.getRenderTickCounter().getTickDelta(true));
|
||||||
|
client.getFramebuffer().beginWrite(false);
|
||||||
|
|
||||||
|
if (BlurInfo.prevScreenHasBackground && BlurConfig.useGradient) Blur.renderRotatedGradient(context, width, height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void onScreenChange() {
|
public static void onScreenChange() {
|
||||||
if (screenHasBlur) {
|
if (screenHasBlur) {
|
||||||
if (doFade) {
|
if (doFade) {
|
||||||
@@ -61,10 +79,10 @@ public class Blur {
|
|||||||
int b = (col.getRGB() >> 8) & 0xFF;
|
int b = (col.getRGB() >> 8) & 0xFF;
|
||||||
int g = col.getRGB() & 0xFF;
|
int g = col.getRGB() & 0xFF;
|
||||||
float prog = progress;
|
float prog = progress;
|
||||||
a *= prog;
|
a = (int) (prog * a);
|
||||||
r *= prog;
|
r = (int) (prog * r);
|
||||||
g *= prog;
|
g = (int) (prog * g);
|
||||||
b *= prog;
|
b = (int) (prog * b);
|
||||||
return a << 24 | r << 16 | b << 8 | g;
|
return a << 24 | r << 16 | b << 8 | g;
|
||||||
}
|
}
|
||||||
public static int getRotation() {
|
public static int getRotation() {
|
||||||
|
|||||||
@@ -1,9 +1,18 @@
|
|||||||
package eu.midnightdust.blur.config;
|
package eu.midnightdust.blur.config;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import eu.midnightdust.blur.Blur;
|
||||||
import eu.midnightdust.lib.config.MidnightConfig;
|
import eu.midnightdust.lib.config.MidnightConfig;
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.widget.SliderWidget;
|
||||||
|
import net.minecraft.client.gui.widget.TextIconButtonWidget;
|
||||||
|
import net.minecraft.client.option.GameOptions;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
|
import java.lang.annotation.Annotation;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
import static java.lang.Math.*;
|
import static java.lang.Math.*;
|
||||||
@@ -14,28 +23,17 @@ public class BlurConfig extends MidnightConfig {
|
|||||||
public static final String SCREENS = "screens";
|
public static final String SCREENS = "screens";
|
||||||
@Entry @Hidden public static int configVersion = 2;
|
@Entry @Hidden public static int configVersion = 2;
|
||||||
|
|
||||||
|
@Comment(category = SCREENS, centered = true)
|
||||||
|
public static Comment _general;
|
||||||
@Entry(category = SCREENS)
|
@Entry(category = SCREENS)
|
||||||
public static boolean blurContainers = true;
|
public static boolean blurContainers = true;
|
||||||
@Entry(category = ANIMATIONS, min = 0, max = 2000, isSlider = true)
|
@Entry(category = SCREENS)
|
||||||
public static int fadeTimeMillis = 300;
|
public static boolean blurTitleScreen = false;
|
||||||
@Entry(category = ANIMATIONS, min = 0, max = 2000, isSlider = true)
|
@Condition(requiredOption = "blurTitleScreen", visibleButLocked = true)
|
||||||
public static int fadeOutTimeMillis = 300;
|
@Entry(category = SCREENS)
|
||||||
@Entry(category = ANIMATIONS)
|
public static boolean darkenTitleScreen = false;
|
||||||
public static BlurConfig.Easing animationCurve = Easing.FLAT;
|
@Comment(category = SCREENS, centered = true)
|
||||||
@Entry(category = STYLE)
|
public static Comment _advanced;
|
||||||
public static boolean useGradient = true;
|
|
||||||
@Entry(category = STYLE, isColor = true, width = 7, min = 7)
|
|
||||||
public static String gradientStart = "#000000";
|
|
||||||
@Entry(category = STYLE, isSlider = true, min = 0, max = 255)
|
|
||||||
public static int gradientStartAlpha = 75;
|
|
||||||
@Entry(category = STYLE, isColor = true, width = 7, min = 7)
|
|
||||||
public static String gradientEnd = "#000000";
|
|
||||||
@Entry(category = STYLE, isSlider = true, min = 0, max = 255)
|
|
||||||
public static int gradientEndAlpha = 75;
|
|
||||||
@Entry(category = STYLE, isSlider = true, min = 0, max = 360)
|
|
||||||
public static int gradientRotation = 0;
|
|
||||||
@Entry(category = STYLE)
|
|
||||||
public static boolean rainbowMode = false;
|
|
||||||
@Entry(category = SCREENS) // Screens where Blur+ should not apply transition effects (mostly dynamically blurred screens)
|
@Entry(category = SCREENS) // Screens where Blur+ should not apply transition effects (mostly dynamically blurred screens)
|
||||||
public static List<String> excludedScreens = Lists.newArrayList("net.irisshaders.iris.gui.screen.ShaderPackScreen");
|
public static List<String> excludedScreens = Lists.newArrayList("net.irisshaders.iris.gui.screen.ShaderPackScreen");
|
||||||
@Entry(category = SCREENS) // Screens where the vanilla blur effect should be force enabled
|
@Entry(category = SCREENS) // Screens where the vanilla blur effect should be force enabled
|
||||||
@@ -43,6 +41,37 @@ public class BlurConfig extends MidnightConfig {
|
|||||||
@Entry(category = SCREENS) // Screens where the vanilla blur effect should be force disabled
|
@Entry(category = SCREENS) // Screens where the vanilla blur effect should be force disabled
|
||||||
public static List<String> forceDisabledScreens = Lists.newArrayList();
|
public static List<String> forceDisabledScreens = Lists.newArrayList();
|
||||||
|
|
||||||
|
@Comment(category = STYLE, centered = true)
|
||||||
|
public static Comment _gradient;
|
||||||
|
@Entry(category = STYLE)
|
||||||
|
public static boolean useGradient = true;
|
||||||
|
@Condition(requiredOption = "useGradient", visibleButLocked = true)
|
||||||
|
@Entry(category = STYLE, isColor = true, width = 7, min = 7)
|
||||||
|
public static String gradientStart = "#000000";
|
||||||
|
@Condition(requiredOption = "useGradient", visibleButLocked = true)
|
||||||
|
@Entry(category = STYLE, isSlider = true, min = 0, max = 255)
|
||||||
|
public static int gradientStartAlpha = 75;
|
||||||
|
@Condition(requiredOption = "useGradient", visibleButLocked = true)
|
||||||
|
@Entry(category = STYLE, isColor = true, width = 7, min = 7)
|
||||||
|
public static String gradientEnd = "#000000";
|
||||||
|
@Condition(requiredOption = "useGradient", visibleButLocked = true)
|
||||||
|
@Entry(category = STYLE, isSlider = true, min = 0, max = 255)
|
||||||
|
public static int gradientEndAlpha = 75;
|
||||||
|
@Condition(requiredOption = "useGradient", visibleButLocked = true)
|
||||||
|
@Entry(category = STYLE, isSlider = true, min = 0, max = 360)
|
||||||
|
public static int gradientRotation = 0;
|
||||||
|
@Entry(category = STYLE)
|
||||||
|
public static boolean rainbowMode = false;
|
||||||
|
|
||||||
|
@Comment(category = ANIMATIONS, centered = true)
|
||||||
|
public static Comment _animations;
|
||||||
|
@Entry(category = ANIMATIONS, min = 0, max = 2000, isSlider = true)
|
||||||
|
public static int fadeTimeMillis = 300;
|
||||||
|
@Entry(category = ANIMATIONS, min = 0, max = 2000, isSlider = true)
|
||||||
|
public static int fadeOutTimeMillis = 300;
|
||||||
|
@Entry(category = ANIMATIONS)
|
||||||
|
public static BlurConfig.Easing animationCurve = Easing.FLAT;
|
||||||
|
|
||||||
public enum Easing {
|
public enum Easing {
|
||||||
// Based on https://gist.github.com/dev-hydrogen/21a66f83f0386123e0c0acf107254843
|
// Based on https://gist.github.com/dev-hydrogen/21a66f83f0386123e0c0acf107254843
|
||||||
// Thank you very much!
|
// Thank you very much!
|
||||||
@@ -70,4 +99,51 @@ public class BlurConfig extends MidnightConfig {
|
|||||||
return functionOut.apply(x).doubleValue();
|
return functionOut.apply(x).doubleValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private static GameOptions options;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTabInit(String tabName, MidnightConfigListWidget list, MidnightConfigScreen screen) {
|
||||||
|
options = MinecraftClient.getInstance().options;
|
||||||
|
if (Objects.equals(tabName, STYLE)) {
|
||||||
|
EntryInfo centered = new EntryInfo(null, Blur.MOD_ID);
|
||||||
|
centered.comment = new Comment(){
|
||||||
|
@Override
|
||||||
|
public boolean centered() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public Class<? extends Annotation> annotationType() {return null;}
|
||||||
|
public String category() {return "";}
|
||||||
|
public String name() {return "";}
|
||||||
|
public String url() {return "";}
|
||||||
|
public String requiredMod() {return "";}
|
||||||
|
};
|
||||||
|
RadiusSliderWidget slider = new RadiusSliderWidget(screen.width - 185, 0, 150, 20);
|
||||||
|
|
||||||
|
TextIconButtonWidget resetButton = TextIconButtonWidget.builder(Text.translatable("controls.reset"), (button -> {
|
||||||
|
options.getMenuBackgroundBlurriness().setValue(5);
|
||||||
|
screen.updateList();
|
||||||
|
}), true).texture(Identifier.of("midnightlib","icon/reset"), 12, 12).dimension(20, 20).build();
|
||||||
|
resetButton.setPosition(screen.width - 205 + 150 + 25, 0);
|
||||||
|
slider.resetButton = resetButton;
|
||||||
|
slider.updateMessage();
|
||||||
|
|
||||||
|
list.addButton(Lists.newArrayList(), Text.translatable("blur.midnightconfig._blur"), centered);
|
||||||
|
list.addButton(Lists.newArrayList(slider, resetButton), Text.translatable("blur.midnightconfig.radius"), new EntryInfo(null, Blur.MOD_ID));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class RadiusSliderWidget extends SliderWidget {
|
||||||
|
TextIconButtonWidget resetButton;
|
||||||
|
public RadiusSliderWidget(int x, int y, int width, int height) {
|
||||||
|
super(x, y, width, height, Text.empty(), options.getMenuBackgroundBlurrinessValue() / 20d);
|
||||||
|
}
|
||||||
|
public void updateMessage() {
|
||||||
|
this.setMessage(Text.of(String.valueOf(options.getMenuBackgroundBlurrinessValue())));
|
||||||
|
if (resetButton != null) resetButton.active = options.getMenuBackgroundBlurrinessValue() != 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void applyValue() {
|
||||||
|
options.getMenuBackgroundBlurriness().setValue(Double.valueOf(this.value * 20).intValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
package eu.midnightdust.blur.mixin;
|
package eu.midnightdust.blur.mixin;
|
||||||
|
|
||||||
|
import eu.midnightdust.blur.Blur;
|
||||||
import eu.midnightdust.blur.config.BlurConfig;
|
import eu.midnightdust.blur.config.BlurConfig;
|
||||||
|
import eu.midnightdust.lib.util.PlatformFunctions;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.screen.ingame.HandledScreen;
|
import net.minecraft.client.gui.screen.ingame.HandledScreen;
|
||||||
@@ -17,7 +19,11 @@ public class MixinHandledScreen extends Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "renderBackground", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ingame/HandledScreen;drawBackground(Lnet/minecraft/client/gui/DrawContext;FII)V", shift = At.Shift.BEFORE))
|
@Inject(method = "renderBackground", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ingame/HandledScreen;drawBackground(Lnet/minecraft/client/gui/DrawContext;FII)V", shift = At.Shift.BEFORE))
|
||||||
private void blur$renderContainerBlur(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) { // Applies the blur effect in containers (Inventory, Chest, etc.)
|
private void blur$renderContainerBlur(DrawContext context, int mouseX, int mouseY, float tickDelta, CallbackInfo ci) { // Applies the blur effect in containers (Inventory, Chest, etc.)
|
||||||
if (BlurConfig.blurContainers) this.applyBlur(delta);
|
if (BlurConfig.blurContainers) this.applyBlur(tickDelta);
|
||||||
|
}
|
||||||
|
@Inject(at = @At("HEAD"), method = "render")
|
||||||
|
public void blur$processScreenChange(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
||||||
|
if (PlatformFunctions.getPlatformName().equals("neoforge")) Blur.onRender();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,26 +26,15 @@ public abstract class MixinScreen {
|
|||||||
@Shadow protected MinecraftClient client;
|
@Shadow protected MinecraftClient client;
|
||||||
@Shadow public int width;
|
@Shadow public int width;
|
||||||
@Shadow public int height;
|
@Shadow public int height;
|
||||||
|
|
||||||
@Shadow protected abstract void applyBlur(float delta);
|
@Shadow protected abstract void applyBlur(float delta);
|
||||||
|
|
||||||
@Inject(at = @At("HEAD"), method = "render")
|
@Inject(at = @At("HEAD"), method = "render")
|
||||||
public void blur$processScreenChange(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
public void blur$processScreenChange(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
||||||
if (!BlurInfo.doTest && BlurInfo.screenChanged) { // After the tests for blur and background color have been completed
|
Blur.onRender();
|
||||||
Blur.onScreenChange();
|
Blur.renderFadeout(context, width, height, client);
|
||||||
BlurInfo.screenChanged = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (BlurInfo.start >= 0 && !BlurInfo.screenHasBlur && BlurInfo.prevScreenHasBlur) { // Fade out in non-blurred screens
|
|
||||||
this.client.gameRenderer.renderBlur(delta);
|
|
||||||
this.client.getFramebuffer().beginWrite(false);
|
|
||||||
|
|
||||||
if (BlurInfo.prevScreenHasBackground) Blur.renderRotatedGradient(context, width, height);
|
|
||||||
}
|
|
||||||
BlurInfo.doTest = false; // Set the test state to completed, as tests will happen in the same tick.
|
|
||||||
}
|
}
|
||||||
@Inject(at = @At("HEAD"), method = "applyBlur", cancellable = true)
|
@Inject(at = @At("HEAD"), method = "applyBlur", cancellable = true)
|
||||||
public void blur$getBlurEnabled(float delta, CallbackInfo ci) {
|
public void blur$getBlurEnabled(CallbackInfo ci) {
|
||||||
if (BlurConfig.forceDisabledScreens.contains(this.getClass().getCanonicalName())) {
|
if (BlurConfig.forceDisabledScreens.contains(this.getClass().getCanonicalName())) {
|
||||||
ci.cancel(); return;
|
ci.cancel(); return;
|
||||||
}
|
}
|
||||||
@@ -70,6 +59,5 @@ public abstract class MixinScreen {
|
|||||||
this.applyBlur(client.getRenderTickCounter().getTickDelta(true));
|
this.applyBlur(client.getRenderTickCounter().getTickDelta(true));
|
||||||
|
|
||||||
Blur.renderRotatedGradient(context, width, height); // Replaces the default gradient with our rotated one
|
Blur.renderRotatedGradient(context, width, height); // Replaces the default gradient with our rotated one
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package eu.midnightdust.blur.mixin;
|
||||||
|
|
||||||
|
import eu.midnightdust.blur.Blur;
|
||||||
|
import eu.midnightdust.blur.config.BlurConfig;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
|
import net.minecraft.client.gui.screen.TitleScreen;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
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;
|
||||||
|
|
||||||
|
@Mixin(TitleScreen.class)
|
||||||
|
public abstract class MixinTitleScreen extends Screen {
|
||||||
|
protected MixinTitleScreen(Text title) {
|
||||||
|
super(title);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/TitleScreen;renderPanoramaBackground(Lnet/minecraft/client/gui/DrawContext;F)V", shift = At.Shift.AFTER))
|
||||||
|
private void blur$renderTitleBlur(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
||||||
|
if (BlurConfig.blurTitleScreen) {
|
||||||
|
Blur.updateProgress(true);
|
||||||
|
this.applyBlur(delta);
|
||||||
|
if (BlurConfig.darkenTitleScreen) this.renderDarkening(context);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
package eu.midnightdust.blur.mixin;
|
|
||||||
|
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
|
||||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
|
||||||
|
|
||||||
@Mixin(Screen.class)
|
|
||||||
public interface ScreenAccessor {
|
|
||||||
@Invoker("applyBlur")
|
|
||||||
void forceApplyBlur(float delta);
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,11 @@
|
|||||||
{
|
{
|
||||||
"blur.midnightconfig.title": "Blur+ Konfiguration",
|
"blur.midnightconfig.title": "Blur+ Konfiguration",
|
||||||
"blur.midnightconfig.category.animations": "Animationen",
|
"blur.midnightconfig.category.animations": "Animationen",
|
||||||
|
"blur.midnightconfig.category.screens": "Bildschirme",
|
||||||
"blur.midnightconfig.category.style": "Stil",
|
"blur.midnightconfig.category.style": "Stil",
|
||||||
"blur.midnightconfig.blurContainers": "Unschärfe in Containern",
|
"blur.midnightconfig.blurContainers": "Unschärfe in Containern",
|
||||||
|
"blur.midnightconfig.blurTitleScreen": "Unschärfe im Titelbildschirm",
|
||||||
|
"blur.midnightconfig.darkenTitleScreen": "Abgedunkelter Titelhintergrund",
|
||||||
"blur.midnightconfig.fadeTimeMillis": "Überblendzeit (in Millisekunden)",
|
"blur.midnightconfig.fadeTimeMillis": "Überblendzeit (in Millisekunden)",
|
||||||
"blur.midnightconfig.fadeOutTimeMillis": "Ausblendzeit (in Millisekunden)",
|
"blur.midnightconfig.fadeOutTimeMillis": "Ausblendzeit (in Millisekunden)",
|
||||||
"blur.midnightconfig.animationCurve": "Animationskurve",
|
"blur.midnightconfig.animationCurve": "Animationskurve",
|
||||||
@@ -24,5 +27,10 @@
|
|||||||
"blur.midnightconfig.gradientStartAlpha": "Farbverlauf-Anfangstransparenz",
|
"blur.midnightconfig.gradientStartAlpha": "Farbverlauf-Anfangstransparenz",
|
||||||
"blur.midnightconfig.gradientEndAlpha": "Farbverlauf-Endstransparenz",
|
"blur.midnightconfig.gradientEndAlpha": "Farbverlauf-Endstransparenz",
|
||||||
"blur.midnightconfig.gradientRotation": "Farbverlauf-Rotation",
|
"blur.midnightconfig.gradientRotation": "Farbverlauf-Rotation",
|
||||||
"blur.midnightconfig.excludedScreens": "Ausgeschlossene Bildschirme"
|
"blur.midnightconfig.excludedScreens": "Ausgeschlossene Bildschirme",
|
||||||
|
"blur.midnightconfig._general": "⛏ Generell",
|
||||||
|
"blur.midnightconfig._advanced": "⚒ Fortgeschritten",
|
||||||
|
"blur.midnightconfig._blur": "▒ Unschärfe",
|
||||||
|
"blur.midnightconfig._gradient": "\uD83D\uDFE2 Farbverlauf",
|
||||||
|
"blur.midnightconfig._animations": "\uD83D\uDCFD Animationen"
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
"blur.midnightconfig.category.style": "Style",
|
"blur.midnightconfig.category.style": "Style",
|
||||||
"blur.midnightconfig.category.screens": "Screens",
|
"blur.midnightconfig.category.screens": "Screens",
|
||||||
"blur.midnightconfig.blurContainers": "Apply Blur to Containers",
|
"blur.midnightconfig.blurContainers": "Apply Blur to Containers",
|
||||||
|
"blur.midnightconfig.blurTitleScreen": "Apply Blur to Title Screen",
|
||||||
|
"blur.midnightconfig.darkenTitleScreen": "Darken Title Screen Background",
|
||||||
"blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)",
|
"blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)",
|
||||||
"blur.midnightconfig.fadeOutTimeMillis": "Fade Out Time (in milliseconds)",
|
"blur.midnightconfig.fadeOutTimeMillis": "Fade Out Time (in milliseconds)",
|
||||||
"blur.midnightconfig.animationCurve": "Animation Curve",
|
"blur.midnightconfig.animationCurve": "Animation Curve",
|
||||||
@@ -18,6 +20,7 @@
|
|||||||
"blur.midnightconfig.enum.Easing.BACK": "Back",
|
"blur.midnightconfig.enum.Easing.BACK": "Back",
|
||||||
"blur.midnightconfig.enum.Easing.ELASTIC": "Elastic",
|
"blur.midnightconfig.enum.Easing.ELASTIC": "Elastic",
|
||||||
"blur.midnightconfig.radius": "Radius",
|
"blur.midnightconfig.radius": "Radius",
|
||||||
|
"blur.midnightconfig.radius.label.tooltip": "Mirror of \"Menu Background Blur\" found in Minecraft's Accessibility Settings",
|
||||||
"blur.midnightconfig.rainbowMode": "Rainbow Mode \uD83C\uDF08",
|
"blur.midnightconfig.rainbowMode": "Rainbow Mode \uD83C\uDF08",
|
||||||
"blur.midnightconfig.useGradient": "Gradient as Background",
|
"blur.midnightconfig.useGradient": "Gradient as Background",
|
||||||
"blur.midnightconfig.gradientStart": "Gradient Start Color",
|
"blur.midnightconfig.gradientStart": "Gradient Start Color",
|
||||||
@@ -30,5 +33,10 @@
|
|||||||
"blur.midnightconfig.forceEnabledScreens": "Force-enabled Screens",
|
"blur.midnightconfig.forceEnabledScreens": "Force-enabled Screens",
|
||||||
"blur.midnightconfig.forceEnabledScreens.tooltip": "Screens where the vanilla blur effect should be force-enabled\nMight not work 100% of the time",
|
"blur.midnightconfig.forceEnabledScreens.tooltip": "Screens where the vanilla blur effect should be force-enabled\nMight not work 100% of the time",
|
||||||
"blur.midnightconfig.forceDisabledScreens": "Force-disabled Screens",
|
"blur.midnightconfig.forceDisabledScreens": "Force-disabled Screens",
|
||||||
"blur.midnightconfig.forceDisabledScreens.tooltip": "Screens where the vanilla blur effect should be force-disabled"
|
"blur.midnightconfig.forceDisabledScreens.tooltip": "Screens where the vanilla blur effect should be force-disabled",
|
||||||
|
"blur.midnightconfig._general": "⛏ General",
|
||||||
|
"blur.midnightconfig._advanced": "⚒ Advanced",
|
||||||
|
"blur.midnightconfig._blur": "▒ Blur",
|
||||||
|
"blur.midnightconfig._gradient": "\uD83D\uDFE2 Gradient",
|
||||||
|
"blur.midnightconfig._animations": "\uD83D\uDCFD Animations"
|
||||||
}
|
}
|
||||||
41
common/src/main/resources/assets/blur/lang/es_ar.json
Normal file
41
common/src/main/resources/assets/blur/lang/es_ar.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"blur.midnightconfig.title": "Configuración de Blur+",
|
||||||
|
"blur.midnightconfig.category.animations": "Animaciones",
|
||||||
|
"blur.midnightconfig.category.style": "Estilo",
|
||||||
|
"blur.midnightconfig.category.screens": "Pantallas",
|
||||||
|
|
||||||
|
"blur.midnightconfig.blurContainers": "Aplicar Desenfoque a Contenedores",
|
||||||
|
"blur.midnightconfig.fadeTimeMillis": "Tiempo de Aparición (en milisegundos)",
|
||||||
|
"blur.midnightconfig.fadeOutTimeMillis": "Tiempo de Desaparición (en milisegundos)",
|
||||||
|
"blur.midnightconfig.animationCurve": "Curva de Animación",
|
||||||
|
|
||||||
|
"blur.midnightconfig.enum.Easing.FLAT": "Plano",
|
||||||
|
"blur.midnightconfig.enum.Easing.SINE": "Seno",
|
||||||
|
"blur.midnightconfig.enum.Easing.QUAD": "Cuadrática",
|
||||||
|
"blur.midnightconfig.enum.Easing.CUBIC": "Cúbica",
|
||||||
|
"blur.midnightconfig.enum.Easing.QUART": "Cuártica",
|
||||||
|
"blur.midnightconfig.enum.Easing.QUINT": "Quíntica",
|
||||||
|
"blur.midnightconfig.enum.Easing.EXPO": "Exponencial",
|
||||||
|
"blur.midnightconfig.enum.Easing.CIRC": "Circular",
|
||||||
|
"blur.midnightconfig.enum.Easing.BACK": "Retroceso",
|
||||||
|
"blur.midnightconfig.enum.Easing.ELASTIC": "Elástica",
|
||||||
|
|
||||||
|
"blur.midnightconfig.radius": "Radio",
|
||||||
|
"blur.midnightconfig.rainbowMode": "Modo Arcoíris \ud83c\udf08",
|
||||||
|
|
||||||
|
"blur.midnightconfig.useGradient": "Usar Gradiente como Fondo",
|
||||||
|
"blur.midnightconfig.gradientStart": "Color Inicial del Gradiente",
|
||||||
|
"blur.midnightconfig.gradientEnd": "Color Final del Gradiente",
|
||||||
|
"blur.midnightconfig.gradientStartAlpha": "Transparencia Inicial del Gradiente",
|
||||||
|
"blur.midnightconfig.gradientEndAlpha": "Transparencia Final del Gradiente",
|
||||||
|
"blur.midnightconfig.gradientRotation": "Rotación del Gradiente",
|
||||||
|
|
||||||
|
"blur.midnightconfig.excludedScreens": "Pantallas Excluidas",
|
||||||
|
"blur.midnightconfig.excludedScreens.tooltip": "Pantallas donde Blur+ no debería animar",
|
||||||
|
|
||||||
|
"blur.midnightconfig.forceEnabledScreens": "Pantallas con Blur Forzado",
|
||||||
|
"blur.midnightconfig.forceEnabledScreens.tooltip": "Pantallas donde el desenfoque vanilla debería forzarse habilitado\nPuede que no funcione siempre al 100%",
|
||||||
|
|
||||||
|
"blur.midnightconfig.forceDisabledScreens": "Pantallas con Blur Deshabilitado",
|
||||||
|
"blur.midnightconfig.forceDisabledScreens.tooltip": "Pantallas donde el desenfoque vanilla debería forzarse deshabilitado"
|
||||||
|
}
|
||||||
@@ -4,13 +4,13 @@
|
|||||||
"package": "eu.midnightdust.blur.mixin",
|
"package": "eu.midnightdust.blur.mixin",
|
||||||
"compatibilityLevel": "JAVA_21",
|
"compatibilityLevel": "JAVA_21",
|
||||||
"client": [
|
"client": [
|
||||||
"MixinScreen",
|
"MixinGameOptions",
|
||||||
"ScreenAccessor",
|
|
||||||
"MixinHandledScreen",
|
|
||||||
"MixinMinecraftClient",
|
|
||||||
"MixinGameRenderer",
|
"MixinGameRenderer",
|
||||||
|
"MixinHandledScreen",
|
||||||
"MixinInGameHud",
|
"MixinInGameHud",
|
||||||
"MixinGameOptions"
|
"MixinMinecraftClient",
|
||||||
|
"MixinScreen",
|
||||||
|
"MixinTitleScreen"
|
||||||
],
|
],
|
||||||
"injectors": {
|
"injectors": {
|
||||||
"defaultRequire": 1
|
"defaultRequire": 1
|
||||||
|
|||||||
@@ -83,7 +83,8 @@ unifiedPublishing {
|
|||||||
curseforge {
|
curseforge {
|
||||||
token = CURSEFORGE_TOKEN
|
token = CURSEFORGE_TOKEN
|
||||||
id = rootProject.curseforge_id
|
id = rootProject.curseforge_id
|
||||||
gameVersions.addAll "Java 21", project.minecraft_version, project.supported_versions
|
gameVersions.addAll "Java 21", project.minecraft_version
|
||||||
|
if (project.supported_versions != "") gameVersions.addAll project.supported_versions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +94,8 @@ unifiedPublishing {
|
|||||||
token = MODRINTH_TOKEN
|
token = MODRINTH_TOKEN
|
||||||
id = rootProject.modrinth_id
|
id = rootProject.modrinth_id
|
||||||
version = "$rootProject.version-$project.name"
|
version = "$rootProject.version-$project.name"
|
||||||
gameVersions.addAll project.minecraft_version, project.supported_versions
|
gameVersions.addAll project.minecraft_version
|
||||||
|
if (project.supported_versions != "") gameVersions.addAll project.supported_versions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"id": "blur",
|
"id": "blur",
|
||||||
"name": "Blur+ (Fabric)",
|
"name": "Blur+",
|
||||||
"version": "$version",
|
"version": "$version",
|
||||||
"environment": "client",
|
"environment": "client",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@@ -22,7 +22,9 @@
|
|||||||
"authors": [
|
"authors": [
|
||||||
"Motschen",
|
"Motschen",
|
||||||
"tterrag1098",
|
"tterrag1098",
|
||||||
"Pyrofab",
|
"Pyrofab"
|
||||||
|
],
|
||||||
|
"contributors": [
|
||||||
"backryun",
|
"backryun",
|
||||||
"byquanton"
|
"byquanton"
|
||||||
],
|
],
|
||||||
@@ -31,6 +33,7 @@
|
|||||||
"blur.mixins.json"
|
"blur.mixins.json"
|
||||||
],
|
],
|
||||||
"depends": {
|
"depends": {
|
||||||
"minecraft": ">=1.20.5"
|
"minecraft": ">=1.21",
|
||||||
|
"midnightlib": ">=1.7.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ yarn_mappings=1.21.1+build.3
|
|||||||
enabled_platforms=fabric,neoforge
|
enabled_platforms=fabric,neoforge
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=5.0.0-hotfix.1
|
mod_version=5.2.2+1.21.1
|
||||||
maven_group=eu.midnightdust.blur
|
maven_group=eu.midnightdust.blur
|
||||||
archives_base_name=blur
|
archives_base_name=blur
|
||||||
release_type=release
|
release_type=release
|
||||||
@@ -19,9 +19,9 @@ modrinth_id=NK39zBp2
|
|||||||
fabric_loader_version=0.16.13
|
fabric_loader_version=0.16.13
|
||||||
fabric_api_version=0.115.4+1.21.1
|
fabric_api_version=0.115.4+1.21.1
|
||||||
|
|
||||||
neoforge_version=21.1.153
|
neoforge_version=21.1.192
|
||||||
yarn_mappings_patch_neoforge_version = 1.21+build.4
|
yarn_mappings_patch_neoforge_version = 1.21+build.4
|
||||||
|
|
||||||
# Libraries
|
# Libraries
|
||||||
midnightlib_version = 1.6.9+1.21
|
midnightlib_version = 1.7.5+1.21.1
|
||||||
modmenu_version = 11.0.2
|
modmenu_version = 11.0.2
|
||||||
|
|||||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|||||||
@@ -96,7 +96,8 @@ unifiedPublishing {
|
|||||||
curseforge {
|
curseforge {
|
||||||
token = CURSEFORGE_TOKEN
|
token = CURSEFORGE_TOKEN
|
||||||
id = rootProject.curseforge_id
|
id = rootProject.curseforge_id
|
||||||
gameVersions.addAll "Java 21", project.minecraft_version, project.supported_versions
|
gameVersions.addAll "Java 21", project.minecraft_version
|
||||||
|
if (project.supported_versions != "") gameVersions.addAll project.supported_versions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,7 +107,8 @@ unifiedPublishing {
|
|||||||
token = MODRINTH_TOKEN
|
token = MODRINTH_TOKEN
|
||||||
id = rootProject.modrinth_id
|
id = rootProject.modrinth_id
|
||||||
version = "$rootProject.version-$project.name"
|
version = "$rootProject.version-$project.name"
|
||||||
gameVersions.addAll project.minecraft_version, project.supported_versions
|
gameVersions.addAll project.minecraft_version
|
||||||
|
if (project.supported_versions != "") gameVersions.addAll project.supported_versions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ import net.neoforged.fml.common.EventBusSubscriber;
|
|||||||
import net.neoforged.fml.common.Mod;
|
import net.neoforged.fml.common.Mod;
|
||||||
import net.neoforged.neoforge.client.event.ClientTickEvent;
|
import net.neoforged.neoforge.client.event.ClientTickEvent;
|
||||||
|
|
||||||
@Mod(value = "blur", dist = Dist.CLIENT)
|
@Mod(value = Blur.MOD_ID, dist = Dist.CLIENT)
|
||||||
public class BlurNeoForge {
|
public class BlurNeoForge {
|
||||||
public BlurNeoForge() {
|
public BlurNeoForge() {
|
||||||
Blur.init();
|
Blur.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventBusSubscriber(modid = "blur", bus = EventBusSubscriber.Bus.GAME, value = Dist.CLIENT)
|
@EventBusSubscriber(modid = Blur.MOD_ID, value = Dist.CLIENT)
|
||||||
public static class ClientGameEvents {
|
public static class ClientGameEvents {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void endClientTick(ClientTickEvent.Post event) {
|
public static void endClientTick(ClientTickEvent.Post event) {
|
||||||
|
|||||||
@@ -26,6 +26,13 @@ side = "CLIENT"
|
|||||||
[[dependencies.blur]]
|
[[dependencies.blur]]
|
||||||
modId = "minecraft"
|
modId = "minecraft"
|
||||||
mandatory = true
|
mandatory = true
|
||||||
versionRange = "[1.21,)"
|
versionRange = "[1.21,1.21.1]"
|
||||||
|
ordering = "NONE"
|
||||||
|
side = "CLIENT"
|
||||||
|
|
||||||
|
[[dependencies.blur]]
|
||||||
|
modId = "midnightlib"
|
||||||
|
mandatory = true
|
||||||
|
versionRange = "[1.7.5,)"
|
||||||
ordering = "NONE"
|
ordering = "NONE"
|
||||||
side = "CLIENT"
|
side = "CLIENT"
|
||||||
Reference in New Issue
Block a user