Compare commits

..

8 Commits

Author SHA1 Message Date
Markil3
70f534e033 Update gradle.properties 2021-08-30 22:29:44 -06:00
Markil3
50fad9acfd Allows some items to not trigger a hand/crosshair update.
This is helpful if one is using Firework rockets to fly around the landscape
2021-08-30 21:21:59 -06:00
Markil3
2403546896 Changes how the mod handles status bars slightly.
This should somewhat increase compatibility with the AppleSkin mod.
2021-07-22 13:31:43 -06:00
Markil3
7d67a0445a Fixes a conflict with other poorly-configured mods. 2021-04-06 08:43:36 -06:00
Markil3
f054a5aa20 Gets ready for release 1.1 2021-04-01 13:07:40 -06:00
Markil3
93548ae7a7 Adds the ability to always show hands and crosshairs.
Apparently, @rflambert doesn't want the hands to fade. It seemed like a good idea, so I added a configurable option to the main repo.
2021-03-26 11:21:22 -06:00
Markil3
7195d8ac0d Catches any errors that occur when triggering events.
It is pretty annoying for the game to crash because of a GUI mod. This should reduce that.
2021-03-26 10:18:00 -06:00
Markil3
a6b05ba15a Fixes a ClassCastException (#1) 2021-03-25 17:12:38 -06:00
10 changed files with 298 additions and 122 deletions

1
.gitignore vendored
View File

@@ -32,4 +32,3 @@ bin/
run/ run/
/logs/ /logs/
/remappedSrc/

View File

@@ -1,5 +1,5 @@
plugins { plugins {
id 'fabric-loom' version '0.6-SNAPSHOT' id 'fabric-loom' version '0.5-SNAPSHOT'
id 'maven-publish' id 'maven-publish'
} }
@@ -21,9 +21,9 @@ dependencies {
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// modApi "me.shedaniel.cloth:config-2:${project.cloth_version}" modApi "me.shedaniel.cloth:config-2:${project.cloth_version}"
modApi "me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig_version}" modApi "me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig_version}"
// modImplementation "io.github.prospector:modmenu:${project.modmenu_version}" modImplementation "io.github.prospector:modmenu:${project.modmenu_version}"
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs.
// You may need to force-disable transitiveness on them. // You may need to force-disable transitiveness on them.

View File

@@ -3,12 +3,12 @@ org.gradle.jvmargs=-Xmx1G
# Fabric Properties # Fabric Properties
# check these on https://fabricmc.net/use # check these on https://fabricmc.net/use
minecraft_version=1.14.3 minecraft_version=1.15
yarn_mappings=1.14.3+build.13 yarn_mappings=1.15+build.2
loader_version=0.11.2 loader_version=0.11.2
cloth_version=2.9.3 cloth_version=2.9.3
modmenu_version=1.6.3-95 modmenu_version=1.8.4+build.20
autoconfig_version=2.2.0 autoconfig_version=2.2.0
# Mod Properties # Mod Properties

View File

@@ -6,15 +6,11 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
//import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
import static markil3.immersive_hud.Main.TICKS_PER_SECOND; import static markil3.immersive_hud.Main.TICKS_PER_SECOND;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@@ -22,9 +22,6 @@ import net.fabricmc.api.ModInitializer;
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
import me.sargunvohra.mcmods.autoconfig1u.serializer.Toml4jConfigSerializer; import me.sargunvohra.mcmods.autoconfig1u.serializer.Toml4jConfigSerializer;
//import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
//import me.sargunvohra.mcmods.autoconfig1u.serializer.Toml4jConfigSerializer;
/** /**
* The main entry point for the Immersive HUD mod. * The main entry point for the Immersive HUD mod.
* *

View File

@@ -0,0 +1,184 @@
package markil3.immersive_hud;
import net.minecraft.client.gui.screen.Screen;
import java.util.function.Function;
import io.github.prospector.modmenu.api.ModMenuApi;
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
import me.shedaniel.clothconfig2.api.ConfigBuilder;
import me.shedaniel.clothconfig2.api.ConfigCategory;
import me.shedaniel.clothconfig2.api.ConfigEntryBuilder;
import me.shedaniel.clothconfig2.gui.entries.DoubleListEntry;
import static markil3.immersive_hud.Main.TICKS_PER_SECOND;
public class ModMenu implements ModMenuApi
{
private void startTimeField(String name, ConfigEntryBuilder entryBuilder,
ConfigCategory cat,
ConfigManager.TimeValues value)
{
final float SHOW_TIME = 6;
final float FADE_IN = 0.25F;
final float FADE_OUT = 0.5F;
DoubleListEntry maxTime =
entryBuilder.startDoubleField("option.immersive_hud." + name +
"MaxTime",
(float) value.getMaxTime() / TICKS_PER_SECOND)
.setDefaultValue(SHOW_TIME)
.setMin(0)
.setMax(10 * 60 * TICKS_PER_SECOND) // 10 Minutes
.setTooltip("tooltip.immersive_hud." + name +
"MaxTime")
.setSaveConsumer(val -> value.setMaxTime((int) (val * TICKS_PER_SECOND)))
.build();
DoubleListEntry fadeIn =
entryBuilder.startDoubleField("option.immersive_hud." + name +
"FadeIn",
(float) value.getFadeInTime() / TICKS_PER_SECOND)
.setDefaultValue(FADE_IN)
.setMin(0)
.setMax(10 * 60 * TICKS_PER_SECOND)
.setTooltip("tooltip.immersive_hud." + name +
"FadeIn")
.setSaveConsumer(val -> value.setFadeInTime((int) (val * TICKS_PER_SECOND)))
.build();
DoubleListEntry fadeOut =
entryBuilder.startDoubleField("option.immersive_hud." + name +
"FadeOut",
(float) value.getFadeOutTime() / TICKS_PER_SECOND)
.setDefaultValue(FADE_OUT)
.setMin(0)
.setMax(10 * 60 * TICKS_PER_SECOND)
.setTooltip("tooltip.immersive_hud." + name +
"FadeOut")
.setSaveConsumer(val -> value.setFadeOutTime((int) (val * TICKS_PER_SECOND)))
.build();
cat.addEntry(maxTime);
cat.addEntry(fadeIn);
cat.addEntry(fadeOut);
}
@Override
public String getModId()
{
return "immersive_hud";
}
@Override
public Function<Screen, ? extends Screen> getConfigScreenFactory()
{
return screen -> {
ConfigCategory general;
ConfigEntryBuilder entryBuilder;
ConfigManager instance = ConfigManager.getInstance();
final ConfigBuilder builder = ConfigBuilder.create()
.setParentScreen(screen)
.setTitle("immersive_hud.configGui.title")
.setSavingRunnable(() -> {
try
{
if (Class.forName(
"me.sargunvohra.mcmods.autoconfig1u" +
".AutoConfig") != null)
{
((me.sargunvohra.mcmods.autoconfig1u.ConfigManager<ConfigManagerCloth>) AutoConfig
.getConfigHolder(
ConfigManagerCloth.class)).save();
}
}
catch (ClassNotFoundException e)
{
// Do nothing
}
});
general =
builder.getOrCreateCategory("category.immersive_hud" +
".general");
entryBuilder = builder.entryBuilder();
startTimeField("hotbar", entryBuilder,
general,
instance.getHotbarTime());
startTimeField("experience", entryBuilder,
general,
instance.getExperienceTime());
startTimeField("jump", entryBuilder,
general,
instance.getJumpTime());
startTimeField("jump", entryBuilder,
general,
instance.getHealthTime());
startTimeField("hunger", entryBuilder,
general,
instance.getHungerTime());
startTimeField("effect", entryBuilder,
general,
instance.getPotionTime());
general.addEntry(entryBuilder.startDoubleField(
"option.immersive_hud.crosshairTime",
(float) instance.getCrosshairTime() / TICKS_PER_SECOND)
.setDefaultValue(6)
.setTooltip("tooltip.immersive_hud.crosshairTime")
.setSaveConsumer(val -> instance.setCrosshairTime((int) (val * TICKS_PER_SECOND)))
.build());
general.addEntry(entryBuilder.startBooleanToggle(
"option.immersive_hud.hideCrosshair",
instance.hideCrosshair())
.setDefaultValue(true)
.setTooltip("tooltip.immersive_hud.hideCrosshair")
.setSaveConsumer(val -> instance.hideCrosshair(val))
.build());
general.addEntry(entryBuilder.startDoubleField(
"option.immersive_hud.handTime",
(float) instance.getHandTime() / TICKS_PER_SECOND)
.setDefaultValue(30)
.setTooltip("tooltip.immersive_hud.handTime")
.setSaveConsumer(val -> instance.setHandTime((int) (val * TICKS_PER_SECOND)))
.build());
general.addEntry(entryBuilder.startBooleanToggle(
"option.immersive_hud.hideHands",
instance.hideHands())
.setDefaultValue(true)
.setTooltip("tooltip.immersive_hud.hideHands")
.setSaveConsumer(val -> instance.hideHands(val))
.build());
general.addEntry(entryBuilder.startDoubleField(
"option.immersive_hud.minHealth",
instance.getMinHealth())
.setDefaultValue(0.5)
.setTooltip("tooltip.immersive_hud.minHealth")
.setSaveConsumer(val -> instance.setMinHealth(val))
.build());
general.addEntry(entryBuilder.startIntField(
"option.immersive_hud.minHunger",
instance.getMinHunger())
.setDefaultValue(17)
.setTooltip("tooltip.immersive_hud.minHunger")
.setSaveConsumer(val -> instance.setMinHunger(val))
.build());
general.addEntry(entryBuilder.startBooleanToggle(
"option.immersive_hud.showArmor",
instance.shouldShowArmor())
.setDefaultValue(true)
.setTooltip("tooltip.immersive_hud.showArmor")
.setSaveConsumer(val -> instance.shouldShowArmor(val))
.build());
return builder.build();
};
}
}

View File

@@ -16,10 +16,11 @@
*/ */
package markil3.immersive_hud; package markil3.immersive_hud;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffect;
@@ -34,11 +35,10 @@ import net.minecraft.item.FilledMapItem;
import net.minecraft.item.FishingRodItem; import net.minecraft.item.FishingRodItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.LingeringPotionItem;
import net.minecraft.item.RangedWeaponItem; import net.minecraft.item.RangedWeaponItem;
import net.minecraft.item.ShieldItem; import net.minecraft.item.ShieldItem;
import net.minecraft.item.SnowballItem; import net.minecraft.item.SnowballItem;
import net.minecraft.item.SplashPotionItem; import net.minecraft.item.ThrowablePotionItem;
import net.minecraft.item.TridentItem; import net.minecraft.item.TridentItem;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.hit.EntityHitResult; import net.minecraft.util.hit.EntityHitResult;
@@ -48,7 +48,6 @@ import net.minecraft.util.math.MathHelper;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
@@ -175,7 +174,7 @@ public class TimerUtils
*/ */
public static void setAlpha(float alpha) public static void setAlpha(float alpha)
{ {
GlStateManager.color4f(1.0F, 1.0F, 1.0F, alpha); RenderSystem.color4f(1.0F, 1.0F, 1.0F, alpha);
} }
/** /**
@@ -291,7 +290,6 @@ public class TimerUtils
* *
* @param hand - The hand being triggered * @param hand - The hand being triggered
* @param clear - Whether the hand it being enabled or disabled. * @param clear - Whether the hand it being enabled or disabled.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static void onClick(Hand hand, boolean clear) public static void onClick(Hand hand, boolean clear)
@@ -370,12 +368,12 @@ public class TimerUtils
* hands into and out of view as needed. * hands into and out of view as needed.
* *
* @param hand - The hand being rendered. * @param hand - The hand being rendered.
* * @param matrixStack - The rendering stack.
* @return If true, then don't render this hand at all. * @return If true, then don't render this hand at all.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean onRenderHand(Hand hand, public static boolean onRenderHand(Hand hand,
MatrixStack matrixStack,
float ticks) float ticks)
{ {
final float HAND_UP_TIME = 20F; final float HAND_UP_TIME = 20F;
@@ -398,9 +396,10 @@ public class TimerUtils
} }
if (offHandTime < HAND_UP_TIME) if (offHandTime < HAND_UP_TIME)
{ {
GlStateManager.translatef(0, matrixStack
(float) (-1.0F * (HAND_UP_TIME - offHandTime) / .translate(0,
HAND_UP_TIME), -1.0F * (HAND_UP_TIME - offHandTime) /
HAND_UP_TIME,
0); 0);
} }
} }
@@ -418,9 +417,10 @@ public class TimerUtils
} }
if (mainHandTime < HAND_UP_TIME) if (mainHandTime < HAND_UP_TIME)
{ {
GlStateManager.translatef(0, matrixStack
(float) (-1.0F * (HAND_UP_TIME - mainHandTime) / .translate(0,
HAND_UP_TIME), -1.0F * (HAND_UP_TIME - mainHandTime) /
HAND_UP_TIME,
0); 0);
} }
} }
@@ -435,7 +435,6 @@ public class TimerUtils
* needed. * needed.
* *
* @return If true, then cancel drawing the crosshair. * @return If true, then cancel drawing the crosshair.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean drawCrosshair(float ticks) public static boolean drawCrosshair(float ticks)
@@ -451,13 +450,13 @@ public class TimerUtils
boolean hideCrosshair = ConfigManager.getInstance().hideCrosshair(); boolean hideCrosshair = ConfigManager.getInstance().hideCrosshair();
if (hideCrosshair) if (hideCrosshair)
{ {
if (mc.hitResult != null && mc.hitResult if (mc.crosshairTarget != null && mc.crosshairTarget
.getType() != HitResult.Type.MISS) .getType() != HitResult.Type.MISS)
{ {
if (mc.hitResult.getType() == HitResult.Type if (mc.crosshairTarget.getType() == HitResult.Type
.ENTITY) .ENTITY)
{ {
if (((EntityHitResult) mc.hitResult).getEntity() != entity if (((EntityHitResult) mc.crosshairTarget).getEntity() != entity
.getVehicle()) .getVehicle())
{ {
changed = true; changed = true;
@@ -492,7 +491,6 @@ public class TimerUtils
* as needed. * as needed.
* *
* @return If true, then cancel drawing the mount health bar. * @return If true, then cancel drawing the mount health bar.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean drawMountHealth(float ticks) public static boolean drawMountHealth(float ticks)
@@ -527,9 +525,9 @@ public class TimerUtils
mountHealth = mount.getHealth(); mountHealth = mount.getHealth();
changed = true; changed = true;
} }
if (mountMaxHealth != mount.getHealthMaximum()) if (mountMaxHealth != mount.getMaximumHealth())
{ {
mountMaxHealth = mount.getHealthMaximum(); mountMaxHealth = mount.getMaximumHealth();
changed = true; changed = true;
} }
} }
@@ -552,8 +550,8 @@ public class TimerUtils
{ {
if (tmp != null && mountTime > 0) if (tmp != null && mountTime > 0)
{ {
GlStateManager.pushMatrix(); RenderSystem.pushMatrix();
GlStateManager.translatef(0F, RenderSystem.translatef(0F,
getHealthTranslation(), getHealthTranslation(),
0F); 0F);
setAlpha(Main.getAlpha(mountTime, setAlpha(Main.getAlpha(mountTime,
@@ -564,8 +562,8 @@ public class TimerUtils
} }
return true; return true;
} }
GlStateManager.pushMatrix(); RenderSystem.pushMatrix();
GlStateManager.translatef(0F, RenderSystem.translatef(0F,
getHealthTranslation(), getHealthTranslation(),
0F); 0F);
return false; return false;
@@ -624,7 +622,6 @@ public class TimerUtils
* Obtains how transparent * Obtains how transparent
* *
* @param effectinstance * @param effectinstance
*
* @return * @return
*/ */
public static float getPotionAlpha(StatusEffectInstance effectinstance) public static float getPotionAlpha(StatusEffectInstance effectinstance)
@@ -636,7 +633,8 @@ public class TimerUtils
if (effectinstance.getDuration() <= BLINK_TIME) if (effectinstance.getDuration() <= BLINK_TIME)
{ {
effectAlpha = effectAlpha =
MathHelper.sin(7000F / (effectinstance.getDuration() + 16F * (float) Math.PI)) * 50F / (effectinstance MathHelper.sin(7000F / (effectinstance
.getDuration() + 16F * (float) Math.PI)) * 50F / (effectinstance
.getDuration() + 100F) + 0.5F; .getDuration() + 100F) + 0.5F;
} }
else if (effectinstance.getDuration() <= BLINK_TIME + potion.getFadeInTime()) else if (effectinstance.getDuration() <= BLINK_TIME + potion.getFadeInTime())
@@ -661,7 +659,6 @@ public class TimerUtils
* needed. * needed.
* *
* @return If true, then cancel drawing the armor bar. * @return If true, then cancel drawing the armor bar.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean drawArmor() public static boolean drawArmor()
@@ -689,7 +686,6 @@ public class TimerUtils
* needed. * needed.
* *
* @return If true, then cancel drawing the health. * @return If true, then cancel drawing the health.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean drawHealth(float ticks) public static boolean drawHealth(float ticks)
@@ -725,9 +721,9 @@ public class TimerUtils
health = entity.getHealth(); health = entity.getHealth();
changed = true; changed = true;
} }
if (maxHealth != entity.getHealthMaximum()) if (maxHealth != entity.getMaximumHealth())
{ {
maxHealth = entity.getHealthMaximum(); maxHealth = entity.getMaximumHealth();
changed = true; changed = true;
} }
if (changed) if (changed)
@@ -765,7 +761,6 @@ public class TimerUtils
* needed. * needed.
* *
* @return If true, then cancel drawing the hunger bar. * @return If true, then cancel drawing the hunger bar.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean drawHunger(float ticks) public static boolean drawHunger(float ticks)
@@ -844,7 +839,6 @@ public class TimerUtils
* as needed. * as needed.
* *
* @return If true, then cancel drawing the jump bar. * @return If true, then cancel drawing the jump bar.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean drawJumpbar(float ticks) public static boolean drawJumpbar(float ticks)
@@ -875,8 +869,8 @@ public class TimerUtils
} }
if (jumpTime > 0) if (jumpTime > 0)
{ {
GlStateManager.pushMatrix(); RenderSystem.pushMatrix();
GlStateManager.translatef(0F, TimerUtils.getJumpTranslation(), 0F); RenderSystem.translatef(0F, TimerUtils.getJumpTranslation(), 0F);
setAlpha(Main.getAlpha(jumpTime, setAlpha(Main.getAlpha(jumpTime,
jump.getMaxTime(), jump.getMaxTime(),
jump.getFadeInTime(), jump.getFadeInTime(),
@@ -891,7 +885,6 @@ public class TimerUtils
* as needed. * as needed.
* *
* @return If true, then cancel drawing the experience bar. * @return If true, then cancel drawing the experience bar.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static boolean drawExperience(float ticks) public static boolean drawExperience(float ticks)
@@ -929,8 +922,8 @@ public class TimerUtils
} }
if (experienceTime > 0) if (experienceTime > 0)
{ {
GlStateManager.pushMatrix(); RenderSystem.pushMatrix();
GlStateManager.translatef(0F, RenderSystem.translatef(0F,
TimerUtils.getExperienceTranslation(), TimerUtils.getExperienceTranslation(),
0F); 0F);
setAlpha(Main.getAlpha(experienceTime, setAlpha(Main.getAlpha(experienceTime,
@@ -948,7 +941,6 @@ public class TimerUtils
* or not to draw it. * or not to draw it.
* *
* @return If true, then cancel drawing the hotbar. * @return If true, then cancel drawing the hotbar.
*
* @see #recolorHotbar() * @see #recolorHotbar()
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
@@ -1074,7 +1066,7 @@ public class TimerUtils
* Items that have the crosshairs enabled for as long * Items that have the crosshairs enabled for as long
* as the item is being held at all. * as the item is being held at all.
*/ */
else if (item instanceof SplashPotionItem || item instanceof LingeringPotionItem || else if (item instanceof ThrowablePotionItem ||
item instanceof SnowballItem || item instanceof item instanceof SnowballItem || item instanceof
EggItem || item instanceof EnderPearlItem || item EggItem || item instanceof EnderPearlItem || item
instanceof FishingRodItem) instanceof FishingRodItem)
@@ -1169,15 +1161,14 @@ public class TimerUtils
* needed. * needed.
* *
* @return If true, then cancel drawing the crosshair. * @return If true, then cancel drawing the crosshair.
*
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
public static void recolorHotbar() public static void recolorHotbar()
{ {
ConfigManager.TimeValues hotbar = ConfigManager.TimeValues hotbar =
ConfigManager.getInstance().getHotbarTime(); ConfigManager.getInstance().getHotbarTime();
GlStateManager.pushMatrix(); RenderSystem.pushMatrix();
GlStateManager.translatef(0F, TimerUtils.getHotbarTranslation(), 0F); RenderSystem.translatef(0F, TimerUtils.getHotbarTranslation(), 0F);
setAlpha(Main.getAlpha(hotbarTime, setAlpha(Main.getAlpha(hotbarTime,
hotbar.getMaxTime(), hotbar.getMaxTime(),
hotbar.getFadeInTime(), hotbar.getFadeInTime(),

View File

@@ -17,7 +17,9 @@
package markil3.immersive_hud.mixin; package markil3.immersive_hud.mixin;
import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.render.FirstPersonRenderer; import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.item.HeldItemRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
@@ -37,37 +39,47 @@ import markil3.immersive_hud.TimerUtils;
* @author Markil 3 * @author Markil 3
* @version 0.1-1.16.4-fabric * @version 0.1-1.16.4-fabric
*/ */
@Mixin(FirstPersonRenderer.class) @Mixin(HeldItemRenderer.class)
public class HeldItemHook public class HeldItemHook
{ {
private static final Logger LOGGER = LogManager.getLogger(HeldItemHook.class); private static final Logger LOGGER =
LogManager.getLogger(HeldItemHook.class);
/** /**
* Determines whether or not to render a certain hand. * Determines whether or not to render a certain hand.
* *
* @param player
* @param tickDelta
* @param pitch
* @param hand * @param hand
* @param swingProgress
* @param item
* @param equipProgress
* @param matrices
* @param vertexConsumers
* @param light
* @param callbackInfo * @param callbackInfo
* *
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
@Inject(method = "renderFirstPersonItem" + @Inject(method = "renderFirstPersonItem", at = @At(value = "INVOKE",
"(Lnet/minecraft/client/network/AbstractClientPlayerEntity;" + target = "Lnet/minecraft/client/util/math/MatrixStack;push()V",
"FFLnet/minecraft/util/Hand;FLnet/minecraft/item/ItemStack;F)V", shift = At.Shift.AFTER), cancellable = true)
at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform" + public void renderHand(AbstractClientPlayerEntity player,
"/GlStateManager;pushMatrix()V", shift = At.Shift.AFTER), float tickDelta,
cancellable = true) float pitch,
public void renderHand(AbstractClientPlayerEntity abstractClientPlayerEntity,
float f,
float g,
Hand hand, Hand hand,
float h, float swingProgress,
ItemStack itemStack, ItemStack item,
float i, float equipProgress,
MatrixStack matrices,
VertexConsumerProvider vertexConsumers,
int light,
CallbackInfo callbackInfo) CallbackInfo callbackInfo)
{ {
try try
{ {
if (TimerUtils.onRenderHand(hand, f)) if (TimerUtils.onRenderHand(hand, matrices, tickDelta))
{ {
callbackInfo.cancel(); callbackInfo.cancel();
} }
@@ -75,8 +87,8 @@ public class HeldItemHook
catch (Exception e) catch (Exception e)
{ {
LOGGER.error( LOGGER.error(
"Error in running net.minecraft.client.render" + "Error in running net.minecraft.client.render.item" +
".FirstPersonRenderer#renderFirstPersonItem " + ".HeldItemRenderer#renderFirstPersonItem " +
"event", "event",
e); e);
} }

View File

@@ -16,7 +16,7 @@
*/ */
package markil3.immersive_hud.mixin; package markil3.immersive_hud.mixin;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.hud.InGameHud; import net.minecraft.client.gui.hud.InGameHud;
@@ -155,7 +155,7 @@ public class HudHook
LOGGER.debug("Finishing jumpbar"); LOGGER.debug("Finishing jumpbar");
try try
{ {
GlStateManager.popMatrix(); RenderSystem.popMatrix();
/* /*
* Resets the color so that nothing else is bothered. * Resets the color so that nothing else is bothered.
*/ */
@@ -216,7 +216,7 @@ public class HudHook
LOGGER.debug("Finishing experience bar"); LOGGER.debug("Finishing experience bar");
try try
{ {
GlStateManager.popMatrix(); RenderSystem.popMatrix();
/* /*
* Resets the color so that nothing else is bothered. * Resets the color so that nothing else is bothered.
*/ */
@@ -244,10 +244,8 @@ public class HudHook
LOGGER.debug("Starting status bars"); LOGGER.debug("Starting status bars");
try try
{ {
GlStateManager.pushMatrix(); RenderSystem.pushMatrix();
GlStateManager.translatef(0F, RenderSystem.translatef(0F, TimerUtils.getHealthTranslation(), 0F);
TimerUtils.getHealthTranslation(),
0F);
} }
catch (Exception e) catch (Exception e)
{ {
@@ -364,8 +362,7 @@ public class HudHook
*/ */
@Inject(method = "renderStatusBars()V", at = @At(value = "INVOKE", @Inject(method = "renderStatusBars()V", at = @At(value = "INVOKE",
target = "Lnet" + target = "Lnet" +
"/minecraft/util/profiler/Profiler;swap" + "/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V",
"(Ljava/lang/String;)V",
ordinal = 2)) ordinal = 2))
public void renderAir(CallbackInfo callbackInfo) public void renderAir(CallbackInfo callbackInfo)
{ {
@@ -393,7 +390,7 @@ public class HudHook
LOGGER.debug("Finishing status bars"); LOGGER.debug("Finishing status bars");
try try
{ {
GlStateManager.popMatrix(); RenderSystem.popMatrix();
} }
catch (Exception e) catch (Exception e)
{ {
@@ -456,7 +453,7 @@ public class HudHook
/* /*
* Resets the color so that nothing else is bothered. * Resets the color so that nothing else is bothered.
*/ */
GlStateManager.popMatrix(); RenderSystem.popMatrix();
TimerUtils.resetAlpha(); TimerUtils.resetAlpha();
} }
catch (Exception e) catch (Exception e)
@@ -626,7 +623,7 @@ public class HudHook
* @since 0.1-1.16.4-fabric * @since 0.1-1.16.4-fabric
*/ */
@Inject(method = "renderHotbar", at = @At(value = "INVOKE", target = @Inject(method = "renderHotbar", at = @At(value = "INVOKE", target =
"Lcom/mojang/blaze3d/platform/GlStateManager;color4f(FFFF)V", shift "Lcom/mojang/blaze3d/systems/RenderSystem;color4f(FFFF)V", shift
= At.Shift.AFTER)) = At.Shift.AFTER))
public void adjustHotbar(float tickDelta, public void adjustHotbar(float tickDelta,
CallbackInfo callbackInfo) CallbackInfo callbackInfo)
@@ -662,7 +659,7 @@ public class HudHook
LOGGER.debug("Finishing hotbar"); LOGGER.debug("Finishing hotbar");
try try
{ {
GlStateManager.popMatrix(); RenderSystem.popMatrix();
/* /*
* Resets the color so that nothing else is bothered. * Resets the color so that nothing else is bothered.
*/ */

View File

@@ -35,7 +35,7 @@
"depends": { "depends": {
"fabricloader": ">=0.7.4", "fabricloader": ">=0.7.4",
"minecraft": "1.14.x" "minecraft": "1.15.x"
}, },
"suggests": { "suggests": {
"modmenu": "*", "modmenu": "*",