Java源码示例:net.minecraft.entity.mob.GuardianEntity

示例1
public SeaponyRenderer(EntityRenderDispatcher manager) {
    super(manager);

    features.clear();
    ponyRenderer = new Proxy<GuardianEntity, GuardianPonyModel>(features, manager, ModelType.GUARDIAN) {
        @Override
        public Identifier findTexture(GuardianEntity entity) {
            return SEAPONY;
        }

        @Override
        protected HeldItemFeature<GuardianEntity, GuardianPonyModel> createItemHoldingLayer() {
            return new GlowingItemFeature<>(this);
        }
    };
    model = ponyRenderer.getModel();
}
 
示例2
@Override
public void render(GuardianEntity entity, float entityYaw, float tickDelta, MatrixStack stack, VertexConsumerProvider renderContext, int lightUv) {
    IResizeable resize = (IResizeable)entity;
    EntityDimensions origin = resize.getCurrentSize();

    // aligns the beam to their horns
    resize.setCurrentSize(EntityDimensions.changing(origin.width, entity instanceof ElderGuardianEntity ? 6 : 3));

    super.render(entity, entityYaw, tickDelta, stack, renderContext, lightUv);

    // The beams in RenderGuardian leave lighting disabled, so we need to change it back. #MojangPls
    RenderSystem.enableLighting();
    resize.setCurrentSize(origin);
}
 
示例3
@Override
@Nonnull
public final Identifier getTexture(GuardianEntity entity) {
    return ponyRenderer.getTextureFor(entity);
}
 
示例4
@Override
protected void scale(GuardianEntity entity, MatrixStack stack, float ticks) {
    ponyRenderer.scale(entity, stack, ticks);
}
 
示例5
@Override
protected void scale(GuardianEntity entity, MatrixStack stack, float ticks) {
    super.scale(entity, stack, ticks);
    stack.scale(2.35F, 2.35F, 2.35F);
}
 
示例6
@Override
public void setAngles(GuardianEntity entity, float move, float swing, float ticks, float headYaw, float headPitch) {
    mixin().setAngles(entity, move, swing, ticks, headYaw, headPitch);
}
 
示例7
@Override
public void animateModel(GuardianEntity entity, float move, float swing, float float_3) {
    mixin().animateModel(entity, move, swing, float_3);
}
 
示例8
@Override
public void copyStateTo(EntityModel<GuardianEntity> model) {
    mixin().copyStateTo(model);
}
 
示例9
@Override
public SeaponyModel<GuardianEntity> mixin() {
    return mixin;
}