mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-01 11:36:43 +01:00
Adjust butterfly brightness to account for their surroundings. (should prevent them from glowing)
This commit is contained in:
parent
95da60c24c
commit
dc29729419
1 changed files with 23 additions and 0 deletions
|
@ -1,20 +1,26 @@
|
|||
package com.minelittlepony.unicopia.client.render.entity;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.minelittlepony.unicopia.client.render.RenderLayers;
|
||||
import com.minelittlepony.unicopia.entity.mob.ButterflyEntity;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.model.ModelData;
|
||||
import net.minecraft.client.model.ModelPart;
|
||||
import net.minecraft.client.model.ModelPartBuilder;
|
||||
import net.minecraft.client.model.ModelPartData;
|
||||
import net.minecraft.client.model.ModelTransform;
|
||||
import net.minecraft.client.model.TexturedModelData;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.render.VertexConsumer;
|
||||
import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||
import net.minecraft.client.render.entity.model.EntityModel;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class ButterflyEntityRenderer extends MobEntityRenderer<ButterflyEntity, ButterflyEntityRenderer.ButterflyEntityModel> {
|
||||
|
@ -45,6 +51,23 @@ public class ButterflyEntityRenderer extends MobEntityRenderer<ButterflyEntity,
|
|||
super.setupTransforms(entity, matrices, age, yaw, ticks);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
protected RenderLayer getRenderLayer(ButterflyEntity entity, boolean showBody, boolean translucent, boolean showOutline) {
|
||||
if (showBody && !translucent) {
|
||||
BlockPos pos = entity.getBlockPos();
|
||||
if (getBlockLight(entity, pos) < 7 && getSkyLight(entity, pos) < 15) {
|
||||
return RenderLayers.getEntityTranslucent(getTexture(entity));
|
||||
}
|
||||
}
|
||||
return super.getRenderLayer(entity, showBody, translucent, showOutline);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getSkyLight(ButterflyEntity entity, BlockPos pos) {
|
||||
return (int)(super.getSkyLight(entity, pos) * (entity.getWorld() instanceof ClientWorld w ? w.getSkyBrightness(MinecraftClient.getInstance().getTickDelta()) : 1));
|
||||
}
|
||||
|
||||
public static class ButterflyEntityModel extends EntityModel<ButterflyEntity> {
|
||||
private final ModelPart body;
|
||||
private final ModelPart leftWing;
|
||||
|
|
Loading…
Reference in a new issue