package vazkii.minetunes.key; import net.minecraft.client.Minecraft; import net.minecraft.client.settings.KeyBinding; import vazkii.minetunes.MineTunes; import vazkii.minetunes.player.HUDHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent; public class KeySubscriber { public static final KeySubscriber instance = new KeySubscriber(); public static float delta = 0; float lastPartTicks = 0; @SubscribeEvent public void playerTick(RenderTickEvent event) { delta = event.renderTickTime - lastPartTicks; if(delta < 0) delta = event.renderTickTime; lastPartTicks = event.renderTickTime; if(Minecraft.getMinecraft().thePlayer != null) { if(event.phase == Phase.START) { for(KeyBinding key : KeyBindings.handlers.keySet()) { KeyHandler handler = KeyBindings.handlers.get(key); if(key.isKeyDown()) handler.keyDown(key); else handler.keyUp(key); } } else HUDHandler.showVolume = false; } else if(MineTunes.musicPlayerThread != null) { MineTunes.musicPlayerThread.forceKill(); MineTunes.startMusicPlayerThread(); } } }