package sourcecoded.quantum.sceptre.focus; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.Vec3; import net.minecraft.world.World; import sourcecoded.quantum.api.block.Colourizer; import sourcecoded.quantum.api.sceptre.ISceptreFocus; public class FocusHelium implements ISceptreFocus { @Override public String getFocusIdentifier() { return "QA|helium"; } @Override public String getName() { return "qa.sceptre.focus.helium"; } @Override public String[] getLore(ItemStack item) { return new String[]{"qa.sceptre.focus.helium.lore.0"}; } @Override public boolean canBeUsed(EntityPlayer player, ItemStack itemstack) { return true; } @Override public EnumChatFormatting getNameColour() { return EnumChatFormatting.BLUE; } @Override public void onActivated(ItemStack item) { } @Override public void onDeactivated(ItemStack item) { } @Override public void onClickBegin(EntityPlayer player, ItemStack item, World world) { } @Override public void onClickEnd(EntityPlayer player, ItemStack item, World world, int ticker) { Vec3 lookVec = player.getLook(1.0F); double tick = Math.min(5D, Math.max((item.getItem().getMaxItemUseDuration(item) - ticker) / 10D, 0.6D)); double force = 2.5D * tick; player.motionX += force * lookVec.xCoord; player.motionY += force * lookVec.yCoord; player.motionZ += force * lookVec.zCoord; player.fallDistance = 0F; } @Override public boolean onBlockClick(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { return false; } @Override public void onItemTick(ItemStack item) { } @Override public void onUsingTick(ItemStack item) { } // @Override // public AbstractGesture[] getAvailableGestures() { // return null; // } @Override public float[] getRGB() { return Colourizer.LIGHT_BLUE.rgb; } }