本帖最后由 爱国民主 于 2019-7-20 20:18 编辑 



支持插件
 复制代码
复制代码
配置文件(最好去下载,不要复制)
语言文件
config.yml
item.yml

授权搬运
动态特征图片(最显著的特征)

突然想起一个功能如此强大的插件忘记填坑,于是开始更新人气金粒走起?
它可以... 支持与各种菜单插件搭配使用 Chest Commands Gui BOSSShop DeluxeMenus TabooMenu... 为加入的玩家给予[物品项目] 自定义因某些(如 加入 | 重生| 切换世界 )而清除[物品项目]或不清除 允许不同方式触发物品项目(如 左键 | 右键 | 库存内点击 等) 它可以为每个世界准备[物品项目],不懂?就是可以不同世界拥有不同[物品项目] 因重生或变化世界而变化[物品项目] 总之,它功能非常多,需要我们去探索(我会逐步更新帖子和教程,希望大家能够给予我动力)
介绍 Itemjoin是强大的,独一无二的(作者是这么说),也具有高度可自定义物品项目 它的最显著特征是——动态效果 另外:很奇怪是,这么强大的插件居然无人问津/冷门
特色
支持插件
当你要使用它时,请先了解它,以及教程,然后你才能发现原来是那么简单,并没有想象那么复杂
 命令
命令
配置文件(最好去下载,不要复制)
语言文件
config.yml
item.yml
下载虽说ZIP包写4.4版,而插件版是4.8不影响使用,汉化依然有效http://pan.baidu.com/s/1o8Bixpo
教程官方维基帮助:https://www.spigotmc.org/wiki/itemjoin/

如何创建物品项目
很简单,首先你要知道 id slot enabled-worlds 是什么
id
- 指物品的数字ID或名称
- 如果要实现不同颜色羊毛,那么我们看看ID,它是37:3,那么需要填写如
  - 项目ID查看地址:http://minecraft-ids.grahamedgecombe.com/
slot
- 指库存位置(下面会讲)
enabled-worlds
- 指可使用该物品菜单的世界
- 当然允许删除这个字,删除后全世界可用
如下面的例子
槽位方面

下面将图片变为列表让大家方便看吧
这是 slot 的值
指定位置
slot: 数字
随机位置
slot: Arbitrary
头部位置
slot: Helmet
胸部位置
slot: Chestplate
下身位置
slot: Leggings
鞋子位置
slot: Boots
副手位置
slot: Offhand
创建物品
上面基本知识讲完了,我们可以正式创建物品了
触发命令
例子
console:以控制台形式执行命令
op:以OP形式执行命令
player:玩家正常执行命令 server:跨服传送(需要Bungeecord)
delay:延迟,为触发命令列表而设置延迟时间
message:给触发者的消息
项目标志[itemflags]
vanilla:允许给予玩家没有填写 name: 'xxx' 的无名物品
first-join:第一次加入时获得物品(但重启服务器后,玩家重进服务器后会再次获得物品)
ip-limit:IP限制,防止玩家利用小号刷物品
unbreakable:无限耐久值
hide-attributes:隐藏属性
hide-durability:隐藏耐久值
placement:禁止放置方块(前提是该物品是方块类型)
inventory-modify:防止库存中的该物品被移动
dynamic:动态效果(下面教程会讲)
animate:动态效果(下面教程会讲)
item-store:防止物品被放入容器中(如箱子,合成台,工作台等)
cancel-events:取消事件,防止打开书本(如果物品是书本)
count-lock:防止玩家消耗物品,如果放置方块,数量会变回来
death-drops:死亡掉落,如果玩家死亡,该物品掉落地上时会清除
self-drops:防止玩家丢弃该物品
disposable:一次性用品,使用了移除一份物品(不会把你多个物品直接吞了)
AllowOpBypass:OP绕过大部分项目标志
CreativeBypass:创造绕过大部分项目标志
触发器[triggers]
例子
join:玩家登陆服务器时,如果没有该物品,会自动给予
respawn:玩家死亡重生后,如果没有该物品,会自动给予
world-change:玩家改变世界时,如果没有该物品,会自动给予
如果 enabled-world 的值没有该世界,会收回物品和不给予该物品
region-enter:玩家进入区域时(需要在config.yml启用WorldGuard功能),给予该物品,退出该区域时,会删除该物品
region-remove:玩家进入区域时(需要在config.yml启用WorldGuard功能),删除该物品,退出该区域时,会给予该物品
disabled:只允许命令 /itemjoin get <代号ID> 获得该物品
变量符(需要安装PlaceholderAPI插件并且在config.yml启用)
只允许ItemJoin使用
%player% - 玩家的名字
%argsplayer% - 显示玩家的名字
%argsplayer_world% - 显示玩家的世界
%player_kills% - 显示击杀玩家数量
%mob_kills% - 显示击杀怪物数量
%player_deaths% - 显示死亡数量
%player_location% - 显示玩家的位置
%player_health% - 显示玩家的血量
%player_food% - 显示玩家的饥饿值
如何自定义书籍
注意:不能在1.7及以下版本服务端使用
这是ItemJoin还赠送大家的礼物——简单自定义书籍
悬浮事件Json例子
自定义书籍例子
还有自定义烟花、箭头、头颅、地图、旗子等配置例子都在官方维基:https://www.spigotmc.org/wiki/itemjoin-getting-started/
不难看懂
动态项目
接下来是重点教程
动态项目
还支持占位符变量,而且是实时更新
你需要添加标识 itemflag: dynamic到项目
然后你需要指定动态延迟<delay:120>到项目的name的开头或lore的第一行开头(120=6秒)
放心,<delay:120>不会显示在物品名字中
下面是例子和效果图片

(仅限Spigot/PaperSpigot服务端)
你会发现将延时调更更更低时,没有更乖,这需要修改你的服务器配置,如下
在服务器根目录的spigot.yml将 item-dirty-ticks 设置为 1
就会更快了
但是呢,可能会影响服务器性能,最好不要设置延时低于3
动画项目
例子和效果图片

