More Rendering Fixes

This commit is contained in:
Sebastian Hartte
2020-06-07 15:56:48 +02:00
parent 2dc2f90d5b
commit 1c7a28c606
29 changed files with 300 additions and 217 deletions
@@ -160,7 +160,7 @@ public class AutoRotatingBakedModel implements IBakedModel
if( forward == null || up == null )
{
return this.parent.getQuads( state, side, rand );
return this.parent.getQuads( state, side, rand, extraData );
}
// The model has other properties than just forward/up, so it would cause our cache to inadvertendly also cache
@@ -1,34 +0,0 @@
package appeng.client.render.model;
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;
public class AutoRotatingModel implements IModelGeometry<AutoRotatingModel> {
private final BlockModel blockModel;
public AutoRotatingModel(BlockModel blockModel) {
this.blockModel = blockModel;
}
@Override
public IBakedModel bake(IModelConfiguration owner, ModelBakery bakery, Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform, ItemOverrideList overrides, ResourceLocation modelLocation) {
return new AutoRotatingBakedModel(
this.blockModel.bakeModel(bakery, this.blockModel, spriteGetter, modelTransform, modelLocation, true)
);
}
@Override
public Collection<Material> getTextures(IModelConfiguration owner, Function<ResourceLocation, IUnbakedModel> modelGetter, Set<Pair<String, String>> missingTextureErrors) {
return this.blockModel.getTextures(modelGetter, missingTextureErrors);
}
}
@@ -1,24 +0,0 @@
package appeng.client.render.model;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonObject;
import net.minecraft.client.renderer.model.BlockModel;
import net.minecraft.resources.IResourceManager;
import net.minecraftforge.client.model.IModelLoader;
public class AutoRotatingModelLoader implements IModelLoader<AutoRotatingModel> {
public static final AutoRotatingModelLoader INSTANCE = new AutoRotatingModelLoader();
@Override
public void onResourceManagerReload(IResourceManager resourceManager) {
}
@Override
public AutoRotatingModel read(JsonDeserializationContext deserializationContext, JsonObject modelContents) {
modelContents.remove("loader");
BlockModel blockModel = deserializationContext.deserialize(modelContents, BlockModel.class);
return new AutoRotatingModel(blockModel);
}
}