From 7c858afc5d3fb63c61573dff0c340b72ecc081b5 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 13 Dec 2025 13:17:43 -0600 Subject: [PATCH] add partial oculus support --- .../distanthorizons/forge/ForgeMain.java | 8 +-- .../wrappers/modAccessor/OculusAccessor.java | 57 +++++++++++++++++++ 2 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 forge/src/main/java/com/seibel/distanthorizons/forge/wrappers/modAccessor/OculusAccessor.java diff --git a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeMain.java b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeMain.java index 4d748bf05..372032e80 100644 --- a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeMain.java +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeMain.java @@ -22,17 +22,16 @@ package com.seibel.distanthorizons.forge; import com.mojang.brigadier.CommandDispatcher; import com.seibel.distanthorizons.common.AbstractModInitializer; import com.seibel.distanthorizons.common.wrappers.gui.GetConfigScreen; -import com.seibel.distanthorizons.core.api.internal.ClientApi; -import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; -import com.seibel.distanthorizons.common.wrappers.gui.GetConfigScreen; import com.seibel.distanthorizons.core.wrapperInterfaces.misc.IPluginPacketSender; +import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.IIrisAccessor; import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.IModChecker; import com.seibel.distanthorizons.coreapi.ModInfo; -import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.IOptifineAccessor; +import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.IOptifineAccessor;; import com.seibel.distanthorizons.forge.wrappers.modAccessor.ModChecker; import com.seibel.distanthorizons.forge.wrappers.modAccessor.OptifineAccessor; +import com.seibel.distanthorizons.forge.wrappers.modAccessor.OculusAccessor; import net.minecraft.commands.CommandSourceStack; import net.minecraft.server.MinecraftServer; @@ -104,6 +103,7 @@ public class ForgeMain extends AbstractModInitializer protected void initializeModCompat() { this.tryCreateModCompatAccessor("optifine", IOptifineAccessor.class, OptifineAccessor::new); + this.tryCreateModCompatAccessor("oculus", IIrisAccessor.class, OculusAccessor::new); #if MC_VER < MC_1_17_1 ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY, diff --git a/forge/src/main/java/com/seibel/distanthorizons/forge/wrappers/modAccessor/OculusAccessor.java b/forge/src/main/java/com/seibel/distanthorizons/forge/wrappers/modAccessor/OculusAccessor.java new file mode 100644 index 000000000..e0a031b66 --- /dev/null +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/wrappers/modAccessor/OculusAccessor.java @@ -0,0 +1,57 @@ +/* + * This file is part of the Distant Horizons mod + * licensed under the GNU LGPL v3 License. + * + * Copyright (C) 2020 James Seibel + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.seibel.distanthorizons.forge.wrappers.modAccessor; + +import com.seibel.distanthorizons.core.logging.DhLogger; +import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; +import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.IIrisAccessor; + +public class OculusAccessor implements IIrisAccessor +{ + protected static final DhLogger LOGGER = new DhLoggerBuilder().build(); + + + public OculusAccessor() + { + LOGGER.warn("Partial Oculus support enabled. Some DH features may be disabled or behave strangely, use Iris instead if possible."); + } + + + + @Override + public String getModName() + { + return "oculus"; + } + + @Override + public boolean isShaderPackInUse() + { + // assume shaders are always active + return true; + } + + @Override + public boolean isRenderingShadowPass() + { + return false; + } + +}