package com.austinv11.collectiveframework.minecraft.proxy; import com.austinv11.collectiveframework.minecraft.CollectiveFramework; import com.austinv11.collectiveframework.minecraft.client.gui.KeyOverlay; import com.austinv11.collectiveframework.minecraft.client.gui.KongaOverlay; import com.austinv11.collectiveframework.minecraft.event.handler.HooksHandler; import com.austinv11.collectiveframework.minecraft.event.handler.KeyHandler; import com.austinv11.collectiveframework.minecraft.event.handler.ClientTickHandler; import com.austinv11.collectiveframework.minecraft.init.Keybindings; import com.austinv11.collectiveframework.minecraft.utils.IconManager; import com.austinv11.collectiveframework.multithreading.SimpleRunnable; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import net.minecraftforge.common.MinecraftForge; import rehost.javazoom.jl.player.Player; import java.io.BufferedInputStream; import java.net.URL; import java.net.URLConnection; public class ClientProxy extends CommonProxy { @Override public void prepareClient() { Keybindings.init(); //This isn't the code you are looking for... SimpleRunnable kongaThread = new SimpleRunnable() { private Player player; private boolean closed = false; @Override public void run() { if (HooksHandler.kongaTime && player == null) { try { URL url = new URL("http://www.matmartinez.net/nsfw/konga.mp3"); URLConnection urlConn = url.openConnection(); urlConn.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); BufferedInputStream audioSrc = new BufferedInputStream(urlConn.getInputStream()); CollectiveFramework.LOGGER.info("Prepare to dance!"); player = new Player(audioSrc); SimpleRunnable manager = new SimpleRunnable() { @Override public void run() { if (!HooksHandler.kongaTime) { player.close(); closed = true; disable(true); } } @Override public String getName() { return "Konga Manager Thread"; } }; manager.setTicking(1); manager.start(); player.play(); } catch (Exception e) { e.printStackTrace(); } } else if (player != null && (player.isComplete() || closed)) { player = null; closed = false; } } @Override public String getName() { return "Konga Thread"; } }; kongaThread.setTicking(1); kongaThread.start(); } @Override public void registerEvents() { super.registerEvents(); MinecraftForge.EVENT_BUS.register(new IconManager()); MinecraftForge.EVENT_BUS.register(new KeyOverlay()); FMLCommonHandler.instance().bus().register(new KeyHandler()); MinecraftForge.EVENT_BUS.register(new KongaOverlay()); FMLCommonHandler.instance().bus().register(new ClientTickHandler()); } @Override public Side getSide() { return Side.CLIENT; } }