Package Will11690.mod.MechaniCraft.Capes

Source Code of Will11690.mod.MechaniCraft.Capes.DevCapesTickHandler

package Will11690.mod.MechaniCraft.Capes;

import java.util.EnumSet;
import java.util.List;

import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.AbstractClientPlayer;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.TickType;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

@SideOnly(Side.CLIENT)
public class DevCapesTickHandler implements ITickHandler {

  private static final Minecraft mc = Minecraft.getMinecraft();
  private static final DevCapesUtil instance = DevCapesUtil.getInstance();

  // Keep at false when packaging..
  private boolean debug = false;


  private int counter = 0;
  private boolean notified = false;

  @Override
  public void tickStart(EnumSet<TickType> type, Object... tickData) {


    // Will not run if there is no world, and if there are no player entities
    // in the playerEntities list.
    if ((mc.theWorld != null) && (mc.theWorld.playerEntities.size() > 0)){
      // List of players.
      @SuppressWarnings("unchecked")
      List<AbstractClientPlayer> players = mc.theWorld.playerEntities;

      // resets the counter if it is too high.
      if(counter >= players.size())
        counter = 0;

      AbstractClientPlayer p = players.get(counter);
      if(p != null) {

        String lowerUsername = p.username.toLowerCase();

        if (instance.getUserGroup(lowerUsername) != null){
          // If the player had no cape before, (or is some cases
          // has a cape from another mod,) then it will be true.
          // This statement checks for false. Will not replace any
          // capes.
          if (!p.downloadImageCape.isTextureUploaded()) {
            String userGroup = instance.getUserGroup(lowerUsername);

            if(debug)
              System.out.println("Changing the cape of: " + p.username);
            // Sets the cape URL.
            p.locationCape = instance.getCapeResource(userGroup);
            p.downloadImageCape = instance.getDownloadThread(userGroup);
          }

          //notifies qualified user that developer capes is outdated.
          if(!notified){
            if (FMLClientHandler.instance().getClient().currentScreen == null) {
              if (instance.versionChecker.getResult() == 1) {

                notified = true;

                FMLClientHandler.instance().getClient().ingameGUI.getChatGUI().printChatMessage("§6[DevCapes]: §fDevCapes is outdated.");
              }
            }
          }
        }
      }

      counter++;
    }
  }

  /*
   * Not used, stub method.
   */
  @Override
  public void tickEnd(EnumSet<TickType> type, Object... tickData) {}

  @Override
  public EnumSet<TickType> ticks() {
    return EnumSet.of(TickType.CLIENT);
  }

  @Override
  public String getLabel() {
    return "DeveloperCapesTickHandler";
  }
}
TOP

Related Classes of Will11690.mod.MechaniCraft.Capes.DevCapesTickHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.