@Override public ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { JsonObject obj = json.getAsJsonObject(); JsonElement texElem = obj.get(tag); if(texElem != null && texElem.isJsonObject()) { ItemCameraTransforms itemCameraTransforms = context.deserialize(texElem.getAsJsonObject(), ItemCameraTransforms.class); return PerspectiveMapWrapper.getTransforms(itemCameraTransforms); } return ImmutableMap.of(); } }
@Override public IBakedModel bake( IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter ) { IBakedModel baseModel = this.getBaseModel( state, format, bakedTextureGetter ); TextureAtlasSprite texDark = bakedTextureGetter.apply( TEXTURE_DARK ); TextureAtlasSprite texMedium = bakedTextureGetter.apply( TEXTURE_MEDIUM ); TextureAtlasSprite texBright = bakedTextureGetter.apply( TEXTURE_BRIGHT ); ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> map = PerspectiveMapWrapper.getTransforms( state ); return new ColorApplicatorBakedModel( baseModel, map, texDark, texMedium, texBright ); }
@Override public IBakedModel bake( IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter ) { IBakedModel baseModel; try { baseModel = ModelLoaderRegistry.getModel( BASE_MODEL ).bake( state, format, bakedTextureGetter ); } catch( Exception e ) { throw new RuntimeException( e ); } ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transforms = PerspectiveMapWrapper.getTransforms( state ); return new ItemEncodedPatternBakedModel( baseModel, transforms ); }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transforms = PerspectiveMapWrapper.getTransforms(state); IModelState transformState = new SimpleModelState(transforms); IBakedModel baseModelBaked = ModelLoaderRegistry.getModelOrMissing(baseModel) .bake(transformState, DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()); ImmutableMap.Builder<String, IBakedModel> bakedBlockBuilder = ImmutableMap.builder(); for(Map.Entry<String, ModelResourceLocation> e : blockModels.entrySet()) { IModel model = ModelLoaderRegistry.getModelOrMissing(e.getValue()); if(model != ModelLoaderRegistry.getMissingModel()) bakedBlockBuilder.put(e.getKey(), model.bake(transformState, DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter())); } ImmutableMap.Builder<String, IBakedModel> bakedItemBuilder = ImmutableMap.builder(); for(Map.Entry<String, ModelResourceLocation> e : itemModels.entrySet()) { IModel model = ModelLoaderRegistry.getModelOrMissing(e.getValue()); if(model != ModelLoaderRegistry.getMissingModel()) bakedItemBuilder.put(e.getKey(), model.bake(transformState, DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter())); } return new SpecialFlowerBakedModel(baseModelBaked, bakedBlockBuilder.build(), bakedItemBuilder.build(), transforms); }
builder.putAll(PerspectiveMapWrapper.getTransforms(state)); builder2.putAll(PerspectiveMapWrapper.getTransforms(state)); builder2.putAll(transforms);
.blockCenterToCorner(new TRSRTransformation(new Vector3f(offsetX / 16f, -offsetY / 16f, 0), null, null, null))); ImmutableMap<TransformType, TRSRTransformation> map = PerspectiveMapWrapper.getTransforms(state);
public void setModelState(@Nullable IModelState modelState) { this.modelState = modelState; this.transforms = PerspectiveMapWrapper.getTransforms(modelState); }
public BakedEvalExpandModel(IModel model, IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter, IBlockState defaultBlockState, IVarExpander expander) { super(model.bake(state, format, bakedTextureGetter), PerspectiveMapWrapper.getTransforms(state)); this.expander = expander; this.defaultBlockState = defaultBlockState; }
public BakedEvalModel(IModel model, IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter, ITransformEvaluator evaluator) { super(model.bake(state, format, bakedTextureGetter), PerspectiveMapWrapper.getTransforms(state)); this.model = model; this.originalState = state; this.format = format; this.bakedTextureGetter = bakedTextureGetter; this.evaluator = evaluator; }
private static IModelState mergeStates(IModelState state, IModelState secondaryState) { Map<TransformType, TRSRTransformation> tMap = Maps.newHashMap(); TRSRTransformation guiTransformation = secondaryState.apply(Optional.of(TransformType.GUI)).get(); tMap.putAll(PerspectiveMapWrapper.getTransforms(state)); tMap.put(TransformType.GUI, guiTransformation); return new SimpleModelState(ImmutableMap.copyOf(tMap)); }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transformMap = PerspectiveMapWrapper.getTransforms(state); ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder(); IBakedModel coreModel = new ItemLayerModel(ImmutableList.copyOf(locations)).bake(state, format, bakedTextureGetter); builder.addAll(coreModel.getQuads(null, null, 0)); TextureAtlasSprite someTexture = bakedTextureGetter.apply(locations.get(0)); return new SteamExosuitItemBakedModel(this, builder.build(), someTexture, format, Maps.immutableEnumMap(transformMap), Maps.newHashMap()); } }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transformMap = PerspectiveMapWrapper.getTransforms(state); ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder(); IBakedModel coreModel = new ItemLayerModel(ImmutableList.copyOf(locations)).bake(state, format, bakedTextureGetter); builder.addAll(coreModel.getQuads(null, null, 0)); TextureAtlasSprite someTexture = bakedTextureGetter.apply(locations.get(0)); return new LeatherExosuitItemBakedModel(this, builder.build(), someTexture, format, Maps.immutableEnumMap(transformMap), Maps.newHashMap()); } }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transformMap = PerspectiveMapWrapper.getTransforms(state); ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder(); IBakedModel coreModel = new ItemLayerModel(ImmutableList.of(core, head)).bake(state, format, bakedTextureGetter); builder.addAll(coreModel.getQuads(null, null, 0)); TextureAtlasSprite headTexture = bakedTextureGetter.apply(head); return new SteamToolBakedModel(this, builder.build(), headTexture, format, Maps.immutableEnumMap(transformMap), Maps.newHashMap()); }
public static SimpleModelState loadModelState(ResourceLocation location) { return new SimpleModelState(PerspectiveMapWrapper.getTransforms(loadTransformFromJson(location))); }
public static SimpleModelState loadModelState(ResourceLocation location) { return new SimpleModelState(PerspectiveMapWrapper.getTransforms(loadTransformFromJson(location))); }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transformMap = PerspectiveMapWrapper.getTransforms(state); ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder(); IBakedModel model = (new ItemLayerModel(ImmutableList.of(EMPTY))).bake(state, format, bakedTextureGetter); builder.addAll(model.getQuads(null, null, 0)); TextureAtlasSprite particleSprite = model.getParticleTexture(); return new BakedItemModel(builder.build(), particleSprite, Maps.immutableEnumMap(transformMap), new FluidContainerItemOverrideList(state, format, transformMap, bakedTextureGetter)); }
@Override public IBakedModel bake(final IModelState state, final VertexFormat format, final Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { final Map<TransformType, IBakedModel> bakedModels = Maps.transformValues(models, location -> bakeModel(location, state, format, bakedTextureGetter)); IModel missing = ModelLoaderRegistry.getMissingModel(); IBakedModel bakedMissing = missing.bake(missing.getDefaultState(), format, bakedTextureGetter); final IBakedModel bakedBase; if (base.isPresent()) { bakedBase = bakeModel(base.get(), state, format, bakedTextureGetter); } else { bakedBase = bakedMissing; } return new PerspectiveAwareBakedModel( bakedModels, bakedBase, PerspectiveMapWrapper.getTransforms(state)); }
@Override public IBakedModel bake(final IModelState state, final VertexFormat format, final Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { final Map<BlockRenderLayer, IBakedModel> bakedModels = Maps.transformValues(models, location -> bakeModel(location, state, format, bakedTextureGetter)); IModel missing = ModelLoaderRegistry.getMissingModel(); IBakedModel bakedMissing = missing.bake(missing.getDefaultState(), format, bakedTextureGetter); final IBakedModel bakedBase; if (base.isPresent()) { bakedBase = bakeModel(base.get(), state, format, bakedTextureGetter); } else { bakedBase = bakedMissing; } return new MultiLayerBakedModel( bakedModels, bakedBase, bakedMissing, PerspectiveMapWrapper.getTransforms(state)); }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { final Map<ResourceLocation, IBakedModel> bakedSubModels = Maps.newHashMap(); for (ResourceLocation subModel : modelData.getAllModels()) { IModel model = ModelLoaderRegistry.getModelOrLogError(subModel, "Couldn't load sub-model dependency: " + subModel); bakedSubModels.put(subModel, model.bake(new ModelStateComposition(state, model.getDefaultState()), format, bakedTextureGetter)); } final IModel baseModel; if (base.isPresent()) { ResourceLocation baseLocation = base.get(); baseModel = ModelLoaderRegistry.getModelOrLogError(baseLocation, "Couldn't load base-model dependency: " + baseLocation); } else { baseModel = ModelLoaderRegistry.getMissingModel(); } final IBakedModel bakedBaseModel = baseModel.bake(new ModelStateComposition(state, baseModel.getDefaultState()), format, bakedTextureGetter); return new BakedModel(bakedBaseModel, modelData, bakedSubModels, PerspectiveMapWrapper.getTransforms(state)); }
@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); }