package cn.dawn47.core.proxy; import java.util.HashMap; import java.util.Map; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; import cn.annoreg.core.Registrant; @Registrant public class DWResources { //public paths public static final String TEX_ENTITIES = "dawn47:textures/entities/", TEX_RADBALL_SEQ = TEX_ENTITIES + "/radiation_ball_end/", TEX_BLOCKS = "dawn47:textures/blocks/", TEX_ITEMS = "dawn47:textures/items/", TEX_MUZZLE = "dawn47:textures/muz/", TEX_HUD = "dawn47:textures/hud/", TEX_MODELS = "dawn47:textures/models/"; //muzzleflash public static final ResourceLocation GLOCK_MUZZLEFLASH [] = { src(TEX_MUZZLE + "muz_handgun.png") }; //weapon&equipments public static final ResourceLocation SUPER_DRINK_TEXTURE_PATH = src(TEX_MODELS + "superdrink.png"), SNIPER_RIFLE_TEXTURE_PATH = src(TEX_ENTITIES + "sniper_rifle.png"), SN_BULLET_TEXTURE_PATH = src(TEX_ENTITIES + "sn_bullet.png"), SNIPER_RIFLE_SCOPE = src(TEX_HUD + "rifle.png"), UZI_PATH = src(TEX_ENTITIES + "uzi.png"), UZI_AMMO_PATH = src(TEX_ENTITIES + "uzi_ammo.png"), DRONE_PATH[] = { src(TEX_ENTITIES + "spider.png"), src(TEX_ENTITIES + "spider2.png"), src(TEX_ENTITIES + "spider3.png") }; //effects public static final ResourceLocation EFFECT_SPIT = src(TEX_ENTITIES + "tinyspit.png"), EFFECT_LASER = src(TEX_ENTITIES + "laser.png"), EFFECT_LASERHIT = src(TEX_ENTITIES + "laser_hit.png"), EFFECT_RADBALL = src(TEX_ENTITIES + "radiation_ball.png"), BLANK = src(TEX_ENTITIES + "blank.png"), EFFECT_DEMON_SPIT = src(TEX_ENTITIES + "dsegg.png"), EFFECT_RADBALL_END[] = { src(TEX_RADBALL_SEQ + "radiation_ball_end0.png"), src(TEX_RADBALL_SEQ + "radiation_ball_end1.png"), src(TEX_RADBALL_SEQ + "radiation_ball_end2.png"), src(TEX_RADBALL_SEQ + "radiation_ball_end3.png"), src(TEX_RADBALL_SEQ + "radiation_ball_end4.png"), src(TEX_RADBALL_SEQ + "radiation_ball_end5.png"), src(TEX_RADBALL_SEQ + "radiation_ball_end6.png") }, RADIT_MUZZLEFLASH[] = { src(TEX_MUZZLE + "muz_radit.png") }, LASER_MUZZLEFLASH[] = { src(TEX_MUZZLE + "muz_laser.png") }; //mobs public static final ResourceLocation ROTTEN_CREEPER_MOB = src(TEX_ENTITIES + "rotten_creeper.png"), DEMON_SEED_MOB = src(TEX_ENTITIES + "demon_seed.png"); //hud public static final ResourceLocation HUD = src(TEX_HUD + "helmet.png"); //model textures public static final ResourceLocation HANDGUN_TEXTURE_PATH[] = { src(TEX_MODELS + "handgun.png"), src(TEX_MODELS + "handgun1.png") }, AR_TEXTURE_PATH[] = { src(TEX_MODELS + "assault_rifle.png"), src(TEX_MODELS + "assault_rifle1.png") }, RADIATION_TEXTURE_PATH = src(TEX_MODELS + "radiation_launcher.png"), LASER_TEXTURE_PATH[] = { src(TEX_MODELS + "laser_rifle.png"), src(TEX_MODELS + "laser_rifle1") }, SHOTGUN_TEXTURE_PATH[] = { src(TEX_MODELS + "shotgun.png"), src(TEX_MODELS + "shotgun1.png") }, SUPER_AR_TEX_PATH = src(TEX_MODELS + "super_ar.png"), SCOUT_ROBOT_TEX = src(TEX_MODELS + "scout_robot.png"), MEDKIT_TEX = src(TEX_MODELS + "medkit.png"), SOLDIER_PATH[] = { src(TEX_ENTITIES + "soldier.png") }; //poster public static final ResourceLocation POSTER_TEXTURE_PATH[] = { src(TEX_ENTITIES + "poster0.png"), src(TEX_ENTITIES + "poster1.png"), src(TEX_ENTITIES + "poster2.png"), src(TEX_ENTITIES + "poster3.png"), src(TEX_ENTITIES + "poster4.png") }; public static ResourceLocation NUMBERS[] = new ResourceLocation[10]; static { for(int i = 0; i <= 9; i++) NUMBERS[i] = src(TEX_HUD + i + ".png"); } public static ResourceLocation HUD_SHIELD = src(TEX_HUD + "shield.png"), HUD_AMMO = src(TEX_HUD + "ammo.png"), HUD_MID = src(TEX_HUD + "mid.png"), HUD_HEALTH = src(TEX_HUD + "health.png"), HUD_MEDKIT = src(TEX_HUD + "medkit.png"); public static final ResourceLocation EFFECT_SMOKE[] = { src(TEX_ENTITIES + "smoke001.png"), src(TEX_ENTITIES + "smoke002.png"), src(TEX_ENTITIES + "smoke003.png"), src(TEX_ENTITIES + "smoke004.png"), src(TEX_ENTITIES + "smoke005.png") }; private static ResourceLocation src(String s) { return new ResourceLocation(s); } public static ResourceLocation[] getMdlMultiTexture(String name, int count) { ResourceLocation[] ret = new ResourceLocation[count]; for(int i = 0; i < count; ++i) { ret[i] = getMdlTexture(name + "_" + i); } return ret; } public static ResourceLocation[] getTextures(String name, int count) { ResourceLocation[] ret = new ResourceLocation[count]; for(int i = 0; i < count; ++i) { ret[i] = texture(name + i); } return ret; } public static ResourceLocation getMdlTexture(String name) { return new ResourceLocation("dawn47:textures/models/" + name + ".png"); } public static ResourceLocation texture(String path) { return src("dawn47:textures/" + path + ".png"); } public static ResourceLocation entityTexture(String name) { return texture("entities/" + name); } static Map<String, IModelCustom> loadedModels = new HashMap(); public static IModelCustom loadModel(String name) { IModelCustom mdl = loadedModels.get(name); if(mdl != null) return mdl; mdl = AdvancedModelLoader.loadModel(src("dawn47:models/" + name + ".obj")); loadedModels.put(name, mdl); return mdl; } }