@Override public IBakedModel handleItemState(ItemStack itemStack, World world, EntityLivingBase entity) { return new PerspectiveMapWrapper(handleDisplayStandType(DisplayStand.getInstance().getDisplayStandType(itemStack), true, EnumFacing.DOWN), ModelHelpers.DEFAULT_PERSPECTIVE_TRANSFORMS); } }
@Override public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity) { FluidStack fluidStack = FluidUtil.getFluidContained(stack); return new PerspectiveMapWrapper(new ItemModel(fluidStack), ModelManager.getDefaultBlockState()); } }
@Override public IBakedModel handleBlockState(IBlockState state, EnumFacing side, long rand) { return new PerspectiveMapWrapper(handleDisplayStandType(((IExtendedBlockState) state).getValue(DisplayStand.TYPE), state.getValue(DisplayStand.AXIS_X), state.getValue(DisplayStand.FACING)), ModelHelpers.DEFAULT_PERSPECTIVE_TRANSFORMS); }
@Override public IBakedModel handleItemState(ItemStack itemStack, World world, EntityLivingBase entity) { List<BakedQuad> quads = Lists.newLinkedList(); // Add regular quads for variable quads.addAll(this.baseModel.getQuads(null, getRenderingSide(), 0L)); // Add variable type overlay IVariableFacade variableFacade = ItemVariable.getInstance().getVariableFacade(itemStack); variableFacade.addModelOverlay(this, quads); return new PerspectiveMapWrapper(new SimpleBakedModel(quads, ModelHelpers.EMPTY_FACE_QUADS, this.isAmbientOcclusion(), this.isGui3d(), this.getParticleTexture(), this.getItemCameraTransforms(), this.getOverrides()), ModelHelpers.DEFAULT_PERSPECTIVE_TRANSFORMS_ITEM); }
private IBakedModel bakeModel(IAlleleButterflySpecies species, float size) { ImmutableMap<String, String> textures = ImmutableMap.of("butterfly", species.getItemTexture()); if (modelButterfly == null) { try { modelButterfly = ModelLoaderRegistry.getModel(new ResourceLocation(Constants.MOD_ID, "item/butterfly_ge")); } catch (Exception e) { throw new RuntimeException(e); } } IModel model = modelButterfly.retexture(textures); IBakedModel bakedModel = model.bake(ModelRotation.X0_Y0, DefaultVertexFormats.ITEM, DefaultTextureGetter.INSTANCE); float scale = 1F / 16F; IModelState state = ModelUtil.loadModelState(new ResourceLocation(Constants.MOD_ID, "models/item/butterfly_ge")); state = new ModelStateComposition(state, new SimpleModelState(getTransformations(size))); return new PerspectiveMapWrapper(new TRSRBakedModel(bakedModel, -0.03125F, 0.25F - size * 0.37F, -0.03125F + size * scale, size * 1.4F), state); }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { if (bakedQuads.isEmpty()) { IModel crateModel = ModelLoaderRegistry.getModelOrMissing(new ResourceLocation(Constants.MOD_ID + ":item/crate-filled")); IBakedModel bakedModel = crateModel.bake(ModelManager.getInstance().getDefaultItemState(), DefaultVertexFormats.ITEM, DefaultTextureGetter.INSTANCE); //Set the crate color index to 100 for (BakedQuad quad : bakedModel.getQuads(null, null, 0L)) { bakedQuads.add(new BakedQuad(quad.getVertexData(), 100, quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat())); } } IBakedModel model; List<BakedQuad> quads = new LinkedList<>(bakedQuads); IBakedModel contentModel = getCustomContentModel(); if (contentModel == null) { model = new ModelCrateBaked(quads, contained); } else { quads.addAll(contentModel.getQuads(null, null, 0)); model = new ModelCrateBaked(quads); } return new PerspectiveMapWrapper(model, ModelManager.getInstance().getDefaultItemState()); } }