Fixed Monolith rendering.

This commit is contained in:
Waterpicker 2021-04-29 08:33:37 -05:00
parent 434bf4d990
commit d322088e81
3 changed files with 11 additions and 7 deletions

View file

@ -22,13 +22,14 @@ public class MonolithModel extends EntityModel<MonolithEntity> {
private final ModelPart body;
public MonolithModel(EntityRendererFactory.Context context) {
super(MyRenderLayer::getMonolith);
this.body = context.getPart(ModEntityModelLayers.MONOLITH);
}
public static TexturedModelData getTexturedModelData() {
ModelData modelData = new ModelData();
ModelPartData modelPartData = modelData.getRoot();
modelPartData.addChild("body", ModelPartBuilder.create().uv(0, 0).cuboid(-23.5F, -23.5F, 0, 49.0F, 4.90F, 1.0F, false), ModelTransform.NONE);
modelPartData.addChild("body", ModelPartBuilder.create().uv(0, 0).cuboid(-23.5F, -23.5F, 0, 49.0F, 49.0F, 1.0F, false), ModelTransform.NONE);
return TexturedModelData.of(modelData, 102, 51);
}

View file

@ -6,18 +6,21 @@ import java.util.stream.Stream;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.entity.MobEntityRenderer;
import org.dimdev.dimdoors.entity.MonolithEntity;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
import org.jetbrains.annotations.Nullable;
@Environment(EnvType.CLIENT)
public class MonolithRenderer extends MobEntityRenderer<MonolithEntity, MonolithModel> {
public static final List<RenderLayer> MONOLITH_TEXTURES = Stream.of(
public static final List<Identifier> MONOLITH_TEXTURES = Stream.of(
new Identifier("dimdoors:textures/mob/monolith/monolith0.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith1.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith2.png"),
@ -37,7 +40,7 @@ public class MonolithRenderer extends MobEntityRenderer<MonolithEntity, Monolith
new Identifier("dimdoors:textures/mob/monolith/monolith16.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith17.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith18.png")
).map(MyRenderLayer::getMonolith).collect(Collectors.toList());
).collect(Collectors.toList());
private static MonolithModel INSTANCE;
@ -63,6 +66,6 @@ public class MonolithRenderer extends MobEntityRenderer<MonolithEntity, Monolith
@Override
public Identifier getTexture(MonolithEntity entity) {
return null;
return MonolithRenderer.MONOLITH_TEXTURES.get(entity.getTextureState());
}
}

View file

@ -1,5 +1,6 @@
package org.dimdev.dimdoors.particle.client;
import org.dimdev.dimdoors.client.MonolithModel;
import org.dimdev.dimdoors.client.MonolithRenderer;
import org.jetbrains.annotations.Nullable;
@ -15,6 +16,7 @@ import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Vec3f;
import net.fabricmc.api.EnvType;
@ -22,12 +24,10 @@ import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public class MonolithParticle extends Particle {
private final RenderLayer layer;
public MonolithParticle(ClientWorld world, double x, double y, double z) {
super(world, x, y, z);
this.maxAge = 30;
this.layer = MonolithRenderer.MONOLITH_TEXTURES.get(14);
}
@Override
@ -39,7 +39,7 @@ public class MonolithParticle extends Particle {
matrices.scale(-1.0F, -1.0F, 1.0F);
matrices.translate(0.0D, -1.1009999513626099D, 1.5D);
VertexConsumerProvider.Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers();
VertexConsumer vertexConsumer2 = immediate.getBuffer(this.layer);
VertexConsumer vertexConsumer2 = immediate.getBuffer(MonolithRenderer.getInstance().getLayer(new Identifier("dimdoors:textures/mob/monolith/monolith14.png")));
MonolithRenderer.getInstance().render(matrices, vertexConsumer2, 0xf000f0, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F);
immediate.draw();
}