Yamipa 是一款 Spigot 插件,允许玩家在 Minecraft 服务器的任何表面上放置图片(甚至是动态的!),而无需安装任何本地客户端模组。它专为性能和兼容性设计,即使配置最低的服务器也能流畅运行。
plugins 目录中,就像安装其他插件一样。安装完成!Yamipa 开箱即用。默认情况下,它会在 plugins/YamipaPlugin 目录下创建以下文件和目录:
cache: 包含缓存图像的目录,用于加速渲染过程。请勿修改其内容。images: 这是您存放想要放置在 Minecraft 世界中的图像文件的目录。images.dat: 存储服务器中所有已放置图像的列表和属性(例如坐标)的文件。请勿修改其内容。您可以通过在插件配置目录中创建 config.yml 文件来更改这些文件的路径。如果不指定,以下是默认配置值:
verbose: false # 设置为 "true" 以启用更详细的日志记录
animate-images: true # 设置为 "false" 以禁用 GIF 支持
images-path: images # 图像目录的路径
cache-path: cache # 缓存目录的路径
data-path: images.dat # 已放置图像数据库文件的路径
allowed-paths: null # 设置为正则表达式以限制玩家可访问的图像
max-image-dimension: 30 # 图像允许的最大宽度或高度(以方块为单位)变量 allowed-paths 是一个正则表达式,用于确定玩家是否被允许查看或下载图像文件。如果相对于 images 目录的期望路径与此表达式匹配,则允许玩家继续操作。
allowed-paths 是空字符串 ("") 或 null,则玩家可以读取任何图像文件或下载到 images 目录内的任何路径。- `#player#`: 玩家名称- `#uuid#`: 玩家 UUID(带连字符)例如,如果您希望服务器中的每个玩家都有自己的子目录来存储只有他们自己能访问的文件,外加一个共享的公共目录,可以使用以下 allowed-paths 值:
^(private/#player#|public)/这样,玩家 "john" 可以查看位于 private/john/something.jpg 的图像文件,但 "jane" 则不能。
重要提示:这些限制也适用于 NPC、命令方块或服务器控制台等其他实体。但是,在非玩家上下文中,特殊令牌将始终匹配(例如,#player# 将被解释为 .+)。
某些权限插件(如 LuckPerms)允许服务器管理员为实体分配键值对,就像分配权限一样。这对于为不同玩家或组授予不同能力非常有用。
Yamipa 会查找以下变量,如果找到,它们将覆盖适用于所有玩家的默认配置值:
| 变量 (键) | 覆盖项 | 描述 |
| :--- | :--- | :--- |
| yamipa-allowed-paths | allowed-paths | 限制可访问 images 目录中哪些路径的正则表达式 |
| yamipa-max-image-dimension | max-image-dimension | 此玩家或组可使用的图像和图像物品的最大宽度或高度 |
例如,如果您想仅为 "test" 玩家限制图像大小为 5x5 方块,可以运行以下命令:
# 使用 LuckPerms
/lp user test meta set yamipa-max-image-dimension 5
# 使用 GroupManager
/manuaddv test yamipa-max-image-dimension 5/image clear <x z world> <r> [<placed-by>]: 移除原点半径 r 方块内的所有已放置图像。/image describe: 显示已放置图像的详细信息。/image download <url> <filename>: 从 URL 下载图像并放入 images 目录。/image give <player> <filename> <amount> <w> [<h>] [<flags>]: 给予玩家可以稍后放置的图像物品。/image list [<page>]: 列出 images 目录中所有可用的文件。/image place <filename> <w> [<h>] [<flags>]: 启动 UI 对话框以放置一个宽 w 高 h 方块的图像。/image place-at <x y z world> <face> <filename> <w> [<h>] [<flags>]: 在给定坐标处放置图像。/image remove: 启动 UI 对话框以从世界中移除已放置的图像(不删除图像文件)。/image remove-at <x y z world> <face>: 移除给定坐标处的图像。/image top: 列出放置图像最多的玩家。/image/image download "https://www.example.com/a/b/c/1234.jpg" "imagename.jpg"/image give TestPlayer "test.jpg" 10 3 5/image give TestPlayer "test.jpg" 10 3 5 -DROP/image place "imagename.jpg" 3/image place "imagename.jpg" 3 2/image place "imagename.jpg" 3 2 +GLOW/image place-at 100 200 300 world NORTH "imagename.jpg" 3/image remove/image remove-at 100 200 300 world NORTH/image clear 0 0 world 5/image clear 50 70 world_nether 100 EvilPlayer/image clear 0 0 world 9999999 00000000-0000-0000-0000-000000000000如果您希望对可以使用特定命令集的玩家进行更精细的控制,权限是您的不二之选!
| 命令 | 默认 | 描述 |
| :--- | :--- | :--- |
| yamipa.command.clear | OPs | 使用 /image clear 命令 |
| yamipa.command.describe | OPs | 使用 /image describe 命令 |
| yamipa.command.download | OPs | 使用 /image download 命令 |
| yamipa.command.give | OPs | 使用 /image give 命令 |
| yamipa.command.list | OPs | 使用 /image list 命令 |
| yamipa.command.place | OPs | 使用 /image place 命令 |
| yamipa.command.remove | OPs | 使用 /image remove 命令 |
| yamipa.command.remove.own | OPs | 同上,但仅限同一玩家放置的图像 |
| yamipa.command.top | OPs | 使用 /image top 命令 |
| yamipa.item.place | 所有玩家 | 放置图像物品 |
| yamipa.item.remove | 所有玩家 | 移除图像物品(具有 REMO 标志的) |
| yamipa.item.remove.own | 所有玩家 | 同上,但仅限同一玩家放置的图像 |
请注意,权限以树状结构工作。这意味着如果您授予一个权限,默认情况下其子权限也会被授予。例如,您可以使用 yamipa.command.* 授予所有命令的访问权限。同样,如果您授予 yamipa.command.remove,权限 yamipa.command.remove.own 也会被授予。
您可以使用权限插件(如 LuckPerms 或 GroupManager)来更改授予这些命令的角色或玩家。这两个插件都经过测试可以与 Yamipa 配合使用,尽管任何类似的插件都应该可以正常工作。
在大型服务器中,让玩家随意放置和移除图像可能不是最明智的做法。对于这些情况,Yamipa 与其他允许创建和管理世界区域的 Bukkit 插件兼容。如果您有一个或多个此类插件,Yamipa 将自动相应地应用权限,只允许玩家在他们可以放置或移除方块的地方放置或移除图像,无需额外配置。
此插件的图像具有一组称为“标志”的布尔属性,用于修改其行为。可能的值包括:
默认情况下,使用 /image place 命令放置的图像只有 ANIM 标志。同样,使用 /image give 命令颁发的图像物品具有 ANIM、REMO 和 DROP 标志。
可以通过 "flags" 参数修改默认标志。要添加标志到默认集合中,请使用 +{FLAG_NAME}(例如 +GLOW);要移除标志,请使用 -{FLAG_NAME}(例如 -ANIM)。您可以通过逗号分隔来修改多个标志(例如 +GLOW,-ANIM)。
您可能已经猜到,Minecraft 本身不支持放置图像文件。Yamipa 通过使用两个内置功能(物品展示框和地图)来渲染自定义图像,从而绕过此限制。
然而,由于物品展示框是实体(并且这些实体会在服务器中造成大量卡顿),Yamipa 实际上并不会在您的世界中创建任何实体。相反,它通过发送精心制作的网络数据包来“欺骗”玩家的客户端,让他们认为那里有一个放置的物品展示框,而实际上并没有。
对于动态图像(即 GIF),Yamipa 将所有动画帧发送给玩家(这会占用相当大的带宽),然后每隔几毫秒发送一个微小的数据包,告诉客户端切换到下一个动画步骤(即地图)。
重要提示:由于 Yamipa 会在玩家靠近图像时在内存中存储图像的缓存副本,以防需要在不影响性能的情况下再次发送它,因此您的服务器需要有一些备用 RAM 来处理此问题。经验法则是每个唯一加载的图像占用 100KB(动态图像为 1MB)。“唯一”意味着如果相同尺寸的同一图像被放置多次,它只算作一个实例。
此插件使用 bStats 匿名报告安装数量。如果您不喜欢这样,可以随时通过在 bStats 配置文件中添加 enabled: false 来禁用它(没关系,我们理解)。
Yamipa 根据 MIT 许可证授权。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人次:3,030,428 | 今日访问人次:14,556 | 昨日访问人次:11,147
独立 IP:5,075 | 最近24小时独立访客:6,318
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6