package mattparks.mods.space.core.util;
import java.util.Arrays;
import java.util.List;
import mattparks.mods.space.core.SpaceCore;
import net.minecraft.entity.Entity;
import net.minecraft.util.StatCollector;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
public class SpaceUtil {
public static int nextID = 0;
public static int to32BitColor(int a, int r, int g, int b) {
a = a << 24;
r = r << 16;
g = g << 8;
return a | r | g | b;
}
public static String translate(String key) {
String result = StatCollector.translateToLocal(key);
int comment = result.indexOf('#');
return (comment > 0) ? result.substring(0, comment).trim() : result;
}
public static List<String> translateWithSplit(String key) {
String translated = translate(key);
int comment = translated.indexOf('#');
translated = (comment > 0) ? translated.substring(0, comment).trim() : translated;
return Arrays.asList(translated.split("\\$"));
}
public static String translateWithFormat(String key, Object... values) {
String result = StatCollector.translateToLocalFormatted(key, values);
int comment = result.indexOf('#');
return (comment > 0) ? result.substring(0, comment).trim() : result;
}
public static int nextInternalID() {
SpaceUtil.nextID++;
return SpaceUtil.nextID - 1;
}
public static void registerSpaceCreature(Class<? extends Entity> var0, String var1, int back, int fore) {
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
LanguageRegistry.instance().addStringLocalization("entity." + var1 + ".name", SpaceUtil.translate("entity.SpaceCore." + var1 + ".name"));
}
int newID = EntityRegistry.instance().findGlobalUniqueEntityId();
EntityRegistry.registerGlobalEntityID(var0, var1, newID, back, fore);
EntityRegistry.registerModEntity(var0, var1, nextInternalID(), SpaceCore.instance, 80, 3, true);
}
public static void registerSpaceNonMobEntity(Class<? extends Entity> var0, String var1, int trackingDistance, int updateFreq, boolean sendVel) {
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
LanguageRegistry.instance().addStringLocalization("entity." + var1 + ".name", SpaceUtil.translate("entity.SpaceCore." + var1 + ".name"));
}
EntityRegistry.registerModEntity(var0, var1, nextInternalID(), SpaceCore.instance, trackingDistance, updateFreq, sendVel);
}
}