染料类型:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/DyeColor.html
音效类型:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
药水类型:https://hub.spigotmc.org/javadoc ... tionEffectType.html
附魔类型:https://hub.spigotmc.org/javadoc ... ts/Enchantment.html
材料类型:http://minecraft-ids.grahamedgecombe.com/
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
旗子类型:https://hub.spigotmc.org/javadoc ... er/PatternType.html
烟花类型:https://hub.spigotmc.org/javadoc ... orkEffect.Type.html

授权搬运
动态特征图片(最显著的特征)


突然想起一个功能如此强大的插件忘记填坑,于是开始更新
人气金粒走起?
它可以...
   为加入的玩家给予[物品项目]
   自定义因某些(如 加入 | 重生| 切换世界 )而清除[物品项目]或不清除
   允许不同方式触发物品项目(如 左键 | 右键 | 库存内点击 等)
   它可以为每个世界准备[物品项目],不懂?就是可以不同世界拥有不同[物品项目]
   因重生或变化世界而变化[物品项目]
   总之,它功能非常多,需要我们去探索(我会逐步更新帖子和教程,希望大家能够给予我动力)
介绍
   Itemjoin是强大的,独一无二的(作者是这么说),也具有高度可自定义物品项目
   它的最显著特征是——动态效果
   另外:很奇怪是,这么强大的插件居然无人问津/冷门
特色
- 支持CraftBukkit / Spigot 1.7 - 1.12
- 加入给予物品项目
- 重生给予物品项目
- 随世界变化而变化物品项目
- 有关WorldGuard区域的物品设置
- Itemjoin是独一无二的,无法重命名和制作
- 允许或拒绝覆盖库存某位置物品
- 可设置冷却时间
- 可设置冷却消息
- 可设置触发花费的金钱
- 自定义命令触发如:后台 玩家 管理 消息以及跨服传送
- 可清除所有物品或可在加入游戏时清除物品项目,甚至可以在改变世界而清除物品项目
- 可以为物品项目添加附魔或级别
- 可为物品项目设置为玩家的头
- 自定义箭头项目
- 自定义旗帜项目
- 自定义烟花项目自定义头颅
- 项目自定义地图项目
- 隐藏项目的属性
- 自定义是否防止移动物品项目
- 自定义是否防止防止物品项目
- 自定义是否防止扔掉物品项目
- 多种语言编辑配置完毕可通过重载本插件
- 打开/关闭更新检查
- 还有很多...
 
支持插件
当你要使用它时,请先了解它,以及教程,然后你才能发现原来是那么简单,并没有想象那么复杂

命令
- #显示选项
 
- /itemjoin
 
- #显示帮助
 
- /itemjoin help
 
- #重载插件
 
- /itemjoin reload
 
- #检查更新
 
- /itemjoin updates
 
- #强制更新
 
- /itemjoin autoupdate
 
- #检查什么世界被加载
 
- /itemjoin loaded
 
- #获得[物品项目]
 
- /itemjoin get <item>
 
- #给玩家[物品项目]
 
- /itemjoin get <item> <玩家>
 
- #删除库存中的[物品项目]
 
- /itemjoin remove <item>
 
- #删除玩家库存中的[物品项目]
 
- /itemjoin remove <item> <玩家>
 
- #列出[物品项目]列表
 
- /itemjoin list
 
配置文件(最好去下载,不要复制)
语言文件
config.yml
item.yml
下载
2021.12 数据,可能有更多内容

授权搬运

动态特征图片(最显著的特征)


突然想起一个功能如此强大的插件忘记填坑,于是开始更新人气金粒走起?
它可以... 支持与各种菜单插件搭配使用 Chest Commands Gui BOSSShop DeluxeMenus TabooMenu... 为加入的玩家给予[物品项目] 自定义因某些(如 加入 | 重生| 切换世界 )而清除[物品项目]或不清除 允许不同方式触发物品项目(如 左键 | 右键 | 库存内点击 等) 它可以为每个世界准备[物品项目],不懂?就是可以不同世界拥有不同[物品项目] 因重生或变化世界而变化[物品项目] 总之,它功能非常多,需要我们去探索(我会逐步更新帖子和教程,希望大家能够给予我动力)
介绍 Itemjoin是强大的,独一无二的(作者是这么说),也具有高度可自定义物品项目 它的最显著特征是——动态效果 另外:很奇怪是,这么强大的插件居然无人问津/冷门
特色
- 支持CraftBukkit / Spigot 1.7 - 1.12
- 加入给予物品项目
- 重生给予物品项目
- 随世界变化而变化物品项目
- 有关WorldGuard区域的物品设置
- Itemjoin是独一无二的,无法重命名和制作
- 允许或拒绝覆盖库存某位置物品
- 可设置冷却时间
- 可设置冷却消息
- 可设置触发花费的金钱
- 自定义命令触发如:后台 玩家 管理 消息以及跨服传送
- 可清除所有物品或可在加入游戏时清除物品项目,甚至可以在改变世界而清除物品项目
- 可以为物品项目添加附魔或级别
- 可为物品项目设置为玩家的头
- 自定义箭头项目
- 自定义旗帜项目
- 自定义烟花项目自定义头颅
- 项目自定义地图项目
- 隐藏项目的属性
- 自定义是否防止移动物品项目
- 自定义是否防止防止物品项目
- 自定义是否防止扔掉物品项目
- 多种语言编辑配置完毕可通过重载本插件
- 打开/关闭更新检查
- 还有很多...
 
支持插件
- PlaceholderAPI
- Vault
- Multiverse-Core
- Multiverse-Inventories
- PerWorldInventory
- PerWorldPlugins
- AuthMe
- WorldGuard
- MyWorld
- xInventories
 
当你要使用它时,请先了解它,以及教程,然后你才能发现原来是那么简单,并没有想象那么复杂

代码:
- #显示选项
 
- /itemjoin
 
- #显示帮助
 
- /itemjoin help
 
- #重载插件
 
