Package com.prupe.mcpatcher.cc

Source Code of com.prupe.mcpatcher.cc.BiomeHelper

package com.prupe.mcpatcher.cc;

import com.prupe.mcpatcher.MCLogger;
import com.prupe.mcpatcher.MCPatcherUtils;
import java.lang.reflect.Method;
import java.util.BitSet;
import net.minecraft.src.BiomeGenBase;
import net.minecraft.src.Minecraft;

class BiomeHelper {
  private static final MCLogger logger = MCLogger.getLogger("Custom Colors");
  private static Method getWaterColorMultiplier;
  private static BiomeGenBase lastBiome;
  private static int lastI;
  private static int lastK;

  static void parseBiomeList(String list, BitSet bits) {
    if (!MCPatcherUtils.isNullOrEmpty(list)) {
      String[] arr$ = list.toLowerCase().split("\\s+");
      int len$ = arr$.length;

      for (int i$ = 0; i$ < len$; ++i$) {
        String s = arr$[i$];

        if (!s.isEmpty()) {
          BiomeGenBase[] arr$1 = BiomeGenBase.biomeList;
          int len$1 = arr$1.length;

          for (int i$1 = 0; i$1 < len$1; ++i$1) {
            BiomeGenBase biome = arr$1[i$1];

            if (biome != null && biome.biomeName != null && s.equals(biome.biomeName.toLowerCase().replace(" ", ""))) {
              bits.set(biome.biomeID);
            }
          }
        }
      }
    }
  }

  static int getBiomeIDAt(int i, int j, int k) {
    BiomeGenBase biome = getBiomeGenAt(i, j, k);
    return biome == null ? BiomeGenBase.biomeList.length : biome.biomeID;
  }

  static BiomeGenBase getBiomeGenAt(int i, int j, int k) {
    if (lastBiome == null || i != lastI || k != lastK) {
      lastI = i;
      lastK = k;
      lastBiome = Minecraft.getMinecraft().theWorld.getBiomeGenForCoords(i, k);
    }

    return lastBiome;
  }

  static float getTemperature(int i, int j, int k) {
    return getBiomeGenAt(i, j, k).getFloatTemperature();
  }

  static float getRainfall(int i, int j, int k) {
    return getBiomeGenAt(i, j, k).getFloatRainfall();
  }

  static int getWaterColorMultiplier(int i, int j, int k) {
    BiomeGenBase biome = getBiomeGenAt(i, j, k);

    if (getWaterColorMultiplier != null) {
      try {
        return ((Integer)getWaterColorMultiplier.invoke(biome, new Object[0])).intValue();
      } catch (Throwable var5) {
        var5.printStackTrace();
        getWaterColorMultiplier = null;
      }
    }

    return biome.waterColorMultiplier;
  }

  static {
    try {
      getWaterColorMultiplier = BiomeGenBase.class.getDeclaredMethod("getWaterColorMultiplier", new Class[0]);
      getWaterColorMultiplier.setAccessible(true);
      logger.config("forge getWaterColorMultiplier detected", new Object[0]);
    } catch (NoSuchMethodException var1) {
      ;
    }
  }
}
TOP

Related Classes of com.prupe.mcpatcher.cc.BiomeHelper

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.