Compare commits
5 Commits
v1.0-1.14-
...
1.16.4-for
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d955b3f81 | ||
|
|
711e6121d4 | ||
|
|
13045618ec | ||
|
|
5e553f2e72 | ||
|
|
2fe4ec56f8 |
@@ -11,6 +11,6 @@ forge_version=35.1.37
|
||||
cloth_version=4.11.14
|
||||
|
||||
# Mod Properties
|
||||
mod_version = 1.0
|
||||
mod_version = 1.1.1
|
||||
maven_group = markil3
|
||||
archives_base_name = immersive_hud
|
||||
@@ -3,6 +3,7 @@ package markil3.immersive_hud;
|
||||
import com.electronwill.nightconfig.core.file.CommentedFileConfig;
|
||||
import com.electronwill.nightconfig.core.io.WritingMode;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraftforge.common.ForgeConfigSpec;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
@@ -50,7 +51,7 @@ public class ConfigManager
|
||||
new ForgeConfigSpec.Builder().configure(ConfigManager::new);
|
||||
INSTANCE = specPair.getLeft();
|
||||
SPEC = specPair.getRight();
|
||||
CommentedFileConfig config = CommentedFileConfig.builder(CONFIG_PATH)
|
||||
CommentedFileConfig config = CommentedFileConfig.builder(Minecraft.getInstance().gameDir.toPath().toAbsolutePath().resolve(CONFIG_PATH))
|
||||
.sync()
|
||||
.autoreload()
|
||||
.writingMode(WritingMode.REPLACE)
|
||||
@@ -155,7 +156,9 @@ public class ConfigManager
|
||||
private final TimeValues hungerTime;
|
||||
private final TimeValues effectTime;
|
||||
private final ForgeConfigSpec.IntValue crosshairTime;
|
||||
private final ForgeConfigSpec.BooleanValue hideCrosshair;
|
||||
private final ForgeConfigSpec.IntValue handTime;
|
||||
private final ForgeConfigSpec.BooleanValue hideHands;
|
||||
private final ForgeConfigSpec.BooleanValue showArmor;
|
||||
private final ForgeConfigSpec.DoubleValue minHealth;
|
||||
private final ForgeConfigSpec.IntValue minHunger;
|
||||
@@ -182,6 +185,10 @@ public class ConfigManager
|
||||
6 * TICKS_PER_SECOND,
|
||||
0,
|
||||
10 * 60 * TICKS_PER_SECOND);
|
||||
this.hideCrosshair =
|
||||
configSpecBuilder.translation(
|
||||
"immersive_hud.configGui.hideCrosshair.title")
|
||||
.define("hideCrosshair", true);
|
||||
this.handTime =
|
||||
configSpecBuilder.translation(
|
||||
"immersive_hud.configGui.handTime.title")
|
||||
@@ -189,6 +196,10 @@ public class ConfigManager
|
||||
30 * TICKS_PER_SECOND,
|
||||
0,
|
||||
10 * 60 * TICKS_PER_SECOND);
|
||||
this.hideHands =
|
||||
configSpecBuilder.translation(
|
||||
"immersive_hud.configGui.hideHands.title")
|
||||
.define("hideHands", true);
|
||||
this.showArmor = configSpecBuilder.translation(
|
||||
"immersive_hud.configGui.showArmor.title")
|
||||
.define("showArmor", true);
|
||||
@@ -282,6 +293,16 @@ public class ConfigManager
|
||||
return this.crosshairTime.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the crosshairs should be hidden after a period of time.
|
||||
*
|
||||
* @return - Whether or not crosshairs will be hidden.
|
||||
*/
|
||||
public boolean hideCrosshair()
|
||||
{
|
||||
return this.hideCrosshair.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains the time that the hands are allowed to display.
|
||||
*
|
||||
@@ -292,6 +313,16 @@ public class ConfigManager
|
||||
return this.handTime.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether hands should be hidden after a period of time.
|
||||
*
|
||||
* @return - Whether or not hands will be hidden.
|
||||
*/
|
||||
public boolean hideHands()
|
||||
{
|
||||
return this.hideHands.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the armor bar should render.
|
||||
*
|
||||
@@ -334,6 +365,16 @@ public class ConfigManager
|
||||
this.crosshairTime.set(time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether the crosshairs should be hidden after a period of time.
|
||||
*
|
||||
* @param hide - Whether or not crosshairs will be hidden.
|
||||
*/
|
||||
public void hideCrosshair(boolean hide)
|
||||
{
|
||||
this.hideCrosshair.set(hide);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the time that the hands are allowed to display.
|
||||
*
|
||||
@@ -344,6 +385,16 @@ public class ConfigManager
|
||||
this.handTime.set(time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether hands should be hidden after a period of time.
|
||||
*
|
||||
* @param hide - Whether or not hands will be hidden.
|
||||
*/
|
||||
public void hideHands(boolean hide)
|
||||
{
|
||||
this.hideHands.set(hide);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether the armor bar should render.
|
||||
*
|
||||
|
||||
@@ -59,19 +59,29 @@ public class EventBus
|
||||
@SubscribeEvent
|
||||
public static void onClick(final PlayerInteractEvent event)
|
||||
{
|
||||
DistExecutor.safeRunWhenOn(Dist.CLIENT,
|
||||
(DistExecutor.SafeSupplier<DistExecutor.SafeRunnable>) () -> new DistExecutor.SafeRunnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
try
|
||||
{
|
||||
DistExecutor.safeRunWhenOn(Dist.CLIENT,
|
||||
(DistExecutor.SafeSupplier<DistExecutor.SafeRunnable>) () -> new DistExecutor.SafeRunnable()
|
||||
{
|
||||
Item item =
|
||||
Optional.ofNullable(event.getItemStack())
|
||||
.map(ItemStack::getItem)
|
||||
.orElse(null);
|
||||
TimerUtils.onClick(event.getHand(), item);
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
Item item =
|
||||
Optional.ofNullable(event.getItemStack())
|
||||
.map(ItemStack::getItem)
|
||||
.orElse(null);
|
||||
TimerUtils.onClick(event.getHand(), item);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LOGGER.error(
|
||||
"Error in running markil3.immersive_hud.EventBus#onClick " +
|
||||
"event",
|
||||
e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,15 +96,25 @@ public class EventBus
|
||||
@SubscribeEvent
|
||||
public static void onMount(final EntityMountEvent event)
|
||||
{
|
||||
DistExecutor.safeRunWhenOn(Dist.CLIENT,
|
||||
(DistExecutor.SafeSupplier<DistExecutor.SafeRunnable>) () -> new DistExecutor.SafeRunnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
try
|
||||
{
|
||||
DistExecutor.safeRunWhenOn(Dist.CLIENT,
|
||||
(DistExecutor.SafeSupplier<DistExecutor.SafeRunnable>) () -> new DistExecutor.SafeRunnable()
|
||||
{
|
||||
TimerUtils.resetMountHealth();
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
TimerUtils.resetMountHealth();
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LOGGER.error(
|
||||
"Error in running markil3.immersive_hud.EventBus#onMount " +
|
||||
"event",
|
||||
e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -106,9 +126,21 @@ public class EventBus
|
||||
@SubscribeEvent
|
||||
public static void onRenderHand(final RenderHandEvent event)
|
||||
{
|
||||
if (TimerUtils.onRenderHand(event.getHand(), event.getMatrixStack(), event.getPartialTicks()))
|
||||
try
|
||||
{
|
||||
event.setCanceled(true);
|
||||
if (TimerUtils.onRenderHand(event.getHand(),
|
||||
event.getMatrixStack(),
|
||||
event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LOGGER.error(
|
||||
"Error in running markil3.immersive_hud" +
|
||||
".EventBus#onRenderHand event",
|
||||
e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,151 +153,171 @@ public class EventBus
|
||||
@SubscribeEvent
|
||||
public static void onGUIDraw(final RenderGameOverlayEvent event)
|
||||
{
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
boolean fadeIn = false;
|
||||
|
||||
switch (event.getType())
|
||||
try
|
||||
{
|
||||
case CROSSHAIRS:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
boolean fadeIn = false;
|
||||
|
||||
switch (event.getType())
|
||||
{
|
||||
if (TimerUtils.drawCrosshair(event.getPartialTicks()))
|
||||
case CROSSHAIRS:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawCrosshair(event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case POTION_ICONS:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
TimerUtils.updatePotions(mc.player);
|
||||
event.setCanceled(true);
|
||||
RenderUtils.renderPotionIcons(mc,
|
||||
mc.ingameGUI,
|
||||
event.getMatrixStack(), event.getPartialTicks());
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case HOTBAR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
event.setCanceled(true);
|
||||
if (!TimerUtils.drawHotbar(event.getPartialTicks()))
|
||||
{
|
||||
RenderUtils.renderHotbar(mc, mc.ingameGUI,
|
||||
event.getMatrixStack(),
|
||||
event.getPartialTicks(), TimerUtils.hotbarTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case POTION_ICONS:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
TimerUtils.updatePotions(mc.player);
|
||||
event.setCanceled(true);
|
||||
RenderUtils.renderPotionIcons(mc,
|
||||
mc.ingameGUI,
|
||||
event.getMatrixStack(), event.getPartialTicks());
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case HOTBAR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
event.setCanceled(true);
|
||||
if (!TimerUtils.drawHotbar(event.getPartialTicks()))
|
||||
break;
|
||||
case HEALTH:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
RenderUtils.renderHotbar(mc, mc.ingameGUI,
|
||||
event.getMatrixStack(),
|
||||
event.getPartialTicks(), TimerUtils.hotbarTime);
|
||||
if (TimerUtils.drawHealth(event.getMatrixStack(),
|
||||
event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case HEALTH:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawHealth(event.getMatrixStack(), event.getPartialTicks()))
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case FOOD:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawHunger(event.getMatrixStack(),
|
||||
event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case ARMOR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawArmor(event.getMatrixStack(),
|
||||
event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case AIR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawAir(event.getMatrixStack(),
|
||||
event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case HEALTHMOUNT:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawMountHealth(event.getMatrixStack(),
|
||||
event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case JUMPBAR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
event.setCanceled(true);
|
||||
if (!TimerUtils.drawJumpbar(event.getPartialTicks()))
|
||||
{
|
||||
RenderUtils.renderHorseJumpBar(mc,
|
||||
mc.ingameGUI,
|
||||
event.getMatrixStack(),
|
||||
event.getPartialTicks(),
|
||||
TimerUtils.jumpTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case FOOD:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawHunger(event.getMatrixStack(), event.getPartialTicks()))
|
||||
break;
|
||||
case EXPERIENCE:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
event.setCanceled(true);
|
||||
if (!TimerUtils.drawExperience(event.getPartialTicks()))
|
||||
{
|
||||
RenderUtils.renderExperience(mc,
|
||||
mc.ingameGUI,
|
||||
event.getMatrixStack(),
|
||||
event.getPartialTicks(),
|
||||
TimerUtils.experienceTime);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case ARMOR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawArmor(event.getMatrixStack(), event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case AIR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawAir(event.getMatrixStack(), event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Reset the transparency.
|
||||
*/
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case HEALTHMOUNT:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
if (TimerUtils.drawMountHealth(event.getMatrixStack(), event.getPartialTicks()))
|
||||
{
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||
{
|
||||
event.getMatrixStack().pop();
|
||||
resetAlpha();
|
||||
}
|
||||
break;
|
||||
case JUMPBAR:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
event.setCanceled(true);
|
||||
if (!TimerUtils.drawJumpbar(event.getPartialTicks()))
|
||||
{
|
||||
RenderUtils.renderHorseJumpBar(mc, mc.ingameGUI,
|
||||
event.getMatrixStack(), event.getPartialTicks(), TimerUtils.jumpTime);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EXPERIENCE:
|
||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||
{
|
||||
event.setCanceled(true);
|
||||
if (!TimerUtils.drawExperience(event.getPartialTicks()))
|
||||
{
|
||||
RenderUtils.renderExperience(mc, mc.ingameGUI,
|
||||
event.getMatrixStack(), event.getPartialTicks(), TimerUtils.experienceTime);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LOGGER.error(
|
||||
"Error in running markil3.immersive_hud.EventBus#onGUIDraw event",
|
||||
e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,6 +123,15 @@ public class ModMenu
|
||||
.setCrosshairTime((int) (val * TICKS_PER_SECOND)))
|
||||
.build());
|
||||
|
||||
general.addEntry(entryBuilder.startBooleanToggle(new TranslationTextComponent(
|
||||
"option.immersive_hud.hideCrosshair"), ConfigManager.getInstance().hideCrosshair())
|
||||
.setDefaultValue(true)
|
||||
.setTooltip(new TranslationTextComponent(
|
||||
"tooltip.immersive_hud.hideCrosshair"))
|
||||
.setSaveConsumer(val -> ConfigManager.getInstance()
|
||||
.hideCrosshair(val))
|
||||
.build());
|
||||
|
||||
general.addEntry(entryBuilder.startDoubleField(new TranslationTextComponent(
|
||||
"option.immersive_hud.handTime"),
|
||||
(float) ConfigManager.getInstance()
|
||||
@@ -134,6 +143,15 @@ public class ModMenu
|
||||
.setHandTime((int) (val * TICKS_PER_SECOND)))
|
||||
.build());
|
||||
|
||||
general.addEntry(entryBuilder.startBooleanToggle(new TranslationTextComponent(
|
||||
"option.immersive_hud.hideHands"), ConfigManager.getInstance().hideHands())
|
||||
.setDefaultValue(true)
|
||||
.setTooltip(new TranslationTextComponent(
|
||||
"tooltip.immersive_hud.hideHands"))
|
||||
.setSaveConsumer(val -> ConfigManager.getInstance()
|
||||
.hideHands(val))
|
||||
.build());
|
||||
|
||||
general.addEntry(entryBuilder.startDoubleField(new TranslationTextComponent(
|
||||
"option.immersive_hud.minHealth"),
|
||||
ConfigManager.getInstance()
|
||||
|
||||
@@ -24,7 +24,6 @@ import net.minecraft.potion.Effect;
|
||||
import net.minecraft.potion.EffectInstance;
|
||||
import net.minecraft.potion.Effects;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.Util;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
|
||||
@@ -270,11 +269,11 @@ public class TimerUtils
|
||||
if (item.isFood())
|
||||
{
|
||||
healthTime = health.getMaxTime() - (healthTime > 0 ?
|
||||
health.getFadeInTime() :
|
||||
0);
|
||||
health.getFadeInTime() :
|
||||
0);
|
||||
hungerTime = hunger.getMaxTime() - (hungerTime > 0 ?
|
||||
hunger.getFadeInTime() :
|
||||
0);
|
||||
hunger.getFadeInTime() :
|
||||
0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -295,60 +294,65 @@ public class TimerUtils
|
||||
MatrixStack matrixStack,
|
||||
float ticks)
|
||||
{
|
||||
float HAND_UP_TIME = 1F;
|
||||
float HAND_UP_TIME = 20F;
|
||||
|
||||
switch (hand)
|
||||
boolean hideHands =
|
||||
ConfigManager.getInstance().hideHands();
|
||||
if (hideHands)
|
||||
{
|
||||
case OFF_HAND:
|
||||
if (mainHandTime > 0 && mainHandTime < HAND_UP_TIME)
|
||||
switch (hand)
|
||||
{
|
||||
/*
|
||||
* Undo the transformation of the previous hand
|
||||
*/
|
||||
matrixStack
|
||||
.translate(0,
|
||||
1.0F * (HAND_UP_TIME - mainHandTime) / HAND_UP_TIME,
|
||||
0);
|
||||
}
|
||||
if (offHandTime == 0 && !offHandLock)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (!offHandLock && (mapLock & 0b01) == 0)
|
||||
{
|
||||
if (offHandTime > 0)
|
||||
{
|
||||
offHandTime -= ticks;
|
||||
}
|
||||
if (offHandTime < HAND_UP_TIME)
|
||||
case OFF_HAND:
|
||||
if (mainHandTime > 0 && mainHandTime < HAND_UP_TIME)
|
||||
{
|
||||
/*
|
||||
* Undo the transformation of the previous hand
|
||||
*/
|
||||
matrixStack
|
||||
.translate(0,
|
||||
-1.0F * (HAND_UP_TIME - offHandTime) / HAND_UP_TIME,
|
||||
1.0F * (HAND_UP_TIME - mainHandTime) / HAND_UP_TIME,
|
||||
0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MAIN_HAND:
|
||||
if (mainHandTime == 0 && !mainHandLock)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (!mainHandLock && (mapLock & 0b10) == 0)
|
||||
{
|
||||
if (mainHandTime > 0)
|
||||
if (offHandTime == 0 && !offHandLock)
|
||||
{
|
||||
mainHandTime -= ticks;
|
||||
return true;
|
||||
}
|
||||
if (mainHandTime < HAND_UP_TIME)
|
||||
else if (!offHandLock && (mapLock & 0b01) == 0)
|
||||
{
|
||||
matrixStack
|
||||
.translate(0,
|
||||
-1.0F * (HAND_UP_TIME - mainHandTime) / HAND_UP_TIME,
|
||||
0);
|
||||
if (offHandTime > 0)
|
||||
{
|
||||
offHandTime -= ticks;
|
||||
}
|
||||
if (offHandTime < HAND_UP_TIME)
|
||||
{
|
||||
matrixStack
|
||||
.translate(0,
|
||||
-1.0F * (HAND_UP_TIME - offHandTime) / HAND_UP_TIME,
|
||||
0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MAIN_HAND:
|
||||
if (mainHandTime == 0 && !mainHandLock)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (!mainHandLock && (mapLock & 0b10) == 0)
|
||||
{
|
||||
if (mainHandTime > 0)
|
||||
{
|
||||
mainHandTime -= ticks;
|
||||
}
|
||||
if (mainHandTime < HAND_UP_TIME)
|
||||
{
|
||||
matrixStack
|
||||
.translate(0,
|
||||
-1.0F * (HAND_UP_TIME - mainHandTime) / HAND_UP_TIME,
|
||||
0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -361,8 +365,8 @@ public class TimerUtils
|
||||
ConfigManager.TimeValues health =
|
||||
ConfigManager.getInstance().getHealthTime();
|
||||
mountTime = health.getMaxTime() - (mountTime > 0 ?
|
||||
health.getFadeInTime() :
|
||||
0);
|
||||
health.getFadeInTime() :
|
||||
0);
|
||||
jumpTime = 0;
|
||||
}
|
||||
|
||||
@@ -384,34 +388,37 @@ public class TimerUtils
|
||||
boolean changed = false;
|
||||
boolean canceled = false;
|
||||
|
||||
if (mc.objectMouseOver != null && mc.objectMouseOver.getType() != RayTraceResult.Type.MISS)
|
||||
if (ConfigManager.getInstance().hideCrosshair())
|
||||
{
|
||||
if (mc.objectMouseOver.getType() == RayTraceResult.Type.ENTITY)
|
||||
if (mc.objectMouseOver != null && mc.objectMouseOver.getType() != RayTraceResult.Type.MISS)
|
||||
{
|
||||
if (mc.objectMouseOver.hitInfo == null || mc.objectMouseOver.hitInfo != mc.player
|
||||
.getRidingEntity())
|
||||
if (mc.objectMouseOver.getType() == RayTraceResult.Type.ENTITY)
|
||||
{
|
||||
if (mc.objectMouseOver.hitInfo == null || mc.objectMouseOver.hitInfo != mc.player
|
||||
.getRidingEntity())
|
||||
{
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
if (changed || mainHandLock || offHandLock || crosshairTime > 0)
|
||||
{
|
||||
setAlpha(Main.getAlpha(crosshairTime > 0 ?
|
||||
crosshairTime :
|
||||
CROSSHAIR_TIME, CROSSHAIR_TIME, 0, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
changed = true;
|
||||
canceled = true;
|
||||
}
|
||||
if (crosshairTime > 0)
|
||||
{
|
||||
crosshairTime -= ticks;
|
||||
}
|
||||
}
|
||||
if (changed || mainHandLock || offHandLock || crosshairTime > 0)
|
||||
{
|
||||
setAlpha(Main.getAlpha(crosshairTime > 0 ?
|
||||
crosshairTime :
|
||||
CROSSHAIR_TIME, CROSSHAIR_TIME, 0, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
canceled = true;
|
||||
}
|
||||
if (crosshairTime > 0)
|
||||
{
|
||||
crosshairTime -= ticks;
|
||||
}
|
||||
|
||||
return canceled;
|
||||
@@ -475,7 +482,8 @@ public class TimerUtils
|
||||
}
|
||||
else if (effectinstance.getDuration() <= BLINK_TIME + potion.getFadeInTime())
|
||||
{
|
||||
effectAlpha = -(effectinstance.getDuration() - BLINK_TIME) / 22F + 0.454F;
|
||||
effectAlpha =
|
||||
-(effectinstance.getDuration() - BLINK_TIME) / 22F + 0.454F;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -646,11 +654,11 @@ public class TimerUtils
|
||||
if (item.isFood())
|
||||
{
|
||||
healthTime = health.getMaxTime() - (healthTime > 0 ?
|
||||
health.getFadeInTime() :
|
||||
0);
|
||||
health.getFadeInTime() :
|
||||
0);
|
||||
hungerTime = hunger.getMaxTime() - (hungerTime > 0 ?
|
||||
hunger.getFadeInTime() :
|
||||
0);
|
||||
hunger.getFadeInTime() :
|
||||
0);
|
||||
}
|
||||
if (i == 0)
|
||||
{
|
||||
@@ -758,7 +766,8 @@ public class TimerUtils
|
||||
* Only makes a change if the player is healthy. Otherwise,
|
||||
* the bar is shown.
|
||||
*/
|
||||
if (health / maxHealth > HEALTH_BOUNDARY && !mc.player.isPotionActive(Effects.WITHER) && !mc.player.isPotionActive(Effects.POISON))
|
||||
if (health / maxHealth > HEALTH_BOUNDARY && !mc.player.isPotionActive(
|
||||
Effects.WITHER) && !mc.player.isPotionActive(Effects.POISON))
|
||||
{
|
||||
if (healthTime > 0)
|
||||
{
|
||||
@@ -817,8 +826,8 @@ public class TimerUtils
|
||||
if (changed || hunger <= HUNGER_BOUNDARY)
|
||||
{
|
||||
hungerTime = hungerTimes.getMaxTime() - (hungerTime > 0 ?
|
||||
hungerTimes.getFadeInTime() :
|
||||
0);
|
||||
hungerTimes.getFadeInTime() :
|
||||
0);
|
||||
}
|
||||
else if (hungerTime > 0)
|
||||
{
|
||||
@@ -930,7 +939,7 @@ public class TimerUtils
|
||||
Entity tmp = mc.player.getRidingEntity();
|
||||
boolean changed = false;
|
||||
|
||||
if (tmp == null)
|
||||
if (tmp == null || !(tmp instanceof LivingEntity))
|
||||
{
|
||||
mountHealth = -1;
|
||||
mountMaxHealth = -1;
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
"option.immersive_hud.effectFadeIn": "Potion Fade In Time",
|
||||
"option.immersive_hud.effectFadeOut": "Potion Fade Out Time",
|
||||
"option.immersive_hud.crosshairTime": "Crosshair Display Time",
|
||||
"option.immersive_hud.hideCrosshair": "Hide Crosshair",
|
||||
"option.immersive_hud.handTime": "Hand Display Time",
|
||||
"option.immersive_hud.hideHands": "Hide Hands",
|
||||
"option.immersive_hud.minHealth": "Minimum Health Fade",
|
||||
"option.immersive_hud.minHunger": "Minimum Hunger Fade",
|
||||
"option.immersive_hud.showArmor": "Show Armor",
|
||||
@@ -42,7 +44,9 @@
|
||||
"tooltip.immersive_hud.effectFadeIn": "How many seconds it takes for potion icons to fade in",
|
||||
"tooltip.immersive_hud.effectFadeOut": "How many seconds it takes for potion icons to fade out",
|
||||
"tooltip.immersive_hud.crosshairTime": "How many seconds the crosshairs can be on screen",
|
||||
"tooltip.immersive_hud.hideCrosshair": "Whether or not the crosshairs should be hidden after a period of time",
|
||||
"tooltip.immersive_hud.handTime": "How many seconds the hands can be on screen",
|
||||
"tooltip.immersive_hud.hideHands": "Whether or not hands should be hidden after a period of time",
|
||||
"tooltip.immersive_hud.minHealth": "When the percentage of health goes below this level, the health bar won't fade away",
|
||||
"tooltip.immersive_hud.minHunger": "When the hunger level goes below this level, the hunger bar won't fade away",
|
||||
"tooltip.immersive_hud.showArmor": "Whether or not the armor bar should display on the HUD"
|
||||
|
||||
Reference in New Issue
Block a user