- /itemjoin reload
 
- #检查更新
 
- /itemjoin updates
 
- #强制更新
 
- /itemjoin autoupdate
 
- #检查什么世界被加载
 
- /itemjoin loaded
 
- #获得[物品项目]
 
- /itemjoin get <item>
 
- #给玩家[物品项目]
 
- /itemjoin get <item> <玩家>
 
- #删除库存中的[物品项目]
 
- /itemjoin remove <item>
 
- #删除玩家库存中的[物品项目]
 
- /itemjoin remove <item> <玩家>
 
- #列出[物品项目]列表
 
- /itemjoin list
 
配置文件(最好去下载,不要复制)
语言文件
代码:
 
- #// <>==<>==<> ItemJoin's English language file, by RockinChaos<>==<>==<> //#
 
- #// All messages support custom placeholders including PlaceholderAPI! //#
 
- #// If you don't want a message to be sent, fully remove it from below or make it blank. //#
 
- en-Version: 6
 
 
- Prefix: '&7[&e物品项目&7] '
 
- unknownCommand: '&c未知命令'
 
- noPermission: '&c你没有权限使用'
 
- playerNotFound: '&4没有找到 &c%argsplayer% &4这个玩家'
 
- notPlayer: '&c你必须是玩家才能使用'
 
- reloadedConfigs: '&a插件配置已重载'
 
- failedOverwrite: '&c无法给你&4 %failcount% &c物品, 因为与这个位置物品冲突了'
 
- failedInvFull: '&c无法给你&4 %failcount% &c物品, 因为你的库存满了'
 
- givenToYou: '&a你有了 &7[&e%item%&7]&a.'
 
- givenAllToYou: '&a你获得了物品项目'
 
- givenToPlayer: '&a你给 %argsplayer% &7[&e%item%&7]&a.'
 
- givenAllToPlayer: '&a你给 %argsplayer% 所有物品项目'
 
- itemDoesntExist: '&c这个 &b%item% &c项目不存在'
 
- playerTriedGive: '&4%argsplayer% &c尝试给你 &7[&b%item%&7]&c 但它已经存在你的库存中'
 
- playerTriedGiveAllItems: '&4%argsplayer% &c尝试给所有物品项目,但它已经在你的库存中'
 
- itemExistsInInventory: '&c你已经有 &7[&b%item%&7]&c!'
 
- allItemsExistInInventory: '&c你已经有所有物品项目'
 
- itemExistsInOthersInventory: '&4%argsplayer% &c已经有 &7[&b%item%&7]&c!'
 
- allItemsExistInOthersInventory: '&4%argsplayer% &c已经有了所有物品项目'
 
- invalidGetUsage: '&c使用不当,应为: /itemjoin get <itemname>!'
 
- correctGetSyntax: '&c你应该输入 /ItemJoin get <itemname> <玩家>'
 
- removedFromYou: '&7[&e%item%&7]&a 从你的库存内删除'
 
- removedAllFromYou: '&a所有物品项目从你的库存内删除'
 
- removedFromPlayer: '&a为 %argsplayer% &a删除 &7[&e%item%&7]'
 
- removedAllFromPlayer: '&a为 %argsplayer% 删除所有物品项目'
 
- playerTriedRemove: '&4%argsplayer% &c尝试删除 &7[&b%item%&7]&c 但它不存在'
 
- playerTriedRemoveAll: '&4%argsplayer% &c尝试删除所有物品项目,但是库存没有任何物品项目'
 
- itemDoesntExistInInventory: '&c这个物品项目 &b%item% &cd不存在你的库存'
 
- allItemsDoNotExistInInventory: '&c你的库存中不存在这个物品项目'
 
- itemDoesntExistInOthersInventory: '&c这个物品项目 &b%item% &c不存在 %argsplayer% 库存'
 
- allItemsDoNotExistInOthersInventory: '&c物品项目不存在 %argsplayer% 的库存!'
 
- invalidRemoveSyntax: '&c使用不当,应为: /itemjoin remove <itemname>!'
 
- correctRemoveSyntax: '&c你应该使用 /ItemJoin remove <itemname> <玩家>'
 
- updateChecking: '&4%player% 要求检查更新'
 
- updateForced: '&4%player% 要求强制更新插件'
 
- itemChargeSuccess: '&a你运行了命令 $%amount%.'
 
- itemChargeFailed: '&c你没有足够条件使用! 你需要 $%amount% 为 $%cost%.'
 
- noItemsListed: '&c&l   &c没有为这个世界定制物品项目'
 
- listWorldsHeader: '&a&l%world%:'
 
- listItems: '&a&l   &a%items%'
 
- inWorldListHeader: '&a所在世界:'
 
- inWorldListed: '&e- %world%'
 
- loadedWorldsHeader: '&a世界列表:'
 
config.yml
代码:
 
- #// <>==<>==<> ItemJoin's Settings, by RockinChaos<>==<>==<> //#
 
- #// See the Documentations page for a more in-depth tutorial; https://www.spigotmc.org/wiki/itemjoin/ //#
 
- #// For per-world support this best works with Multiverse-Inventories! http://dev.bukkit.org/bukkit-plugins/multiverse-inventories //#
 
- #官方教程https://www.spigotmc.org/wiki/itemjoin/#
 
- #汉化教程http://www.mcbbs.net/thread-725127-1-1.html#
 
- config-Version: 6
 
 
-  #// 目前已汉化插件版本为4.4 //#
 
-  #语言,不用管
 
- Language: 'English'
 
- #检查更新
 
- CheckForUpdates: false
 
- #记录日志
 
- Log-Coloration: true
 
- #是否启用物品项目权限
 
- Items-Permissions: true
 
- #Debugging模式
 
- Debugging-Mode: false
 
 
 
- #// Global Settings for ItemJoin. //#
 
- #是否防止被拾起
 
- Prevent-Pickups: false
 
- #?
 
- HeldItem-Slot: None
 
 
 
- #// Global Clear Items for ItemJoin. //#
 
