private CompositeBakedModel getModel(IFloatingFlower.IslandType islandType, String identifier) { ModelManager modelManager = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getModelManager(); if(CACHE.contains(islandType, identifier)) { return CACHE.get(islandType, identifier); } else { IBakedModel islandModel; try { islandModel = ModelLoaderRegistry.getModel(BotaniaAPIClient.getRegisteredIslandTypeModels().get(islandType)).bake(TRSRTransformation.identity(), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()); } catch (Exception e) { islandModel = modelManager.getMissingModel(); } IBakedModel flowerModel; if(identifier.startsWith(MUNDANE_PREFIX)) { int meta = Integer.parseInt(identifier.substring(identifier.indexOf(MUNDANE_PREFIX) + MUNDANE_PREFIX.length())); flowerModel = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(new ItemStack(ModBlocks.shinyFlower, 1, meta)); } else { ItemStack stack = ItemBlockSpecialFlower.ofType(identifier); IBakedModel specialFlowerModel = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(stack); flowerModel = specialFlowerModel.getOverrides().handleItemState(specialFlowerModel, stack, null, null); } // Enhance! CompositeBakedModel model = new CompositeBakedModel(flowerModel, islandModel); Botania.LOGGER.debug("Cached floating flower model for islandtype {} and flowertype {}", islandType, identifier); CACHE.put(islandType, identifier, model); return model; } }
@Override public ImmutableList<ItemOverride> getOverrides() { return parent.getOverrides(); } }
@Override public ItemOverrideList getOverrides() { return new ItemOverrideList(); }
public ItemOverrideList getOverrides() { return new ItemOverrideList(Collections.emptyList()); }
@Override public IBakedModel handleItemState( IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity ) { boolean shiftHeld = Keyboard.isKeyDown( Keyboard.KEY_LSHIFT ) || Keyboard.isKeyDown( Keyboard.KEY_RSHIFT ); if( shiftHeld ) { ItemEncodedPattern iep = (ItemEncodedPattern) stack.getItem(); ItemStack output = iep.getOutput( stack ); if( !output.isEmpty() ) { IBakedModel realModel = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel( output ); // Give the item model a chance to handle the overrides as well realModel = realModel.getOverrides().handleItemState( realModel, output, world, entity ); return new ShiftHoldingModelWrapper( realModel ); } } return ItemEncodedPatternBakedModel.this.baseModel.getOverrides().handleItemState( originalModel, stack, world, entity ); } }
CustomOverrideList() { super( ItemEncodedPatternBakedModel.this.baseModel.getOverrides().getOverrides() ); }
public ItemOverrideList getOverrides() { return new ItemOverrideList(Collections.emptyList()); }
@Nonnull @Override public IBakedModel handleItemState(@Nonnull IBakedModel originalModel, ItemStack stack, @Nonnull World world, @Nonnull EntityLivingBase entity) { IBakedModel baked = model.original.getOverrides().handleItemState(originalModel, stack, world, entity); return new TRSRBakedModel(baked, model.transformation); } }
@Override public ItemOverrideList getOverrides() { return new ItemOverrideList(base.getOverrides().getOverrides()) { @Override public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity) { CraftingPattern pattern = ItemPattern.getPatternFromCache(world, stack); if (canDisplayOutput(stack, pattern)) { return Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(pattern.getOutputs().get(0), world, entity); } return super.handleItemState(originalModel, stack, world, entity); } }; }
@Override public @Nonnull IBakedModel handleItemState(@Nonnull IBakedModel originalModel, @Nonnull ItemStack stack, @Nullable World world, @Nullable EntityLivingBase entity) { if (originalModel != RotatingSmartItemModel.this) { return originalModel; } IBakedModel newBase = parent.getOverrides().handleItemState(parent, stack, world, entity); if (parent != newBase) { return new RotatingSmartItemModel(newBase, speed); } return RotatingSmartItemModel.this; } };
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { final IModel untexturedModel = getModel(this.untexturedModel); final IBakedModel untexturedBakedModel = untexturedModel.bake(new ModelStateComposition(state, untexturedModel.getDefaultState()), format, bakedTextureGetter); final IModel texturedModel = getModel(this.texturedModel); final IBakedModel texturedBakedModel = texturedModel.bake(new ModelStateComposition(state, texturedModel.getDefaultState()), format, bakedTextureGetter); final ItemOverrideList overrides = new TexturedItemOverrides(untexturedBakedModel, texturedModel, texturedBakedModel.getOverrides().getOverrides(), textures, state, format, bakedTextureGetter); return new BakedModel(untexturedBakedModel, PerspectiveMapWrapper.getTransforms(state), overrides); }
@Nonnull @Override public IBakedModel handleItemState(@Nonnull IBakedModel originalModel, ItemStack stack, @Nullable World world, @Nullable EntityLivingBase entity) { IBakedModel baked = model.original.getOverrides().handleItemState(originalModel, stack, world, entity); return new BakedModelTRSR(baked, model.transformation); } }
public void addBakedModel(IBakedModel model, @Nonnull ItemStack stack, boolean allFacesToGeneral) { model = model.getOverrides().handleItemState(model, stack, (World) null, (EntityLivingBase) null); addItemBakedModel(model, allFacesToGeneral); }
model = model.getOverrides().handleItemState( model, is, player.getEntityWorld(), player );
public PrintBaked( final String itname, final IPatternItem item, final ItemStack stack ) { itemName = itname; final ItemStack blockItem = item.getPatternedItem( stack, false ); IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel( blockItem ); model = model.getOverrides().handleItemState( model, blockItem, null, null ); for ( final EnumFacing face : EnumFacing.VALUES ) { list.addAll( model.getQuads( null, face, 0 ) ); } list.addAll( model.getQuads( null, null, 0 ) ); }
private IBakedModel getBakedModel() { ItemModelMesher itemModelMesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher(); ItemStack itemStack = element.getIngredient(); IBakedModel bakedModel = itemModelMesher.getItemModel(itemStack); return bakedModel.getOverrides().handleItemState(bakedModel, itemStack, null, null); }
@Override public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity) { CraftingPattern pattern = ItemPattern.getPatternFromCache(world, stack); if (canDisplayOutput(stack, pattern)) { return Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(pattern.getOutputs().get(0), world, entity); } return super.handleItemState(originalModel, stack, world, entity); } };
@Override public IBakedModel handleItemState(ItemStack itemStack, World world, EntityLivingBase entity) { IBlockState blockState = ItemFacade.getInstance().getFacadeBlock(itemStack); if(blockState == null) { return new FacadeModel(emptyModel, itemStack, world, entity); } IBakedModel bakedModel = RenderHelpers.getBakedModel(blockState); bakedModel = bakedModel.getOverrides().handleItemState(bakedModel, ItemFacade.getInstance().getFacadeBlockItem(itemStack), world, entity); return new FacadeModel(bakedModel, itemStack, world, entity); }
try { bakedModel = itemModelMesher.getItemModel(itemStack); bakedModel = bakedModel.getOverrides().handleItemState(bakedModel, itemStack, null, null); Preconditions.checkNotNull(bakedModel, "IBakedModel must not be null."); } catch (Throwable throwable) {
if ( !ModUtil.isEmpty( is ) ) final IBakedModel secondModel = getOverrides( model ).handleItemState( model, is, Minecraft.getMinecraft().theWorld, Minecraft.getMinecraft().thePlayer );