Fixed issue #390 (problems with BCLib fog)
This commit is contained in:
+2
-2
@@ -17,7 +17,7 @@ architectury_version=4.4.59
|
||||
sodium_version=mc1.18.2-0.4.1
|
||||
iris_version=1.18.x-v1.2.5
|
||||
immersive_portals_version = v1.0.4-1.18
|
||||
bclib_version=
|
||||
bclib_version=1.4.5
|
||||
|
||||
# Fabric mod run
|
||||
# 0 = Don't enable and don't run
|
||||
@@ -28,7 +28,7 @@ architectury_version=4.4.59
|
||||
enable_sodium=1
|
||||
enable_lithium=0
|
||||
enable_iris=0
|
||||
enable_bclib=0
|
||||
enable_bclib=1
|
||||
|
||||
# Forge loader
|
||||
forge_version=40.0.18
|
||||
|
||||
+5
@@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
import com.mojang.blaze3d.pipeline.RenderTarget;
|
||||
import com.mojang.blaze3d.platform.NativeImage;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.lod.core.objects.DHChunkPos;
|
||||
import com.seibel.lod.common.wrappers.misc.LightMapWrapper;
|
||||
import com.seibel.lod.core.handlers.dependencyInjection.ModAccessorInjector;
|
||||
@@ -41,6 +42,8 @@ import com.seibel.lod.core.objects.math.Vec3d;
|
||||
import com.seibel.lod.core.objects.math.Vec3f;
|
||||
import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory;
|
||||
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IBCLibAccessor;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IModChecker;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IOptifineAccessor;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.ISodiumAccessor;
|
||||
import com.seibel.lod.common.wrappers.McObjectConverter;
|
||||
@@ -144,6 +147,8 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper
|
||||
|
||||
@Override
|
||||
public Color getFogColor(float partialTicks) {
|
||||
if (SingletonInjector.INSTANCE.get(IModChecker.class).isModLoaded("bclib"))
|
||||
return ModAccessorInjector.INSTANCE.get(IBCLibAccessor.class).getFogColor(); // BCLib uses a different fog method so we need to use that instead if they are loaded
|
||||
|
||||
#if PRE_MC_1_17_1
|
||||
float[] colorValues = new float[4];
|
||||
|
||||
+1
-1
Submodule coreSubProjects updated: 1aaae5c1da...a5ade02dec
@@ -23,20 +23,20 @@ import com.seibel.lod.common.LodCommonMain;
|
||||
import com.seibel.lod.core.ModInfo;
|
||||
import com.seibel.lod.core.api.external.methods.events.abstractEvents.DhApiAfterDhInitEvent;
|
||||
import com.seibel.lod.core.api.external.methods.events.abstractEvents.DhApiBeforeDhInitEvent;
|
||||
import com.seibel.lod.core.config.Config;
|
||||
import com.seibel.lod.core.handlers.dependencyInjection.DhApiEventInjector;
|
||||
import com.seibel.lod.core.handlers.dependencyInjection.ModAccessorInjector;
|
||||
import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.lod.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IModChecker;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IOptifineAccessor;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.ISodiumAccessor;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IStarlightAccessor;
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.*;
|
||||
import com.seibel.lod.wrappers.modAccessor.BCLibAccessor;
|
||||
import com.seibel.lod.wrappers.modAccessor.OptifineAccessor;
|
||||
import com.seibel.lod.wrappers.modAccessor.SodiumAccessor;
|
||||
import com.seibel.lod.wrappers.modAccessor.StarlightAccessor;
|
||||
import com.seibel.lod.wrappers.FabricDependencySetup;
|
||||
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.spongepowered.asm.mixin.Mixins;
|
||||
|
||||
/**
|
||||
* Initialize and setup the Mod. <br>
|
||||
@@ -45,7 +45,7 @@ import org.apache.logging.log4j.Logger;
|
||||
*
|
||||
* @author coolGi
|
||||
* @author Ran
|
||||
* @version 8-15-2022
|
||||
* @version 9-2-2022
|
||||
*/
|
||||
public class FabricMain
|
||||
{
|
||||
@@ -55,6 +55,10 @@ public class FabricMain
|
||||
LOGGER.info("Post-Initializing Mod");
|
||||
FabricDependencySetup.runDelayedSetup();
|
||||
LodCommonMain.initConfig();
|
||||
|
||||
if (Config.Client.Graphics.FogQuality.disableVanillaFog.get() && SingletonInjector.INSTANCE.get(IModChecker.class).isModLoaded("bclib"))
|
||||
ModAccessorInjector.INSTANCE.get(IBCLibAccessor.class).setRenderCustomFog(false); // Remove BCLib's fog
|
||||
|
||||
LOGGER.info("Mod Post-Initialized");
|
||||
}
|
||||
|
||||
@@ -78,6 +82,9 @@ public class FabricMain
|
||||
if (SingletonInjector.INSTANCE.get(IModChecker.class).isModLoaded("optifine")) {
|
||||
ModAccessorInjector.INSTANCE.bind(IOptifineAccessor.class, new OptifineAccessor());
|
||||
}
|
||||
if (SingletonInjector.INSTANCE.get(IModChecker.class).isModLoaded("bclib")) {
|
||||
ModAccessorInjector.INSTANCE.bind(IBCLibAccessor.class, new BCLibAccessor());
|
||||
}
|
||||
LOGGER.info(ModInfo.READABLE_NAME + " Initialized");
|
||||
|
||||
DhApiEventInjector.INSTANCE.fireAllEvents(DhApiAfterDhInitEvent.class, null);
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.seibel.lod.wrappers.modAccessor;
|
||||
|
||||
import com.seibel.lod.core.wrapperInterfaces.modAccessor.IBCLibAccessor;
|
||||
import ru.bclib.config.ClientConfig;
|
||||
import ru.bclib.config.Configs;
|
||||
import ru.bclib.util.BackgroundInfo;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class BCLibAccessor implements IBCLibAccessor {
|
||||
@Override
|
||||
public String getModName() {
|
||||
return "BCLib";
|
||||
}
|
||||
|
||||
public void setRenderCustomFog(boolean newValue) {
|
||||
// Change the value of CUSTOM_FOG_RENDERING in the bclib client config
|
||||
Configs.CLIENT_CONFIG.set(ClientConfig.CUSTOM_FOG_RENDERING, newValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Color getFogColor() {
|
||||
return new Color(BackgroundInfo.fogColorRed, BackgroundInfo.fogColorGreen, BackgroundInfo.fogColorBlue);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user