- #// Set Clear-Items to ItemJoin or to All, ItemJoin clears only the ItemJoin items and All will clear all items. //#
 
- #清除物品项目
 
- Clear-Items: ItemJoin
 
- #是否在加入游戏时清除
 
- Clear-On-Join: false
 
- #是否在切换世界时清除
 
- Clear-On-WorldChanged: false
 
- #是否允许OP绕过
 
- AllowOPBypass: false
 
- #是否允许创造绕过
 
- CreativeBypass: false
 
 
 
- #// Global Commands for ItemJoin on join, these commands are executed by console. //#
 
- #全局命令
 
- enabled-global-commands: false
 
- #启用的世界
 
- enabled-worlds: world, world_nether
 
- #全局命令
 
- global-commands:
 
- - 'itemjoin get <item> <player>'
 
 
 
- #// These are optional dependencies, only change these if you are looking to use them in conjunction with ItemJoin, changing the values will require a server restart. //#
 
- #连接插件,若要开启请改为true
 
- Vault: false
 
- PlaceholderAPI: false
 
- Multiverse-Core: false
 
- Multiverse-Inventories: false
 
- PerWorldInventory: false
 
- PerWorldPlugins: false
 
- xInventories: false
 
- WorldGuard: false
 
- MyWorlds: false
 
- AuthMe: false
 
item.yml
代码:
 
- #// <>==<>==<> ItemJoin's Custom Items On Join, by RockinChaos <>==<>==<> //#
 
- #// See the Documentations page for a more in-depth tutorial; https://www.spigotmc.org/wiki/itemjoin/ //#
 
- #官方教程https://www.spigotmc.org/wiki/itemjoin/#
 
- #汉化教程http://www.mcbbs.net/thread-725127-1-1.html#
 
- items-Version: 6
 
- items-Delay: 2
 
- items-Overwrite: false
 
- items-Spamming: false
 
 
- items:
 
- #ultra-item这个你可以随意改
 
- ultra-item:
 
- #物品的id,支持数字和英语
 
-     id: DIAMOND_SWORD
 
-     #库存槽位[请看教程,有点不一样的]
 
-     slot: 0
 
-     name: '&b一派胡言'
 
-     lore:
 
-     - '&7多点击'
 
-     - '&7这是第二行'
 
-     commands:
 
-     #多点击
 
-     multi-click:
 
-    - 'message: &e这个消息只有自己看到'
 
-    - 'console: 后台执行命令'
 
-    - 'player: 玩家执行命令'
 
-    - 'say 你好世界!'
 
-     #触发方式:交互,库存内点击[不懂?就是按E打开背包,鼠标点击这个物品]
 
-     commands-type: interact, inventory
 
-     #点击后触发的声音
 
-     commands-sound: BLOCK_NOTE_PLING
 
-     #花费金钱,需要vault
 
-     commands-cost: 25
 
-     #执行冷却,5秒
 
-     commands-cooldown: 5
 
-     #冷却的信息
 
-     cooldown-message: '&7[&e物品项目&7] &a[%item%&a] &c需要等待 &a%timeleft% &c秒后可使用'
 
-     #附魔
 
-     enchantment: FIRE_ASPECT:3, DAMAGE_ALL:5, DAMAGE_UNDEAD:5, KNOCKBACK:8
 
-     #标志,教程内会讲解到
 
-     itemflags: inventory-modify, death-drops, unbreakable, hide-attributes, self-drops, CreativeBypass
 
-     #触发器 教程内会讲解到
 
-     triggers: join, respawn, world-change, region-enter
 
-     #需要权限
 
-     permission-node: 'itemjoin.ultra'
 
-     #启用的区域
 
-     enabled-regions: region1, region2
 
-     #启用的世界,如果为All则所有世界都启用
 
-     enabled-worlds: world, world_nether, world_the_end
 
- map-item:
 
-     id: MAP
 
-     slot: 2
 
-     name: '&e神秘 地图'
 
-     lore:
 
-     - '&7看!'
 
-     map-id: 1
 
-     custom-map-image: 'default.png'
 
-     itemflags: inventory-modify, unbreakable, hide-attributes, death-drops, self-drops, CreativeBypass
 
-     triggers: join, respawn, world-change
 
-     permission-node: 'itemjoin.ultra'
 
-     enabled-worlds: world, world_nether, world_the_end
 
- gamemode-item:
 
-     id: PAPER
 
-     slot: 4
 
-     count: 6
 
-     name: '&a不同的点击'
 
-     lore:
 
-     - '&7左键会触发'
 
-     - '&7'
 
-     - '&7右键也会触发'
 
-     - '&7但是不同'
 
-     commands:
 
-     right-click:
 
-    - 'console: gamemode 1 %player%'
 
-    - 'message: &e你改变了创造模式'
 
-     left-click:
 
-    - 'console: gamemode 3 %player%'
 
-    - 'message: &e你改吧了观察者模式'
 
-     commands-type: interact
 
-     commands-sound: BLOCK_NOTE_PLING
 
-     commands-cost: 25
 
-     commands-cooldown: 5
 
-     cooldown-message: '&7[&e物品项目&7] &a[%item%&a] &c需要等待 &a%timeleft% &c秒后可使用'
 
-     itemflags: death-drops, self-drops, disposable
 
-     triggers: join, respawn, world-change
 
-     permission-node: 'itemjoin.token'
 
-     enabled-worlds: world, world_nether, world_the_end
 
- book-item:
 
-     id: WRITTEN_BOOK
 
-     slot: 6
 
-     name: '&c&n创建一本书'
 
-     author: '&bItemJoin'
 
-     lore:
 
-     - '&7'
 
-     - '&7加入的一本书'
 
-     pages:
 
-     - 'newpage: &bYou can get this book on join!'
 
-     - 'newline: &aThis book also supports &ccolor codes!'
 
-     - 'newline: &0'
 
-     - 'newline: &cHow do custom books work?'
 
-     - 'newline: &0'
 
-     - 'newline: &0You can set an &cauthor&0'
 
