Borrowing it
Nothing to install: this file belongs to hexianWeb/Third-Person-MC. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/hexianWeb/Third-Person-MC/main/.agent/skills/vtj-input-system/SKILL.mdgit clone --depth 1 https://github.com/hexianWeb/Third-Person-MCWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/hexianweb/third-person-mc/vtj-input-system)<a href="https://agentmods.dev/skills/hexianweb/third-person-mc/vtj-input-system"><img src="https://agentmods.dev/badge/skills/hexianweb/third-person-mc/vtj-input-system/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/hexianweb/third-person-mc/vtj-input-system"><img src="https://agentmods.dev/badge/skills/hexianweb/third-person-mc/vtj-input-system.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00036 | $0.02341 |
| Opus 5.5 | $0.00014 | $0.00936 |
| Sonnet 5.5 | $0.00007 | $0.00468 |
| Haiku 4.5 | $0.00004 | $0.00234 |
Grade A, and why
vtj-input-system scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 310 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vite-threejs Input System
Overview
本项目使用 三层输入系统:
- IMouse:鼠标/触摸位置追踪,提供多种坐标格式
- InputManager:键盘和鼠标按钮状态,通过 mitt 发送事件
- PointerLockManager:FPS 风格鼠标锁定
核心原则:永远使用 iMouse.normalizedMouse 进行射线拾取,永远通过 mitt 事件消费输入。
When to Use
- 实现鼠标交互(点击、拖拽、悬停)
- 添加键盘控制
- 进行射线拾取(Raycasting)
- 处理相机控制输入
输入架构
Window Events (keydown/mousemove/etc)
│
▼
┌────────────────────────────────────────────────────────────┐
│ Input Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ IMouse │ │ InputManager │ │ PointerLock │ │
│ │ (positions) │ │ (key states) │ │ (FPS mouse) │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
└─────────┼─────────────────┼─────────────────┼──────────────┘
│ │ │
▼ ▼ ▼
┌────────────────────────────────────────────────────────────┐
│ mitt Event Bus │
│ input:update, input:jump, input:mouse_move │
└────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────┐
│ Consumer Layer │
│ Player, CameraRig, BlockInteraction, BlockRaycaster │
└────────────────────────────────────────────────────────────┘
IMouse:位置追踪
访问方式
// 通过 Experience 单例访问
this.iMouse = this.experience.iMouse
可用属性
| 属性 | 类型 | 说明 |
|---|---|---|
normalizedMouse |
Vector2 |
NDC 坐标 [-1, 1],用于射线拾取 |
mouse |
Vector2 |
左下角原点坐标 |
mouseDOM |
Vector2 |
DOM 坐标 (clientX, clientY) |
mouseScreen |
Vector2 |
屏幕中心相对坐标 |
mouseDOMDelta |
Vector2 |
帧间位移 |
isMouseMoving |
boolean |
鼠标是否移动中 |
射线拾取(MANDATORY PATTERN)
// ✅ ALWAYS: 使用 iMouse.normalizedMouse
const ndc = this.iMouse.normalizedMouse
this.raycaster.setFromCamera(ndc, this.camera)
const intersects = this.raycaster.intersectObjects(this.scene.children)
// ❌ NEVER: 手动计算 NDC
const x = (event.clientX / window.innerWidth) * 2 - 1 // 禁止!
const y = -(event.clientY / window.innerHeight) * 2 + 1 // 禁止!
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 310 lines · 36 tokens per session scan A c00923eacaf0
vtj-input-system is a skill published in the GitHub repository hexianWeb/Third-Person-MC (197 stars, last pushed 3mo ago), licensed MIT. It adds 36 tokens to every session and 2,341 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
super-claudio-brothers
Generate a unique themed Super Claudio Brothers platformer. Creates a custom level, colour palette, enemy look, and Claudio costume. Every run produces a different game.
events-system
Use this skill when working with the Phaser 4 event system. Covers EventEmitter, scene events, game events, custom events, and event-driven communication. Triggers on: events, on, emit, EventEmitter, scene events, listeners.
game-object-components
Use this skill when working with Phaser 4 game object components and the mixin system. Covers Transform, Alpha, Tint, Origin, Depth, Flip, Mask, GetBounds, Lighting, and other shared component behaviors. Triggers on: component, mixin, transform, mask, bounds, lighting.
geometry-and-math
Use this skill when using Phaser 4 math and geometry utilities. Covers vectors, rectangles, circles, triangles, polygons, random number generation, angles, distance, interpolation, and snapping. Triggers on: Vector2, Rectangle, Circle, math, distance, angle, random, lerp.
particles
Use this skill when creating particle effects in Phaser 4. Covers ParticleEmitter, emission zones, death zones, particle properties, textures, gravity wells, and particle movement. Triggers on: particles, emitter, particle effect, explosion, fire, smoke.
physics-arcade
Use this skill when using Arcade Physics in Phaser 4. Covers enabling physics, velocity, acceleration, gravity, collisions, overlap, world bounds, physics groups, static bodies, and collision categories. Triggers on: physics, arcade, velocity, gravity, collide, overlap, bounce, physics body.