diff --git a/src/main/java/net/minecraftforge/client/model/IModelWithSubmodels.java b/src/main/java/net/minecraftforge/client/model/IModelWithSubmodels.java new file mode 100644 index 000000000..f259f9e94 --- /dev/null +++ b/src/main/java/net/minecraftforge/client/model/IModelWithSubmodels.java @@ -0,0 +1,12 @@ +package net.minecraftforge.client.model; + +import com.google.common.collect.ImmutableSet; + +/** + * Created by rainwarrior on 2/2/16. + */ +public interface IModelWithSubmodels> extends IModel +{ + M setDefaultSubmodelEnabled (boolean value); + M setSubmodelsEnabled(ImmutableSet submodelNames, boolean show); +} diff --git a/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java b/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java index eb5a01544..873bceae9 100644 --- a/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java +++ b/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java @@ -68,7 +68,7 @@ public class ItemLayerModel implements IRetexturableModel return TRSRTransformation.identity(); } - public ItemLayerModel retexture(ImmutableMap textures) + public IModel retexture(ImmutableMap textures) { ImmutableList.Builder builder = ImmutableList.builder(); for(int i = 0; i < textures.size() + this.textures.size(); i++) diff --git a/src/main/java/net/minecraftforge/client/model/ModelDynBucket.java b/src/main/java/net/minecraftforge/client/model/ModelDynBucket.java index 5855334f5..983b2854a 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelDynBucket.java +++ b/src/main/java/net/minecraftforge/client/model/ModelDynBucket.java @@ -140,7 +140,7 @@ public class ModelDynBucket implements IModel, IModelCustomData, * If the fluid can't be found, water is used */ @Override - public ModelDynBucket process(ImmutableMap customData) + public IModel process(ImmutableMap customData) { String fluidName = customData.get("fluid"); Fluid fluid = FluidRegistry.getFluid(fluidName); @@ -171,7 +171,7 @@ public class ModelDynBucket implements IModel, IModelCustomData, * If no liquid is given a hardcoded variant for the bucket is used. */ @Override - public ModelDynBucket retexture(ImmutableMap textures) + public IModel retexture(ImmutableMap textures) { ResourceLocation base = baseLocation; diff --git a/src/main/java/net/minecraftforge/client/model/ModelFluid.java b/src/main/java/net/minecraftforge/client/model/ModelFluid.java index eaa286f2e..3337dabcc 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelFluid.java +++ b/src/main/java/net/minecraftforge/client/model/ModelFluid.java @@ -397,7 +397,7 @@ public class ModelFluid implements IModelCustomData } @Override - public ModelFluid process(ImmutableMap customData) + public IModel process(ImmutableMap customData) { if(!customData.containsKey("fluid")) return this; diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoader.java b/src/main/java/net/minecraftforge/client/model/ModelLoader.java index 9f4c37bb7..b565ce713 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoader.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoader.java @@ -591,7 +591,7 @@ public class ModelLoader extends ModelBakery } @Override - public VanillaModelWrapper retexture(ImmutableMap textures) + public IModel retexture(ImmutableMap textures) { if (textures.isEmpty()) return this; diff --git a/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java b/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java index e7e584b46..8a67e2a75 100644 --- a/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java +++ b/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java @@ -94,7 +94,7 @@ public class MultiLayerModel implements IModelCustomData } @Override - public MultiLayerModel process(ImmutableMap customData) + public IModel process(ImmutableMap customData) { ImmutableMap.Builder, ModelResourceLocation> builder = ImmutableMap.builder(); for(String key : customData.keySet()) diff --git a/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java b/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java index e01554ccd..3dfbcc041 100644 --- a/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java +++ b/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java @@ -580,7 +580,7 @@ public class B3DLoader implements ICustomModelLoader } @Override - public Wrapper retexture(ImmutableMap textures) + public IModel retexture(ImmutableMap textures) { ImmutableMap.Builder builder = ImmutableMap.builder(); for(Map.Entry e : this.textures.entrySet()) @@ -602,7 +602,7 @@ public class B3DLoader implements ICustomModelLoader } @Override - public Wrapper process(ImmutableMap customData) + public IModel process(ImmutableMap customData) { return this; } @@ -712,7 +712,7 @@ public class B3DLoader implements ICustomModelLoader } @Override - public ModelWrapper retexture(ImmutableMap textures) + public IModel retexture(ImmutableMap textures) { ImmutableMap.Builder builder = ImmutableMap.builder(); for(Map.Entry e : this.textures.entrySet()) @@ -734,7 +734,7 @@ public class B3DLoader implements ICustomModelLoader } @Override - public ModelWrapper process(ImmutableMap data) + public IModel process(ImmutableMap data) { if(data.containsKey("mesh")) { diff --git a/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java b/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java index 7c1d03f56..b98872146 100644 --- a/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java +++ b/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java @@ -32,16 +32,7 @@ import net.minecraft.client.resources.model.IBakedModel; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.IFlexibleBakedModel; -import net.minecraftforge.client.model.IModelCustomData; -import net.minecraftforge.client.model.IModelPart; -import net.minecraftforge.client.model.IModelState; -import net.minecraftforge.client.model.IPerspectiveAwareModel; -import net.minecraftforge.client.model.IRetexturableModel; -import net.minecraftforge.client.model.ISmartBlockModel; -import net.minecraftforge.client.model.ISmartItemModel; -import net.minecraftforge.client.model.ModelLoader; -import net.minecraftforge.client.model.TRSRTransformation; +import net.minecraftforge.client.model.*; import net.minecraftforge.client.model.pipeline.LightUtil; import net.minecraftforge.client.model.pipeline.UnpackedBakedQuad; import net.minecraftforge.common.property.IExtendedBlockState; @@ -131,14 +122,14 @@ public class OBJModel implements IRetexturableModel, IModelCustomData< } @Override - public OBJModel process(ImmutableMap customData) + public IModel process(ImmutableMap customData) { OBJModel ret = new OBJModel(this.matLib, this.modelLocation, new CustomData(this.customData, customData)); return ret; } @Override - public OBJModel retexture(ImmutableMap textures) + public IModel retexture(ImmutableMap textures) { OBJModel ret = new OBJModel(this.matLib.makeLibWithReplacements(textures), this.modelLocation, this.customData); return ret;