-     - 'newline: &0as shown in the items.yml'
 
-     - 'newline: &0I set it to &bItemJoin.'
 
-     - 'newline: &0'
 
-     - 'newpage: &cHow do you create a new page?'
 
-     - 'newline: &0'
 
-     - 'newline: &0As displayed to the left in the items.yml'
 
-     - 'newline: &0Use &bnewpage&0 and &cnewline&0 to create your pages.'
 
-     - 'newline: &cnewpage &0will start the next page.'
 
-     - 'newline: &cnewline &0will create a new line for that page.'
 
-     - 'newpage: &bItemJoin &0by RockinChaos!'
 
-     - ':endthebook:'
 
-     itemflags: inventory-modify, death-drops, self-drops
 
-     triggers: join, respawn
 
-     permission-node: 'itemjoin.book'
 
-     enabled-worlds: world
 
- bungeecord-item:
 
-     id: STAINED_GLASS
 
-     slot: 8
 
-     name: '&e跨服传送'
 
-     data-value: 12
 
-     count: 32
 
-     lore:
 
-     - '&7右键点击进行跨服'
 
-     enchantment: FIRE_ASPECT:3
 
-     commands:
 
-     multi-click:
 
-    - 'server: survival'
 
-    - 'message: &e为你进行一场跨服之旅'
 
-     commands-type: interact
 
-     commands-sound: BLOCK_NOTE_PLING
 
-     commands-cost: 25
 
-     commands-cooldown: 5
 
-     cooldown-message: '&7[&e物品项目&7] &a[%item%&a] &c需要等待 &a%timeleft% &c秒后可使用'
 
-     itemflags: inventory-modify, placement, hide-attributes, death-drops, self-drops
 
-     triggers: join, respawn, world-change
 
-     permission-node: 'itemjoin.bungeetp'
 
-     enabled-worlds: world, world_nether, world_the_end
 
- filler-pane-item:
 
-     id: 160
 
-     slot: Arbitrary, Arbitrary, Arbitrary, Arbitrary
 
-     name: '&f'
 
-     data-value: 15
 
-     itemflags: inventory-modify, placement, death-drops, self-drops
 
-     triggers: join, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
- arrow-item:
 
-     id: TIPPED_ARROW
 
-     slot: 27
 
-     name: '&f死亡箭'
 
-     count: 16
 
-     potion-effect: WITHER:1:20
 
-     itemflags: death-drops, self-drops
 
-     triggers: join, respawn, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
- firework-item:
 
-     id: FIREWORK
 
-     slot: 29
 
-     name: '&d闪闪发光'
 
-     lore:
 
-     - '&7Right-Click me and watch me fly!'
 
-     firework:
 
-     type: CREEPER
 
-     flicker: true
 
-     trail: true
 
-     power: 1
 
-     colors: GRAY, WHITE, PURPLE, SILVER, GREEN
 
-     itemflags: count-lock, death-drops, hide-attributes, self-drops
 
-     triggers: join, respawn, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
- potion-item:
 
-     id: POTION
 
-     slot: 31
 
-     name: '&4疯狂的草案'
 
-     potion-effect: JUMP:2:120, INCREASE_DAMAGE:3:150, REGENERATION:1:160
 
-     triggers: join, respawn, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
- golden-apple-item:
 
-     id: GOLDEN_APPLE
 
-     slot: 33
 
-     name: '&e女神之苹果'
 
-     lore:
 
-     - '&7这不是普通的苹果'
 
-     potion-effect: JUMP:2:120, NIGHT_VISION:2:400, GLOWING:1:410, REGENERATION:1:160
 
-     itemflags: death-drops, self-drops
 
-     triggers: join, respawn, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
- skull-item:
 
-     id: SKULL_ITEM
 
-     slot: 35
 
-     name: '&b%player%'
 
-     skull-owner: '%player%'
 
-     data-value: 3
 
-     lore:
 
-     - '&7设置一个'
 
-     - '&7玩家的信息, 像 hypixel! —— 原文是这样说的'
 
-     itemflags: inventory-modify, death-drops, self-drops
 
-     triggers: join, respawn, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
- filler-pane-item-two:
 
-     id: 160
 
-     slot: 28, 30, 32, 34
 
-     name: '&f'
 
-     data-value: 4
 
-     itemflags: inventory-modify, placement, death-drops, self-drops
 
-     triggers: join, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
- helmet-item:
 
-     id: DIAMOND_HELMET
 
-     slot: helmet
 
-     name: '&5孤独的头盔'
 
-     enchantment: PROTECTION_ENVIRONMENTAL:5
 
-     itemflags: inventory-modify, death-drops, self-drops
 
-     triggers: join
 
-     enabled-worlds: world, world_nether, world_the_end
 
- chestplate-item:
 
-     id: DIAMOND_CHESTPLATE
 
-     slot: chestplate
 
-     name: '&5上身'
 
-     enchantment: PROTECTION_ENVIRONMENTAL:5
 
-     itemflags: inventory-modify, death-drops, self-drops
 
-     triggers: join
 
-     enabled-worlds: world, world_nether, world_the_end
 
- leggings-item:
 
-     id: DIAMOND_LEGGINGS
 
-     slot: leggings
 
-     name: '&5裤'
 
-     enchantment: PROTECTION_ENVIRONMENTAL:3
 
-     itemflags: inventory-modify, death-drops, self-drops
 
-     triggers: join
 
-     enabled-worlds: world, world_nether, world_the_end
 
- boots-item:
 
-     id: DIAMOND_BOOTS
 
-     slot: boots
 
-     name: '&5鞋'
 
-     enchantment: PROTECTION_ENVIRONMENTAL:3, PROTECTION_FALL:5
 
-     itemflags: inventory-modify, death-drops, self-drops
 
-     triggers: join
 
-     enabled-worlds: world, world_nether, world_the_end
 
- offhand-item:
 
-     id: SHIELD
 
-     slot: offhand
 
-     name: '&b保护者的盾牌'
 
