Only render Crosshair if hovered Entity can be spectated | https://trello.com/c/CJBVrB2O/

This commit is contained in:
CrushedPixel
2015-06-29 14:31:44 +02:00
parent 66567c3834
commit a101d7a311
2 changed files with 27 additions and 0 deletions

View File

@@ -75,6 +75,7 @@ public class ReplayMod {
public static TooltipRenderer tooltipRenderer;
public static PathPreviewRenderer pathPreviewRenderer;
public static SoundHandler soundHandler = new SoundHandler();
public static CrosshairRenderHandler crosshairRenderHandler;
// The instance of your mod that Forge uses.
@Instance(value = "ReplayModID")
@@ -133,6 +134,10 @@ public class ReplayMod {
FMLCommonHandler.instance().bus().register(pathPreviewRenderer);
MinecraftForge.EVENT_BUS.register(pathPreviewRenderer);
crosshairRenderHandler = new CrosshairRenderHandler();
FMLCommonHandler.instance().bus().register(crosshairRenderHandler);
MinecraftForge.EVENT_BUS.register(crosshairRenderHandler);
KeybindRegistry.initialize();
try {

View File

@@ -0,0 +1,22 @@
package eu.crushedpixel.replaymod.events.handlers;
import eu.crushedpixel.replaymod.replay.ReplayHandler;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class CrosshairRenderHandler {
private final Minecraft mc = Minecraft.getMinecraft();
@SubscribeEvent
public void onCrosshairRender(RenderGameOverlayEvent.Pre event) {
//Crosshair should only render if hovered Entity can actually be spectated
if(ReplayHandler.isInReplay() && ReplayHandler.isCamera() && event.type == RenderGameOverlayEvent.ElementType.CROSSHAIRS) {
event.setCanceled(!(mc.pointedEntity instanceof EntityPlayer || mc.pointedEntity instanceof EntityLiving || mc.pointedEntity instanceof EntityItemFrame));
}
}
}