feat: added NoOverlay mod
This commit is contained in:
parent
9196cb9df2
commit
ed0d7d9621
1 changed files with 82 additions and 0 deletions
82
src/main/java/ftbsc/bscv/modules/hud/NoOverlay.java
Normal file
82
src/main/java/ftbsc/bscv/modules/hud/NoOverlay.java
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
package ftbsc.bscv.modules.hud;
|
||||||
|
|
||||||
|
import com.google.auto.service.AutoService;
|
||||||
|
|
||||||
|
import ftbsc.bscv.api.ILoadable;
|
||||||
|
import ftbsc.bscv.modules.AbstractModule;
|
||||||
|
import ftbsc.bscv.tools.Setting;
|
||||||
|
import net.minecraftforge.client.event.EntityViewRenderEvent;
|
||||||
|
import net.minecraftforge.client.event.RenderBlockOverlayEvent;
|
||||||
|
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
|
import net.minecraftforge.common.ForgeConfigSpec;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
|
||||||
|
@AutoService(ILoadable.class)
|
||||||
|
public class NoOverlay extends AbstractModule {
|
||||||
|
|
||||||
|
public final ForgeConfigSpec.ConfigValue<Boolean> liquid;
|
||||||
|
public final ForgeConfigSpec.ConfigValue<Boolean> block;
|
||||||
|
public final ForgeConfigSpec.ConfigValue<Boolean> helmet;
|
||||||
|
public final ForgeConfigSpec.ConfigValue<Boolean> portal;
|
||||||
|
|
||||||
|
public NoOverlay() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.liquid = Setting.Bool.builder()
|
||||||
|
.fallback(true)
|
||||||
|
.name("liquid")
|
||||||
|
.comment("cancel overlay in water and lava")
|
||||||
|
.build(this);
|
||||||
|
|
||||||
|
this.block = Setting.Bool.builder()
|
||||||
|
.fallback(true)
|
||||||
|
.name("block")
|
||||||
|
.comment("cancel overlay of blocks on your head")
|
||||||
|
.build(this);
|
||||||
|
|
||||||
|
this.helmet = Setting.Bool.builder()
|
||||||
|
.fallback(true)
|
||||||
|
.name("helmet")
|
||||||
|
.comment("cancel overlay of pumpkins and helmets")
|
||||||
|
.build(this);
|
||||||
|
|
||||||
|
this.portal = Setting.Bool.builder()
|
||||||
|
.fallback(true)
|
||||||
|
.name("portal")
|
||||||
|
.comment("cancel overlay in nether portals")
|
||||||
|
.build(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onGameOverlay(RenderGameOverlayEvent event) {
|
||||||
|
switch (event.getType()) {
|
||||||
|
case HELMET:
|
||||||
|
if (event.isCancelable() && this.helmet.get())
|
||||||
|
event.setCanceled(true);
|
||||||
|
break;
|
||||||
|
case PORTAL:
|
||||||
|
if (event.isCancelable() && this.portal.get())
|
||||||
|
event.setCanceled(true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onRenderBlockOverlay(RenderBlockOverlayEvent event) {
|
||||||
|
if (this.block.get()) event.setCanceled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onFogRender(EntityViewRenderEvent.FogDensity event) {
|
||||||
|
if (
|
||||||
|
this.liquid.get() &&
|
||||||
|
MC.player != null &&
|
||||||
|
(MC.player.isInLava() || MC.player.isInWater())
|
||||||
|
) {
|
||||||
|
event.setDensity(0);
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue