/* * Minecraft Forge * Copyright (c) 2016-2019. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation version 2.1 * of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ package net.minecraftforge.client.event; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumHand; import net.minecraftforge.eventbus.api.Cancelable; import net.minecraftforge.eventbus.api.Event; import javax.annotation.Nonnull; /** * This event is fired on the {@link net.minecraftforge.common.MinecraftForge#EVENT_BUS} * whenever a hand is rendered in first person. * Canceling the event causes the hand to not render. * TODO This may get merged in 11 with RenderHandEvent to make a generic hand rendering */ @Cancelable public class RenderSpecificHandEvent extends Event { private final EnumHand hand; private final float partialTicks; private final float interpolatedPitch; private final float swingProgress; private final float equipProgress; @Nonnull private final ItemStack stack; public RenderSpecificHandEvent(EnumHand hand, float partialTicks, float interpolatedPitch, float swingProgress, float equipProgress, @Nonnull ItemStack stack) { this.hand = hand; this.partialTicks = partialTicks; this.interpolatedPitch = interpolatedPitch; this.swingProgress = swingProgress; this.equipProgress = equipProgress; this.stack = stack; } public EnumHand getHand() { return hand; } public float getPartialTicks() { return partialTicks; } /** * @return The interpolated pitch of the player entity */ public float getInterpolatedPitch() { return interpolatedPitch; } /** * @return The swing progress of the hand being rendered */ public float getSwingProgress() { return swingProgress; } /** * @return The progress of the equip animation. 1.0 is fully equipped. */ public float getEquipProgress() { return equipProgress; } /** * @return The ItemStack to be rendered, or null. */ @Nonnull public ItemStack getItemStack() { return stack; } }