Clear the cable bus model cache when the resource pack is reloaded (otherwise we might return stale models with incorrect texture sprite coordinates).

This commit is contained in:
Sebastian Hartte
2020-06-16 17:34:56 +02:00
parent 27c5498935
commit a005f1c2e8
3 changed files with 34 additions and 2 deletions
@@ -363,4 +363,9 @@ public class CableBusBakedModel implements IBakedModel
{
return ItemOverrideList.EMPTY;
}
public static void clearCache() {
CABLE_MODEL_CACHE.clear();
}
}
@@ -0,0 +1,27 @@
package appeng.client.render.cablebus;
import appeng.core.features.registries.PartModels;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonObject;
import net.minecraft.resources.IResourceManager;
import net.minecraftforge.client.model.IModelLoader;
public class CableBusModelLoader implements IModelLoader<CableBusModel> {
private final PartModels partModels;
public CableBusModelLoader(PartModels partModels) {
this.partModels = partModels;
}
@Override
public void onResourceManagerReload(IResourceManager resourceManager) {
CableBusBakedModel.clearCache();
}
@Override
public CableBusModel read(JsonDeserializationContext deserializationContext, JsonObject modelContents) {
return new CableBusModel(partModels);
}
}
+2 -2
View File
@@ -31,7 +31,7 @@ import appeng.capabilities.Capabilities;
import appeng.client.ClientHelper;
import appeng.client.render.DummyFluidItemModel;
import appeng.client.render.SimpleModelLoader;
import appeng.client.render.cablebus.CableBusModel;
import appeng.client.render.cablebus.CableBusModelLoader;
import appeng.client.render.cablebus.P2PTunnelFrequencyModel;
import appeng.client.render.crafting.CraftingCubeModelLoader;
import appeng.client.render.model.*;
@@ -208,7 +208,7 @@ public final class AppEng
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "part_plane"), PlaneModelLoader.INSTANCE);
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "crafting_cube"), CraftingCubeModelLoader.INSTANCE);
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "uvlightmap"), UVLModelLoader.INSTANCE);
addBuiltInModel("cable_bus", () -> new CableBusModel((PartModels) Api.INSTANCE.registries().partModels()));
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "cable_bus"), new CableBusModelLoader((PartModels) Api.INSTANCE.registries().partModels()));
}