Перейти к содержимому
Mineforgian

Capture Spawn

Capture mobs into a Pokeball-like item

Загрузки
58
Подписчики
0
Обновлён
7 июля 2026 г.
Лицензия
MIT

Опубликован 26 апреля 2026 г.

CaptureSpawn

A Paper plugin that lets you “capture mobs into a Pokéball” and release them via right-click or a physics-based throw. It preserves entity NBT as much as possible and simulates more realistic projectile behavior (gravity / bounces / rolling / lifetime).

  • Runtime: Paper 26.1
  • Required dependencies: PacketEvents, NBTAPI (Item-NBT-API plugin)
  • License: MIT (LICENSE)

Features

  • Capture & release with compressed NBT storage (GZIP + Base64) and necessary sanitization to reduce size risks
  • THROW mode: behaves like a real projectile; only captures on collision; can bounce/roll on ground; auto-recovers on timeout
  • Pokéball item supports custom player-head texture and configurable name/lore/glow/custom-model-data
  • Lore enrichment for common mobs (villager profession/level, sheep color, cat variant, wolf collar/tamed, etc.)
  • Protection-friendly: optional “build permission” checks for capture/release to prevent abuse in protected areas
  • Persistent local logs with time-range queries (CO-like time filtering)

Quick Start

  1. Install dependencies: PacketEvents, NBTAPI (Item-NBT-API plugin)
  2. Put CaptureSpawn into plugins/ and start the server once to generate config
  3. Edit plugins/CaptureSpawn/config.yml

Default interaction mode is THROW (can be switched back to DIRECT in config).

Commands

  • /capturespawn reload reload config and listeners
  • /capturespawn log <player|me> <from> [to] [release|capture|all] [limit]
    • Time examples: 10m 1h 2d 1w 1h30m
    • Examples:
      • /capturespawn log me 10m all 50
      • /capturespawn log steve 3d 1d release 100

Permissions

  • capturespawn.capture capture permission
  • capturespawn.release release permission
  • capturespawn.bypass.blacklist bypass capture blacklist
  • capturespawn.craft craft permission (optional)
  • capturespawn.reload reload permission (default: OP)
  • capturespawn.log log query permission (default: OP)

Config Notes

plugins/CaptureSpawn/config.yml (high-level)

  • interaction-mode: THROW | DIRECT
  • throw.physics.*: air drag / bounce restitution / friction / max bounces / min-speed threshold
  • storage.nbt-format: GZIP_BASE64 + storage.max-bytes: control payload size
  • protection.capture-requires-build / protection.release-requires-build: build-based checks
  • logging.*: local log enablement, filename pattern, flush interval, queue limit

Local Logs

Logs are written daily by default:

  • plugins/CaptureSpawn/logs/ball-YYYY-MM-DD.log

The log format is TSV (one record per line) and includes timestamp, player, action, entity type, world/coords, result, etc.

Compatibility

  • Dependencies:
    • PacketEvents (used for THROW mode packet-based triggering)
    • NBTAPI (Item-NBT-API plugin for reading/writing entity NBT)

Ченджлог

0.2.3Релиз26.1, 26.1.1, 26.1.2 · 7 июля 2026 г.

CaptureSpawn 0.2.3 更新日志 / Changelog

  • 适配 Paper 26.1

  • Supports Paper 26.1

  • 新增 Folia 支持,同一个 jar 可同时兼容 Paper 与 Folia

  • Added Folia support, with a single jar compatible with both Paper and Folia

  • 重构插件调度系统,统一封装全局、区域、实体与异步任务调度

  • Refactored the plugin scheduler system with unified global, region, entity, and async task handling

  • 将投掷捕捉、掉落放出与后台日志等流程迁移到新的兼容调度实现

  • Migrated throwing capture, dropped-ball release, and background logging to the new compatible scheduler implementation

  • 修复 Folia 下同步 teleport() 导致的线程报错,改为安全的异步位移处理

  • Fixed Folia threading errors caused by synchronous teleport(), replacing them with safe async teleport handling

  • 完善线程安全边界,将玩家操作、世界操作与实体操作切回各自安全线程

  • Improved thread-safety boundaries by routing player, world, and entity operations back to their proper safe threads

  • 为保护系统补充基于 Location 的安全检查入口,降低跨线程访问实体位置的风险

  • Added Location-based protection checks to reduce risks from cross-thread entity location access

  • 修复 Debug 消息可能在非玩家线程发送的问题

  • Fixed an issue where debug messages could be sent from a non-player thread

  • 修复 Folia 下精灵球命中生物后无法捕捉的问题

  • Fixed an issue where entities could not be captured on Folia after being hit by the ball

  • 修复 EntityScheduler 重复任务初始延迟为 0 时触发的异常

  • Fixed the exception caused by EntityScheduler repeated tasks using an initial delay of 0

  • 现在捕捉、放出、动画与抛物线投掷效果都可在 Folia 下正常运行

  • Capture, release, animation, and projectile arc behavior now work correctly on Folia

0.2.2Релиз26.1, 26.1.1, 26.1.2 · 31 мая 2026 г.

CaptureSpawn v0.2.2 — 更新日志

🛡️ 更改修复方案:CSE-001「附魔轮迴」漏洞

CSE-001 — Enchantment Carousel Exploit

修复了通过"丢装备给怪物 → 精灵球捕捉 → 释放 → 击杀"循环来复制装备及放大附魔的漏洞。

修复方案:

  • 释放实体时,新增 stripNaturalEquipment() 在应用精灵球 NBT 之前,先清除实体身上服务器后处理生成的装备数据
  • 精灵球中保存的原始装备(HandItems / ArmorItems)会被完整恢复,保留抓捕时的原始附魔
  • 移除了释放后的 HandDropChances / ArmorDropChances,使装备无法通过击杀 100% 掉落
  • 释放后的实体强制禁止捡起地面物品(CanPickUpLoot = false

⚙️ 配置变更

  • release.consume-filled 默认值从 falsetrue,释放后消耗精灵球,增加经济成本
0.2.1Альфа26.1, 26.1.1, 26.1.2 · 31 мая 2026 г.

CaptureSpawn v0.2.1 — 更新日志

🐛 Bug 修复

  • **修复了CSE-001 **
    • 阻止了玩家通过"丢装备给怪物 → 捕捉 → 释放 → 击杀"循环来复制带有高附魔装备的漏洞
    • 释放生物时,其 HandItemsArmorItemsHandDropChancesArmorDropChancesAttributes 等 NBT 数据现已被清理,防止装备和掉落概率被继承
    • 释放后的生物强制禁止捡起地上的物品(CanPickUpLoot = false

⚙️ 配置变更

  • release.consume-filled 默认值从 false 改为 true,释放生物后消耗精灵球,增加循环利用的经济成本

🧹 其他

  • 优化了部分 debug 日志输出
项目 内容
CVE 风格编号 CSE-001
中文名 「附魔轮迴」漏洞
英文名 Enchantment Carousel Exploit
影响版本 ≤ v0.2.0
修复版本 v0.2.1
漏洞类型 装备复制 / 附魔放大
严重程度 🔴 高危
26.4.1Релиз26.1, 26.1.1, 26.1.2 · 26 апреля 2026 г.

Capture Spawn 26.4.1

First Version!!!

Комментарии

Загружаем…