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.
This commit is contained in:
@@ -23,7 +23,6 @@ import net.minecraft.item.Item;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
import net.minecraftforge.client.event.RenderHandEvent;
|
|
||||||
import net.minecraftforge.client.event.RenderSpecificHandEvent;
|
import net.minecraftforge.client.event.RenderSpecificHandEvent;
|
||||||
import net.minecraftforge.event.entity.EntityMountEvent;
|
import net.minecraftforge.event.entity.EntityMountEvent;
|
||||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||||
@@ -62,14 +61,24 @@ public class EventBus
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onClick(final PlayerInteractEvent event)
|
public static void onClick(final PlayerInteractEvent event)
|
||||||
{
|
{
|
||||||
DistExecutor.runWhenOn(Dist.CLIENT, () -> () ->
|
try
|
||||||
{
|
{
|
||||||
Item item =
|
DistExecutor.runWhenOn(Dist.CLIENT, () -> () ->
|
||||||
Optional.ofNullable(event.getItemStack())
|
{
|
||||||
.map(ItemStack::getItem)
|
Item item =
|
||||||
.orElse(null);
|
Optional.ofNullable(event.getItemStack())
|
||||||
TimerUtils.onClick(event.getHand(), item);
|
.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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -84,10 +93,20 @@ public class EventBus
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onMount(final EntityMountEvent event)
|
public static void onMount(final EntityMountEvent event)
|
||||||
{
|
{
|
||||||
DistExecutor.runWhenOn(Dist.CLIENT, () -> () ->
|
try
|
||||||
{
|
{
|
||||||
TimerUtils.resetMountHealth();
|
DistExecutor.runWhenOn(Dist.CLIENT, () -> () ->
|
||||||
});
|
{
|
||||||
|
TimerUtils.resetMountHealth();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.error(
|
||||||
|
"Error in running markil3.immersive_hud.EventBus#onMount " +
|
||||||
|
"event",
|
||||||
|
e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,10 +118,20 @@ public class EventBus
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onRenderHand(final RenderSpecificHandEvent event)
|
public static void onRenderHand(final RenderSpecificHandEvent event)
|
||||||
{
|
{
|
||||||
if (TimerUtils.onRenderHand(event.getHand(),
|
try
|
||||||
event.getPartialTicks()))
|
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
if (TimerUtils.onRenderHand(event.getHand(),
|
||||||
|
event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.error(
|
||||||
|
"Error in running markil3.immersive_hud" +
|
||||||
|
".EventBus#onRenderHand event",
|
||||||
|
e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,153 +144,162 @@ public class EventBus
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onGUIDraw(final RenderGameOverlayEvent event)
|
public static void onGUIDraw(final RenderGameOverlayEvent event)
|
||||||
{
|
{
|
||||||
Minecraft mc = Minecraft.getInstance();
|
try
|
||||||
boolean fadeIn = false;
|
|
||||||
|
|
||||||
switch (event.getType())
|
|
||||||
{
|
{
|
||||||
case CROSSHAIRS:
|
Minecraft mc = Minecraft.getInstance();
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
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.getPartialTicks());
|
||||||
|
resetAlpha();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case HOTBAR:
|
||||||
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
|
if (!TimerUtils.drawHotbar(event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
RenderUtils.renderHotbar(mc, mc.ingameGUI,
|
||||||
|
event.getPartialTicks(), TimerUtils.hotbarTime);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
/*
|
case HEALTH:
|
||||||
* Reset the transparency.
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
*/
|
|
||||||
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.getPartialTicks());
|
|
||||||
resetAlpha();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HOTBAR:
|
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
|
||||||
{
|
|
||||||
event.setCanceled(true);
|
|
||||||
if (!TimerUtils.drawHotbar(event.getPartialTicks()))
|
|
||||||
{
|
{
|
||||||
RenderUtils.renderHotbar(mc, mc.ingameGUI,
|
if (TimerUtils.drawHealth(event.getPartialTicks()))
|
||||||
event.getPartialTicks(), TimerUtils.hotbarTime);
|
{
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||||
break;
|
{
|
||||||
case HEALTH:
|
GlStateManager.popMatrix();
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
resetAlpha();
|
||||||
{
|
}
|
||||||
if (TimerUtils.drawHealth(event.getPartialTicks()))
|
break;
|
||||||
|
case FOOD:
|
||||||
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
|
{
|
||||||
|
if (TimerUtils.drawHunger(event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Reset the transparency.
|
||||||
|
*/
|
||||||
|
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||||
|
{
|
||||||
|
GlStateManager.popMatrix();
|
||||||
|
resetAlpha();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ARMOR:
|
||||||
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
|
{
|
||||||
|
if (TimerUtils.drawArmor(event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Reset the transparency.
|
||||||
|
*/
|
||||||
|
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||||
|
{
|
||||||
|
GlStateManager.popMatrix();
|
||||||
|
resetAlpha();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case AIR:
|
||||||
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
|
{
|
||||||
|
if (TimerUtils.drawAir(event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Reset the transparency.
|
||||||
|
*/
|
||||||
|
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||||
|
{
|
||||||
|
GlStateManager.popMatrix();
|
||||||
|
resetAlpha();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case HEALTHMOUNT:
|
||||||
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
|
{
|
||||||
|
if (TimerUtils.drawMountHealth(event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (event instanceof RenderGameOverlayEvent.Post)
|
||||||
|
{
|
||||||
|
GlStateManager.popMatrix();
|
||||||
|
resetAlpha();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case JUMPBAR:
|
||||||
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
|
if (!TimerUtils.drawJumpbar(event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
RenderUtils.renderHorseJumpBar(mc,
|
||||||
|
mc.ingameGUI,
|
||||||
|
event.getPartialTicks(),
|
||||||
|
TimerUtils.jumpTime);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
case EXPERIENCE:
|
||||||
{
|
if (event instanceof RenderGameOverlayEvent.Pre)
|
||||||
GlStateManager.popMatrix();
|
|
||||||
resetAlpha();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case FOOD:
|
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
|
||||||
{
|
|
||||||
if (TimerUtils.drawHunger(event.getPartialTicks()))
|
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
|
if (!TimerUtils.drawExperience(event.getPartialTicks()))
|
||||||
|
{
|
||||||
|
RenderUtils.renderExperience(mc,
|
||||||
|
mc.ingameGUI,
|
||||||
|
event.getPartialTicks(),
|
||||||
|
TimerUtils.experienceTime);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/*
|
}
|
||||||
* Reset the transparency.
|
catch (Exception e)
|
||||||
*/
|
{
|
||||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
LOGGER.error(
|
||||||
{
|
"Error in running markil3.immersive_hud.EventBus#onGUIDraw event",
|
||||||
GlStateManager.popMatrix();
|
e);
|
||||||
resetAlpha();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case ARMOR:
|
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
|
||||||
{
|
|
||||||
if (TimerUtils.drawArmor(event.getPartialTicks()))
|
|
||||||
{
|
|
||||||
event.setCanceled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Reset the transparency.
|
|
||||||
*/
|
|
||||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
|
||||||
{
|
|
||||||
GlStateManager.popMatrix();
|
|
||||||
resetAlpha();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case AIR:
|
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
|
||||||
{
|
|
||||||
if (TimerUtils.drawAir(event.getPartialTicks()))
|
|
||||||
{
|
|
||||||
event.setCanceled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Reset the transparency.
|
|
||||||
*/
|
|
||||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
|
||||||
{
|
|
||||||
GlStateManager.popMatrix();
|
|
||||||
resetAlpha();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HEALTHMOUNT:
|
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
|
||||||
{
|
|
||||||
if (TimerUtils.drawMountHealth(event.getPartialTicks()))
|
|
||||||
{
|
|
||||||
event.setCanceled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (event instanceof RenderGameOverlayEvent.Post)
|
|
||||||
{
|
|
||||||
GlStateManager.popMatrix();
|
|
||||||
resetAlpha();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case JUMPBAR:
|
|
||||||
if (event instanceof RenderGameOverlayEvent.Pre)
|
|
||||||
{
|
|
||||||
event.setCanceled(true);
|
|
||||||
if (!TimerUtils.drawJumpbar(event.getPartialTicks()))
|
|
||||||
{
|
|
||||||
RenderUtils.renderHorseJumpBar(mc,
|
|
||||||
mc.ingameGUI,
|
|
||||||
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.getPartialTicks(),
|
|
||||||
TimerUtils.experienceTime);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user