public Texture setUrl(String url) {
   this.url = url;
   if (getUrl() != null) {
     Spoutcraft.getClient()
         .getRenderDelegate()
         .downloadTexture(getAddon().getDescription().getName(), getUrl());
   }
   return this;
 }
 @Override
 public void onTick() {
   int width = Spoutcraft.getClient().getRenderDelegate().getScreenWidth();
   int height = Spoutcraft.getClient().getRenderDelegate().getScreenHeight();
   if (width != screenWidth || height != screenHeight) {
     onScreenResized(screenWidth, screenHeight, width, height);
   }
   screenWidth = width;
   screenHeight = height;
   for (Widget widget : new HashSet<Widget>(widgets.keySet())) {
     try {
       widget.onTick();
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
   for (Widget widget : widgets.keySet()) {
     try {
       widget.onAnimate();
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
 }
 public GenericScreen() {
   screenWidth = Spoutcraft.getClient().getRenderDelegate().getScreenWidth();
   screenHeight = Spoutcraft.getClient().getRenderDelegate().getScreenHeight();
   spoutcraft = Spoutcraft.getAddonManager().getAddon("Spoutcraft");
 }
 public void render() {
   Spoutcraft.getClient().getRenderDelegate().render(this);
 }