{"id":28926789,"url":"https://github.com/obsidianplusplus/antiautofish","last_synced_at":"2026-04-22T21:38:36.413Z","repository":{"id":298775663,"uuid":"916558645","full_name":"obsidianplusplus/AntiAutoFish","owner":"obsidianplusplus","description":"AntiAutoFish 旨在检测并阻止服务器中的自动化钓鱼行为。 | AntiAutoFish is a Minecraft Bukkit/Spigot plugin designed to detect and prevent automated fishing on servers, ensuring fair gameplay.","archived":false,"fork":false,"pushed_at":"2025-01-14T10:35:05.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-12T21:59:07.531Z","etag":null,"topics":["anti","antifish","automation","bukkit","cheat","detection","fairplay","fishing","gameplay","macro","mending","minecraft","moderation","plugin","prevention","server","spigot","tripwire","utility"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/obsidianplusplus.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-14T10:34:45.000Z","updated_at":"2025-01-14T10:36:08.000Z","dependencies_parsed_at":"2025-06-12T21:59:12.589Z","dependency_job_id":"911eea5c-f669-4448-96f0-cfb6075ee7d2","html_url":"https://github.com/obsidianplusplus/AntiAutoFish","commit_stats":null,"previous_names":["obsidianplusplus/antiautofish"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/obsidianplusplus/AntiAutoFish","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsidianplusplus%2FAntiAutoFish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsidianplusplus%2FAntiAutoFish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsidianplusplus%2FAntiAutoFish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsidianplusplus%2FAntiAutoFish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obsidianplusplus","download_url":"https://codeload.github.com/obsidianplusplus/AntiAutoFish/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsidianplusplus%2FAntiAutoFish/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261289525,"owners_count":23136079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anti","antifish","automation","bukkit","cheat","detection","fairplay","fishing","gameplay","macro","mending","minecraft","moderation","plugin","prevention","server","spigot","tripwire","utility"],"created_at":"2025-06-22T12:12:07.445Z","updated_at":"2026-04-22T21:38:36.400Z","avatar_url":"https://github.com/obsidianplusplus.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"🎣 **AntiAutoFish Plugin for Bukkit/Spigot** 🎣\n\n🛡️ 旨在维护服务器的公平钓鱼环境，阻止玩家使用自动化手段。\n\n## ✨ 核心功能与原理 ✨\n\n* **🚫 阻止绊线钓鱼机:**  插件会检查鱼钩是否投掷到绊线上方，这是一种常见的自动化钓鱼方式。**原理：** 检测鱼钩上方方块是否为绊线，若是则取消事件。\n* **👁️ 基于视角的反作弊检测:**  插件会监控玩家钓鱼时的视角变化（水平和垂直角度）。如果玩家在多次钓鱼中保持完全相同的视角，则会被标记为可疑。 **原理：**  记录玩家的 Yaw 和 Pitch 值，并与之前的记录进行比较。\n* **📉 移除钓鱼经验:**  为了削弱自动化钓鱼的收益，所有通过钓鱼获得的经验值都会被移除。 **原理：**  在钓鱼成功事件中将经验值设置为 0。\n* **🗑️ 移除经验修补物品:**  插件会自动移除通过钓鱼获得的带有“经验修补”附魔的物品。**原理：**  检查钓鱼获得的物品是否包含经验修补附魔，若有则移除该物品。\n\n## ⚙️ 工作流程 ⚙️\n\n1. **👂 事件监听:** 插件像一个细心的观察者，时刻监听着服务器中玩家的钓鱼行为 (`PlayerFishEvent`)。\n2. **🔍 状态判断:** 当玩家成功钓到鱼时，插件会进行详细的检查。\n3. **📍 位置检测:** 插件会快速检查鱼钩周围的环境，特别是上方是否存在绊线。\n4. **📐 角度追踪:**  插件会记录玩家当前的视角角度，并与之前的角度进行对比。\n5. **🚩 标记可疑:** 如果玩家的视角长时间保持不变，或者使用了绊线，插件会将其标记为可疑行为。\n6. **🚫 阻止和惩罚:**  对于可疑行为，插件会取消钓鱼事件，移除经验，并可能发送警告消息。对于多次违规的玩家，可以考虑更严厉的措施。\n\n## 🛠️ 使用方法 🛠️\n\n1. 将 `AntiAutoFish.jar` 文件放入你的 Bukkit/Spigot 服务器的 `plugins` 文件夹中。\n2. 🔄 重启或重新加载你的服务器。\n\n## 🔩 配置 🔩\n\n目前，插件的一些核心行为可以通过修改源代码进行配置，例如：\n\n* **违规阈值:**  决定了玩家在被警告前允许的可疑行为次数。 (可在 `FishingListener.java` 中调整 `antiCheatThreshold` 变量)\n\n## ⏭️ 未来展望 ⏭️\n\n* ✨ 这是一个最终化的插件，在没有得到作弊形式升级的情况下，他不会有任何变化。\n\n## ⚠️  请注意 ⚠️\n\n* 插件旨在减少自动化钓鱼，但可能无法完全消除所有作弊手段。\n* 请根据你的服务器情况调整配置，避免误判正常玩家。\n* 插件的功能可能会略微影响正常的钓鱼体验，请谨慎部署。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobsidianplusplus%2Fantiautofish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobsidianplusplus%2Fantiautofish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobsidianplusplus%2Fantiautofish/lists"}