-     itemflags: inventory-modify, death-drops, self-drops, unbreakable
 
-     triggers: join
 
-     enabled-worlds: world, world_nether, world_the_end
 
下载虽说ZIP包写4.4版,而插件版是4.8不影响使用,汉化依然有效http://pan.baidu.com/s/1o8Bixpo
教程官方维基帮助:https://www.spigotmc.org/wiki/itemjoin/
- 入门
 

如何创建物品项目
很简单,首先你要知道 id slot enabled-worlds 是什么
id
- 指物品的数字ID或名称
- 如果要实现不同颜色羊毛,那么我们看看ID,它是37:3,那么需要填写如
代码:
- id: 37
 
- data-value: 3
slot
- 指库存位置(下面会讲)
enabled-worlds
- 指可使用该物品菜单的世界
- 当然允许删除这个字,删除后全世界可用
如下面的例子
代码:
- item:
 
- #any-text可随意填写
 
- #这是指定开启的世界
 
- any-text:
 
-     id:284 
 
-     slot:0 
 
-     enabled-worlds:world_name_here,another_world_name 
 
- #这是所有世界开启的
 
- another-item:
 
-     id:SEEDS 
 
-     slot:2 
 
- wheat-item:
 
-     id:WHEAT 
 
-     slot:4 
 
槽位方面

下面将图片变为列表让大家方便看吧
这是 slot 的值
指定位置
slot: 数字
随机位置
slot: Arbitrary
头部位置
slot: Helmet
胸部位置
slot: Chestplate
下身位置
slot: Leggings
鞋子位置
slot: Boots
副手位置
slot: Offhand
创建物品
上面基本知识讲完了,我们可以正式创建物品了
代码:
- items:
 
- # 代号ID
 
- item1:
 
-     # 物品ID
 
-     id: DIAMOND_SWORD
 
-     # 槽位
 
-     slot: 0
 
-     # 名字
 
-     name: '&bBlazefury'
 
-     # 附加值
 
-     data-value: 0
 
-     # 数量
 
-     count: 1
 
-     # 耐久值
 
-     durability: 5
 
-     # Lore
 
-     lore:
 
-     - '&a测试项目'
 
- - '&c第二行'
触发命令
例子
代码:
- items:
 
- item1:
 
-     id: BOOK
 
-     slot: 0
 
-     # 命令
 
-     commands:
 
-     # 任何点击
 
-     multi-click:
 
-    - 'message: &e你得到了消息'
 
-    - 'console: say 以后台形式发送命令了'
 
-    - 'player: say 玩家发送命令了'
 
-    - 'op: say 以OP形式发送命令了'
 
-    - 'delay: 100'
 
-    - 'server: survival'
 
-    - 'say 玩家发送命令了'
 
-     # 右键点击
 
-     right-click:
 
-    - 'console: gamemode 1 %player%'
 
-    - 'message: &e改变了自己的游戏模式'
 
-     # 左键点击
 
-     left-click:
 
-    - 'console: gamemode 3 %player%'
 
-    - 'message: &e改变了自己的游戏模式'
 
-     # 在库存点击
 
-     inventory:
 
-    - 'console: gamemode 2 %player%'
 
-    - 'message: &e改变了自己的游戏模式'
 
-     # 触发方式
 
-     # interact 交互
 
-     # inventory 库存点击
 
-     commands-type: interact, inventory
 
-     # 命令序列
 
-     commands-sequence: ALL, RANDOM
 
-     # 点击声音
 
-     commands-sound: BLOCK_NOTE_PLING
 
-     # 点击费用
 
-     commands-cost: 25
 
-     # 冷却时间(秒)
 
-     commands-cooldown: 5
 
-     # 冷却提醒消息
 
-     cooldown-message: '&7[&eItemJoin&7] &a[%item%&a] &c冷却 &a%timeleft% &c秒'
 
-     # 可以使用的世界 
 
- enabled-worlds: world
console:以控制台形式执行命令
op:以OP形式执行命令
player:玩家正常执行命令 server:跨服传送(需要Bungeecord)
delay:延迟,为触发命令列表而设置延迟时间
message:给触发者的消息
项目标志[itemflags]
代码:
- items:
 
- ultra-item:
 
-     id: DIAMOND_SWORD
 
-     slot: 0
 
-     itemflags: first-join, unbreakable, hide-attributes, hide-durability, placement, inventory-modify, cancel-events, count-lock, death-drops, self-drops, disposable, AllowOpBypass, CreativeBypass
 
- enabled-worlds: world
vanilla:允许给予玩家没有填写 name: 'xxx' 的无名物品
first-join:第一次加入时获得物品(但重启服务器后,玩家重进服务器后会再次获得物品)
ip-limit:IP限制,防止玩家利用小号刷物品
unbreakable:无限耐久值
hide-attributes:隐藏属性
hide-durability:隐藏耐久值
placement:禁止放置方块(前提是该物品是方块类型)
inventory-modify:防止库存中的该物品被移动
dynamic:动态效果(下面教程会讲)
animate:动态效果(下面教程会讲)
item-store:防止物品被放入容器中(如箱子,合成台,工作台等)
cancel-events:取消事件,防止打开书本(如果物品是书本)
count-lock:防止玩家消耗物品,如果放置方块,数量会变回来
death-drops:死亡掉落,如果玩家死亡,该物品掉落地上时会清除
self-drops:防止玩家丢弃该物品
disposable:一次性用品,使用了移除一份物品(不会把你多个物品直接吞了)
AllowOpBypass:OP绕过大部分项目标志
CreativeBypass:创造绕过大部分项目标志
触发器[triggers]
例子
代码:
- items:
 
- ultra-item:
 
-     id: DIAMOND_SWORD
 
-     slot: 0
 
-     triggers: join, respawn, world-change, region-enter
 
-     enabled-regions: region1, region2
 
-     enabled-worlds: world
 
- second-item:
 
-     id: PAPER
 
-     slot: 1
 
-     triggers: disabled
 
-     enabled-regions: region1, region2
 
