Re-enabled the encoded pattern rendering hack that shows the crafting/processing output's item model when the player is holding shift (but only in the GUI).

This commit is contained in:
Sebastian Hartte
2020-06-16 17:39:53 +02:00
parent d9f039e1f4
commit d1622afa38
9 changed files with 231 additions and 77 deletions
@@ -0,0 +1,36 @@
package appeng.client.render.crafting;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.renderer.model.*;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.IModelConfiguration;
import net.minecraftforge.client.model.geometry.IModelGeometry;
import java.util.Collection;
import java.util.Set;
import java.util.function.Function;
/**
* This model is used to provide the {@link EncodedPatternBakedModel}.
*/
public class EncodedPatternModel implements IModelGeometry<EncodedPatternModel> {
private final ResourceLocation baseModel;
public EncodedPatternModel(ResourceLocation baseModel) {
this.baseModel = baseModel;
}
@Override
public Collection<Material> getTextures(IModelConfiguration owner, Function<ResourceLocation, IUnbakedModel> modelGetter, Set<Pair<String, String>> missingTextureErrors) {
return modelGetter.apply(baseModel).getTextures(modelGetter, missingTextureErrors);
}
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform, ItemOverrideList overrides, ResourceLocation modelLocation) {
IBakedModel baseModel = bakery.getBakedModel(this.baseModel, modelTransform, spriteGetter);
return new EncodedPatternBakedModel( baseModel);
}
}