package MoF; import amidst.map.MapObjectPlayer; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.Stack; import javax.imageio.ImageIO; public class SkinManager extends Thread { private Stack<MapObjectPlayer> players; public boolean active; public SkinManager() { players = new Stack<MapObjectPlayer>(); active = true; } public void addPlayer(MapObjectPlayer p) { players.push(p); } public void run() { while (this.active) { try { if (players.isEmpty()) { Thread.sleep(50L); } else { MapObjectPlayer p = players.pop(); try { URL url = new URL("http://s3.amazonaws.com/MinecraftSkins/" + p.getName() + ".png"); BufferedImage img = ImageIO.read(url); BufferedImage pimg = new BufferedImage(20,20,BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = pimg.createGraphics(); g2d.setColor(Color.black); g2d.fillRect(0, 0, 20, 20); g2d.drawImage(img, 2, 2, 18, 18, 8, 8, 16, 16, null); g2d.dispose(); img.flush(); p.setMarker(pimg); Thread.sleep(20L); } catch (MalformedURLException e2) { } catch (IOException e) { } } } catch (InterruptedException e) { } } if (!this.active) { dispose(); } } public void dispose() { players.clear(); players = null; } }