private Set<ResourceLocation> getVariantsTextureLocations()
{
Set<ResourceLocation> set = Sets.<ResourceLocation>newHashSet();
List<ModelResourceLocation> list = Lists.newArrayList(this.variants.keySet());
Collections.sort(list, new Comparator<ModelResourceLocation>()
{
public int compare(ModelResourceLocation p_compare_1_, ModelResourceLocation p_compare_2_)
{
return p_compare_1_.toString().compareTo(p_compare_2_.toString());
}
});
for (ModelResourceLocation modelresourcelocation : list)
{
ModelBlockDefinition.Variants modelblockdefinition$variants = (ModelBlockDefinition.Variants)this.variants.get(modelresourcelocation);
for (ModelBlockDefinition.Variant modelblockdefinition$variant : modelblockdefinition$variants.getVariants())
{
ModelBlock modelblock = (ModelBlock)this.models.get(modelblockdefinition$variant.getModelLocation());
if (modelblock == null)
{
LOGGER.warn("Missing model for: " + modelresourcelocation);
}
else
{
set.addAll(this.getTextureLocations(modelblock));
}
}
}
set.addAll(LOCATIONS_BUILTIN_TEXTURES);
return set;
}
java类net.minecraft.client.renderer.block.model.ModelBlock的实例源码
ModelBakery.java 文件源码
项目:BaseClient
阅读 18
收藏 0
点赞 0
评论 0
ModelBakery.java 文件源码
项目:BaseClient
阅读 18
收藏 0
点赞 0
评论 0
private void loadModelsCheck()
{
this.loadModels();
for (ModelBlock modelblock : this.models.values())
{
modelblock.getParentFromMap(this.models);
}
ModelBlock.checkModelHierarchy(this.models);
}
ModelBakery.java 文件源码
项目:BaseClient
阅读 22
收藏 0
点赞 0
评论 0
private ResourceLocation getParentLocation(ResourceLocation p_177576_1_)
{
for (Entry<ResourceLocation, ModelBlock> entry : this.models.entrySet())
{
ModelBlock modelblock = (ModelBlock)entry.getValue();
if (modelblock != null && p_177576_1_.equals(modelblock.getParentLocation()))
{
return (ResourceLocation)entry.getKey();
}
}
return null;
}
ModelBakery.java 文件源码
项目:BaseClient
阅读 19
收藏 0
点赞 0
评论 0
private boolean hasItemModel(ModelBlock p_177581_1_)
{
if (p_177581_1_ == null)
{
return false;
}
else
{
ModelBlock modelblock = p_177581_1_.getRootModel();
return modelblock == MODEL_GENERATED || modelblock == MODEL_COMPASS || modelblock == MODEL_CLOCK;
}
}
ModelBakery.java 文件源码
项目:BaseClient
阅读 18
收藏 0
点赞 0
评论 0
private boolean isCustomRenderer(ModelBlock p_177587_1_)
{
if (p_177587_1_ == null)
{
return false;
}
else
{
ModelBlock modelblock = p_177587_1_.getRootModel();
return modelblock == MODEL_ENTITY;
}
}
ModelBakery.java 文件源码
项目:BaseClient
阅读 16
收藏 0
点赞 0
评论 0
private void bakeItemModels()
{
for (ResourceLocation resourcelocation : this.itemLocations.values())
{
ModelBlock modelblock = (ModelBlock)this.models.get(resourcelocation);
if (this.hasItemModel(modelblock))
{
ModelBlock modelblock1 = this.makeItemModel(modelblock);
if (modelblock1 != null)
{
modelblock1.name = resourcelocation.toString();
}
this.models.put(resourcelocation, modelblock1);
}
else if (this.isCustomRenderer(modelblock))
{
this.models.put(resourcelocation, modelblock);
}
}
for (TextureAtlasSprite textureatlassprite : this.sprites.values())
{
if (!textureatlassprite.hasAnimationMetadata())
{
textureatlassprite.clearFramesTextureData();
}
}
}
CustomItemProperties.java 文件源码
项目:Backmemed
阅读 15
收藏 0
点赞 0
评论 0
private static IBakedModel makeBakedModel(TextureMap p_makeBakedModel_0_, ItemModelGenerator p_makeBakedModel_1_, String[] p_makeBakedModel_2_, boolean p_makeBakedModel_3_)
{
String[] astring = new String[p_makeBakedModel_2_.length];
for (int i = 0; i < astring.length; ++i)
{
String s = p_makeBakedModel_2_[i];
astring[i] = StrUtils.removePrefix(s, "textures/");
}
ModelBlock modelblock = makeModelBlock(astring);
ModelBlock modelblock1 = p_makeBakedModel_1_.makeItemModel(p_makeBakedModel_0_, modelblock);
IBakedModel ibakedmodel = bakeModel(p_makeBakedModel_0_, modelblock1, p_makeBakedModel_3_);
return ibakedmodel;
}
ModelLoader.java 文件源码
项目:CustomWorldGen
阅读 22
收藏 0
点赞 0
评论 0
public VanillaModelWrapper(ResourceLocation location, ModelBlock model, boolean uvlock, ModelBlockAnimation animation)
{
this.location = location;
this.model = model;
this.uvlock = uvlock;
this.animation = animation;
}
ModelLoader.java 文件源码
项目:CustomWorldGen
阅读 18
收藏 0
点赞 0
评论 0
public IBakedModel bake(IModelState state, final VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter)
{
if(!Attributes.moreSpecific(format, Attributes.DEFAULT_BAKED_FORMAT))
{
throw new IllegalArgumentException("can't bake vanilla models to the format that doesn't fit into the default one: " + format);
}
ModelBlock model = this.model;
if(model == null) return getMissingModel().bake(getMissingModel().getDefaultState(), format, bakedTextureGetter);
List<TRSRTransformation> newTransforms = Lists.newArrayList();
for(int i = 0; i < model.getElements().size(); i++)
{
BlockPart part = model.getElements().get(i);
newTransforms.add(animation.getPartTransform(state, part, i));
}
ItemCameraTransforms transforms = model.getAllTransforms();
Map<TransformType, TRSRTransformation> tMap = Maps.newHashMap();
tMap.putAll(IPerspectiveAwareModel.MapWrapper.getTransforms(transforms));
tMap.putAll(IPerspectiveAwareModel.MapWrapper.getTransforms(state));
IModelState perState = new SimpleModelState(ImmutableMap.copyOf(tMap));
if(hasItemModel(model))
{
return new ItemLayerModel(model).bake(perState, format, bakedTextureGetter);
}
if(isCustomRenderer(model)) return new BuiltInModel(transforms, model.createOverrides());
return bakeNormal(model, perState, state, newTransforms, format, bakedTextureGetter, uvlock);
}
ModelLoader.java 文件源码
项目:CustomWorldGen
阅读 24
收藏 0
点赞 0
评论 0
@Override
public VanillaModelWrapper smoothLighting(boolean value)
{
if(model.ambientOcclusion == value)
{
return this;
}
ModelBlock newModel = new ModelBlock(model.getParentLocation(), model.getElements(), model.textures, value, model.isGui3d(), model.getAllTransforms(), Lists.newArrayList(model.getOverrides()));
newModel.parent = model.parent;
newModel.name = model.name;
return new VanillaModelWrapper(location, newModel, uvlock, animation);
}