mirror of
http://git.eaglercraft.rip/eaglercraft/eaglercraft-1.8.git
synced 2025-04-30 02:01:59 -05:00
97 lines
2.8 KiB
Java
97 lines
2.8 KiB
Java
package net.optifine.util;
|
|
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.resources.IReloadableResourceManager;
|
|
import net.minecraft.client.resources.IResourceManager;
|
|
import net.minecraft.client.resources.IResourceManagerReloadListener;
|
|
import net.optifine.BetterGrass;
|
|
import net.optifine.BetterSnow;
|
|
import net.optifine.Config;
|
|
import net.optifine.CustomItems;
|
|
import net.optifine.CustomSky;
|
|
import net.optifine.SmartLeaves;
|
|
|
|
public class TextureUtils {
|
|
|
|
public static String fixResourcePath(String path, String basePath) {
|
|
String s = "assets/minecraft/";
|
|
|
|
if (path.startsWith(s)) {
|
|
path = path.substring(s.length());
|
|
return path;
|
|
} else if (path.startsWith("./")) {
|
|
path = path.substring(2);
|
|
|
|
if (!basePath.endsWith("/")) {
|
|
basePath = basePath + "/";
|
|
}
|
|
|
|
path = basePath + path;
|
|
return path;
|
|
} else {
|
|
if (path.startsWith("/~")) {
|
|
path = path.substring(1);
|
|
}
|
|
|
|
String s1 = "mcpatcher/";
|
|
|
|
if (path.startsWith("~/")) {
|
|
path = path.substring(2);
|
|
path = s1 + path;
|
|
return path;
|
|
} else if (path.startsWith("/")) {
|
|
path = s1 + path.substring(1);
|
|
return path;
|
|
} else {
|
|
return path;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static String getBasePath(String path) {
|
|
int i = path.lastIndexOf(47);
|
|
return i < 0 ? "" : path.substring(0, i);
|
|
}
|
|
|
|
public static void registerResourceListener() {
|
|
IResourceManager iresourcemanager = Minecraft.getMinecraft().getResourceManager();
|
|
if (iresourcemanager instanceof IReloadableResourceManager) {
|
|
IReloadableResourceManager ireloadableresourcemanager = (IReloadableResourceManager) iresourcemanager;
|
|
IResourceManagerReloadListener iresourcemanagerreloadlistener = new IResourceManagerReloadListener() {
|
|
public void onResourceManagerReload(IResourceManager var1) {
|
|
TextureUtils.resourcesReloaded(var1);
|
|
}
|
|
};
|
|
ireloadableresourcemanager.registerReloadListener(iresourcemanagerreloadlistener);
|
|
}
|
|
}
|
|
|
|
public static void resourcesReloaded(IResourceManager rm) {
|
|
if (Minecraft.getMinecraft().getTextureMapBlocks() != null) {
|
|
Config.dbg("*** Reloading custom textures ***");
|
|
CustomSky.reset();
|
|
// TextureAnimations.reset();
|
|
// update();
|
|
// NaturalTextures.update();
|
|
BetterGrass.update();
|
|
BetterSnow.update();
|
|
// TextureAnimations.update();
|
|
// CustomColors.update();
|
|
CustomSky.update();
|
|
// RandomEntities.update();
|
|
CustomItems.updateModels();
|
|
// CustomEntityModels.update();
|
|
// Shaders.resourcesReloaded();
|
|
// Lang.resourcesReloaded();
|
|
// Config.updateTexturePackClouds();
|
|
SmartLeaves.updateLeavesModels();
|
|
// CustomPanorama.update();
|
|
// CustomGuis.update();
|
|
// LayerMooshroomMushroom.update();
|
|
// CustomLoadingScreens.update();
|
|
// CustomBlockLayers.update();
|
|
Minecraft.getMinecraft().getTextureManager().tick();
|
|
}
|
|
}
|
|
}
|