- enabled-worlds: world
join:玩家登陆服务器时,如果没有该物品,会自动给予
respawn:玩家死亡重生后,如果没有该物品,会自动给予
world-change:玩家改变世界时,如果没有该物品,会自动给予
如果 enabled-world 的值没有该世界,会收回物品和不给予该物品
region-enter:玩家进入区域时(需要在config.yml启用WorldGuard功能),给予该物品,退出该区域时,会删除该物品
region-remove:玩家进入区域时(需要在config.yml启用WorldGuard功能),删除该物品,退出该区域时,会给予该物品
disabled:只允许命令 /itemjoin get <代号ID> 获得该物品
变量符(需要安装PlaceholderAPI插件并且在config.yml启用)
只允许ItemJoin使用
%player% - 玩家的名字
%argsplayer% - 显示玩家的名字
%argsplayer_world% - 显示玩家的世界
%player_kills% - 显示击杀玩家数量
%mob_kills% - 显示击杀怪物数量
%player_deaths% - 显示死亡数量
%player_location% - 显示玩家的位置
%player_health% - 显示玩家的血量
%player_food% - 显示玩家的饥饿值
如何自定义书籍
注意:不能在1.7及以下版本服务端使用
这是ItemJoin还赠送大家的礼物——简单自定义书籍
悬浮事件Json例子
代码:
- <hover type="text" value="%player% of course!">"What is your name?"</hover>
代码:
- items:
 
- book-item:
 
-     id: WRITTEN_BOOK
 
-     slot: 0
 
-     name: '&c&nCreating a Book'
 
-     author: '&bItemJoin'
 
-     lore:
 
-     - '&7'
 
-     - '&7This magical book is given on join!'
 
-     pages:
 
-     1:
 
-     - '&bYou can get this book on join!'
 
-     - '&aThis book also supports &ccolor codes!'
 
-     - ''
 
-     - '&cHow do custom books work?'
 
-     - ''
 
-     - '&0You can set an &cauthor&0'
 
-     - '&0as shown in the items.yml'
 
-     - '&0I set it to &bItemJoin.'
 
-     - ''
 
-     - '<hover type="text" value="%player% of course!">"What is your name?"</hover>'
 
-     2:
 
-     - '&cHow do you create a new page?'
 
-     - ''
 
-     - '&0As displayed to the left in the items.yml'
 
-     - '&0Create a number to specify the new page number.'
 
-     - '&cMakesure you put each number in order as shown.'
 
-     - '&cCreating new pages should be pretty'
 
-     - '&cstraight forward for copying and pasting.'
 
- - '&bItemJoin &0by RockinChaos!'
还有自定义烟花、箭头、头颅、地图、旗子等配置例子都在官方维基:https://www.spigotmc.org/wiki/itemjoin-getting-started/
不难看懂
动态项目
接下来是重点教程
动态项目
还支持占位符变量,而且是实时更新
你需要添加标识 itemflag: dynamic到项目
然后你需要指定动态延迟<delay:120>到项目的name的开头或lore的第一行开头(120=6秒)
放心,<delay:120>不会显示在物品名字中
下面是例子和效果图片

代码:
 
- items:
 
- dynamic-item:
 
-     id: WATCH
 
-     slot: 0
 
-     name: '<delay:120>&a%server_online% 个玩家在线'
 
-     lore:
 
-     - '<delay:20>&7当前服务器运行时间; %server_uptime%'
 
-     - '&7%server_online% 个玩家在线' #这里不需要写延时,因为第一行lore已经有<delay:20>
 
-     itemflags: dynamic, inventory-modify, hide-attributes
 
-     enabled-worlds: world, world_nether, world_the_end
 
 
你会发现将延时调更更更低时,没有更乖,这需要修改你的服务器配置,如下
在服务器根目录的spigot.yml将 item-dirty-ticks 设置为 1
就会更快了
但是呢,可能会影响服务器性能,最好不要设置延时低于3
动画项目
例子和效果图片

代码:
 
- animated-item:
 
-     id: SIGN
 
-     slot: 0
 
-     name:
 
-     1: '<delay:20>&f&lStatistics'
 
-     2: '<delay:40>&e&lS&f<&e&la&f<&e&li&f&ls&e<&f&li&e&lc&f&ls'
 
-     3: '<delay:20>&b&lS&f<&b&la&f<&b&li&f&ls&b<&f&li&b&lc&f&ls'
 
-     4: '<delay:40>&a&lS&f<&a&la&f<&a&li&f&ls&a<&f&li&a&lc&f&ls'
 
-     5: '<delay:20>&d&lS&f<&d&la&f<&d&li&f&ls&d<&f&li&d&lc&f&ls'
 
-     6: '<delay:40>&e&lS&f<&e&la&f<&e&li&f&ls&e<&f&li&e&lc&f&ls'
 
-     lore:
 
-     1:
 
-     - '<delay:60>&cMob Kills: %mob_kills%'
 
-     - '&cPlayer Kills: %player_kills%'
 
-     2:
 
-     - '<delay:60>&cDeaths: %player_deaths%'
 
-     - '&cYour Location: %player_location%'
 
-     3:
 
-     - '<delay:60>&cHealth: %player_health%'
 
-     - '&cFood Level: %player_food%'
 
-     itemflags: death-drops, animate
 
-     triggers: join, respawn, world-change
 
-     enabled-worlds: world, world_nether, world_the_end
 
 
代码:
 
- items:
 
- animated-item:
 
-     id: COMPASS
 
-     slot: 0
 
-     name:
 
-     1: '<delay:3>&f&lSearch'
 
-     2: '<delay:3>&b&lS&f&learch'
 
-     3: '<delay:3>&b&lSe&f&larch'
 
-     4: '<delay:3>&b&lSea&f&lrch'
 
-     5: '<delay:3>&b&lSear&f&lch'
 
-     6: '<delay:3>&b&lSearc&f&lh'
 
-     7: '<delay:3>&b&lSearch'
 
