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;
|
package com.minelittlepony.unicopia.client.render.entity;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.client.render.RenderLayers;
|
import com.minelittlepony.unicopia.client.render.RenderLayers;
|
||||||
import com.minelittlepony.unicopia.entity.mob.ButterflyEntity;
|
import com.minelittlepony.unicopia.entity.mob.ButterflyEntity;
|
||||||
|
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.model.ModelData;
|
import net.minecraft.client.model.ModelData;
|
||||||
import net.minecraft.client.model.ModelPart;
|
import net.minecraft.client.model.ModelPart;
|
||||||
import net.minecraft.client.model.ModelPartBuilder;
|
import net.minecraft.client.model.ModelPartBuilder;
|
||||||
import net.minecraft.client.model.ModelPartData;
|
import net.minecraft.client.model.ModelPartData;
|
||||||
import net.minecraft.client.model.ModelTransform;
|
import net.minecraft.client.model.ModelTransform;
|
||||||
import net.minecraft.client.model.TexturedModelData;
|
import net.minecraft.client.model.TexturedModelData;
|
||||||
|
import net.minecraft.client.render.RenderLayer;
|
||||||
import net.minecraft.client.render.VertexConsumer;
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
import net.minecraft.client.render.entity.EntityRendererFactory;
|
import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||||
import net.minecraft.client.render.entity.MobEntityRenderer;
|
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||||
import net.minecraft.client.render.entity.model.EntityModel;
|
import net.minecraft.client.render.entity.model.EntityModel;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
|
import net.minecraft.client.world.ClientWorld;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
|
||||||
public class ButterflyEntityRenderer extends MobEntityRenderer<ButterflyEntity, ButterflyEntityRenderer.ButterflyEntityModel> {
|
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);
|
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> {
|
public static class ButterflyEntityModel extends EntityModel<ButterflyEntity> {
|
||||||
private final ModelPart body;
|
private final ModelPart body;
|
||||||
private final ModelPart leftWing;
|
private final ModelPart leftWing;
|
||||||
|
|
Loading…
Reference in a new issue