package NET.worlds.scape; import NET.worlds.network.ObjID; import NET.worlds.network.URL; import NET.worlds.network.WorldServer; import java.io.IOException; public class MutedDrone extends Drone { private static Object classCookie = new Object(); public MutedDrone(ObjID objID, WorldServer serv, URL url) { super(objID, serv); this.setSourceURL(url); } public MutedDrone() { } @Override public Drone setAvatarNow(URL url) { if (this.shouldBeMuted()) { this.setSourceURL(url); return this; } else { return super.setAvatarNow(url); } } @Override public void saveState(Saver s) throws IOException { s.saveVersion(1, classCookie); super.saveState(s); } @Override public void restoreState(Restorer r) throws IOException, TooNewException { int vers = r.restoreVersion(classCookie); switch (vers) { case 1: super.restoreState(r); return; default: throw new TooNewException(); } } }