-     8: '<delay:3>&f&lS&b&learch'
 
-     9: '<delay:3>&f&lSe&b&larch'
 
-     10: '<delay:3>&f&lSea&b&lrch'
 
-     11: '<delay:3>&f&lSear&b&lch'
 
-     12: '<delay:3>&f&lSearc&b&lh'
 
-     lore:
 
-     1:
 
-     - '<delay:3>&f&lColors!!!'
 
-     2:
 
-     - '<delay:3>&c&lC&f&lolors!!!'
 
-     3:
 
-     - '<delay:3>&c&lC&a&lo&f&llors!!!'
 
-     4:
 
-     - '<delay:3>&c&lC&a&lo&5&ll&f&lors!!!'
 
-     5:
 
-     - '<delay:3>&c&lC&a&lo&5&ll&3&lo&f&lrs!!!'
 
-     6:
 
-     - '<delay:3>&c&lC&a&lo&5&ll&3&lo&1&lr&f&ls!!!'
 
-     7:
 
-     - '<delay:3>&c&lC&a&lo&5&ll&3&lo&1&lr&e&ls&f&l!!!'
 
-     8:
 
-     - '<delay:3>&c&lC&a&lo&5&ll&3&lo&1&lr&e&ls&d&l!&f&l!!'
 
-     9:
 
-     - '<delay:3>&c&lC&a&lo&5&ll&3&lo&1&lr&e&ls&d&l!&a&l!&f&l!'
 
-     10:
 
-     - '<delay:3>&c&lC&a&lo&5&ll&3&lo&1&lr&e&ls&d&l!&a&l!&2&l!'
 
-     11:
 
-     - '<delay:3>&f&lC&a&lo&5&ll&3&lo&1&lr&e&ls&d&l!&a&l!&2&l!'
 
-     12:
 
-     - '<delay:3>&f&lCo&5&ll&3&lo&1&lr&e&ls&d&l!&a&l!&2&l!'
 
-     13:
 
-     - '<delay:3>&f&lCol&3&lo&1&lr&e&ls&d&l!&a&l!&2&l!'
 
-     14:
 
-     - '<delay:3>&f&lColo&1&lr&e&ls&d&l!&a&l!&2&l!'
 
-     15:
 
-     - '<delay:3>&f&lColor&e&ls&d&l!&a&l!&2&l!'
 
-     16:
 
-     - '<delay:3>&f&lColors&d&l!&a&l!&2&l!'
 
-     17:
 
-     - '<delay:3>&f&lColors!&a&l!&2&l!'
 
-     18:
 
-     - '<delay:3>&f&lColors!!&2&l!'
 
-     19:
 
-     - '<delay:3>&f&lColors!!!'
 
-     itemflags: animate, death-drops
 
-     triggers: join
 
-     enabled-worlds: world
 
 
染料类型:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/DyeColor.html
音效类型:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
药水类型:https://hub.spigotmc.org/javadoc ... tionEffectType.html
附魔类型:https://hub.spigotmc.org/javadoc ... ts/Enchantment.html
材料类型:http://minecraft-ids.grahamedgecombe.com/
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
旗子类型:https://hub.spigotmc.org/javadoc ... er/PatternType.html
烟花类型:https://hub.spigotmc.org/javadoc ... orkEffect.Type.html
翻版cji。。
emmmmmmmm看起来很不错...但..........
辛苦楼主了。。。。加油。。。支持!!!!a.a
很不错,CJI已经死的差不多了,用这个代替
哈,我给头颅的配置如下
复制代码
如上,我已经加了placement tag了,可是这个头颅仍然能够放置,查过wiki也没有相关讯息,只有告诉我这个tag是禁止放置的,并没有效果
- skull-item:
 
-     id: SKULL_ITEM
 
-     slot: 1
 
-     name: '&6%player%'
 
-     skull-owner: '%player%'
 
-     data-value: 3
 
-     lore:
 
-       - '&7欢迎来到小朋友'
 
-     itemflags: inventory-modify, unbreakable, hide-attributes, placement, self-drops, item-store
 
-     triggers: join, respawn, world-change
 
- enabled-worlds: All
如上,我已经加了placement tag了,可是这个头颅仍然能够放置,查过wiki也没有相关讯息,只有告诉我这个tag是禁止放置的,并没有效果
为什么这么好的插件这么冷门。。。
惨遭冷门的强大插件
对不起,我把你忘了,我来拯救你了,填坑更新!
对不起,我把你忘了,我来拯救你了,填坑更新!
完成教程维基汉化
这么好的插件。居然没人评论
看起来非常好,但是chestcommand中已经写入了太多东西不方便搬迁。
很好的插件讷 ..
看起来非常好,但是chestcommand中已经写入了太多东西不方便搬迁。
这个插件真不错!
 本帖最后由 水煮清娃 于 2018-11-7 22:22 编辑 
因为看到两个搬运帖,所以在这里也发一遍我的疑问:
我遇到一个问题,那就是这个菜单不能强制占用一个特定位置,如果当前位置有东西就不能发放菜单,配合了ess插件分发新手物品的时候,会提示位置被占用无法发放菜单的提示,不知道有没有强制占位的设置,但是不删除物品而是移动的办法,就是如果分配的位置有其它的物品可以强制把它移开.CustomJoinItems插件就没有这样的问题,但它不支持1.13+服务端.
这个问题应该是有解决办法的,但是目前没找到,如果楼主知道如何设置望告知.
因为看到两个搬运帖,所以在这里也发一遍我的疑问:
我遇到一个问题,那就是这个菜单不能强制占用一个特定位置,如果当前位置有东西就不能发放菜单,配合了ess插件分发新手物品的时候,会提示位置被占用无法发放菜单的提示,不知道有没有强制占位的设置,但是不删除物品而是移动的办法,就是如果分配的位置有其它的物品可以强制把它移开.CustomJoinItems插件就没有这样的问题,但它不支持1.13+服务端.
这个问题应该是有解决办法的,但是目前没找到,如果楼主知道如何设置望告知.