/** * Copyright (c) Lambda Innovation, 2013-2016 * This file is part of the AcademyCraft mod. * https://github.com/LambdaInnovation/AcademyCraft * Licensed under GPLv3, see project root for more information. */ package cn.academy.core.entity; import cn.lambdalib.util.deprecated.ViewOptimize.IAssociatePlayer; import net.minecraft.util.Vec3; /** * States used in RenderRay classes. * The view direction of the ray is determined by the rotationYaw and rotationPitch. * @author WeAthFolD */ public interface IRay extends IAssociatePlayer { void onRenderTick(); Vec3 getPosition(); /** * @return If this ray is spawned at player's hand and need to be treated differently for 1st and 3rd person */ boolean needsViewOptimize(); double getLength(); //---Advanced parameters /** * @return An alpha multiplyer. Can be used for blend out. */ double getAlpha(); /** * @return The alpha multiplyer of the glow texture. */ double getGlowAlpha(); /** * Get the advance distance of the ray starting point. Can be used for blend out. */ double getStartFix(); /** * Get the current ray width multiplyer. Used for blending */ double getWidth(); }