幸运暴击
模式,开启后可自定义 触发要求和奖励玩家基础指令:
无
管理员指令介绍(权限:XinxinLuckyBlock.admin)
/xlb give [方块名] [玩家] <数量> — 给予玩家某幸运方块
/xlb save [名称] — 保存手中的物品到物品库
/xlb remove [名称] — 删除物品库中的物品
/xlb add [玩家] [方块名] [名称] — 增加玩家某方块幸运分
/xlb del [玩家] [方块名] [名称] — 减少玩家某方块幸运分
/xlb look [玩家] [方块名] — 查看玩家某方块幸运分
/xlb reload — 重载插件
我们将插件加入服务器并填写好key后会生成下方图片中的文件
DropItems
文件夹是用于储存掉落物品列表pokemons
文件夹是用于储存宝可梦mod需要生成的精灵config.yml
是插件的核心配置以及幸运方块的整体配置ItemData.yml
是使用 /xlb save 指令保存的物品库文件key.yml
用于存放用户验证码文件LuckBlockData.yml
是保存玩家放置的方块位置数据PlayerPoints.yml
是保存玩家已开启某方块数量数据
当我们正常加载插件后应该会生成一个 config.yml
文件他的内容应该是这样的
saveTime: 3600
Message:
Prefix: "&b幸运方块 &f➢ "
Reload: "&a重载成功."
AddLuckyPoints: "&a成功增加 &e%i%/%max% &a幸运值,幸运值满可触发特殊奖励."
Lucky: "&a触发幸运暴击奖励 &e%type%"
Forbidden: "&c此世界禁止放置幸运方块"
#禁止放方块的世界
ForbiddenWorld:
- "plotworld"
#幸运方块列表
LuckyBlock:
#方块名称,可自定义
御三家宝可梦方块:
#开出来的宝可梦添加标签(需要可以删掉前面的#)
#addSpecFlag: "BindPoke"
#方块物品设置(必须设置方块物品例如石头、箱子、玻璃…… 不清楚的话就默认不改)
BlockItem:
type: PUMPKIN
#需要type为头颅才有用
#owner: "Luck"
data: 0
name: "&6★ &f御三家精灵方块 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a将方块右键防止在地上"
- " &f ✪ &a击碎方块有几率生成 &e御三家宝可梦"
- " &f ✪ &c也有可能生成随机 &e物品、经验或无掉落"
- " &f ▌ &d几率公示:"
- " &f ☆ &c生成精灵 ▶ &e 30%"
- " &f ☆ &c随机物品 ▶ &e 35%"
- " &f ☆ &c大量经验 ▶ &e 30%"
- " &f ☆ &c没有奖励 ▶ &e 5%"
#掉落设置
DropData:
#掉落类型设置,可设置:固定、随机
DropType: "随机"
#掉落次数范围
DropAmount: "1-3"
#固定掉落设置
FixedDrop:
#是否掉落物品
DropItem: true
#是否生成精灵
SpawnPokemon: true
#是否掉落经验
DropExp: true
#随机掉落设置
RandomDrop:
#掉落物品几率
DropItem: 0.3
#生成精灵几率
SpawnPokemon: 0.35
#掉落经验几率
DropExp: 0.3
#什么都不掉落的几率
DropNull: 0.05
#掉落物品设置
DropItemData:
#随机掉落物品文件名DropItems/??.yml
#可多选,后面接几率,比如 随机物品|0.1 就是掉落随机石头列表物品几率 10%
- "随机物品|1"
#掉落经验值范围
DropExpData: "1-30"
#生成精灵设置
PokemonData:
#随机召唤精灵文件名pokemons/??.yml
#可添加多个宝可梦列表,后面接几率,比如 宝可梦大全|0.1 就是召唤宝可梦大全列表精灵几率 10%
Pokemons:
- "御三家宝可梦|0.9"
- "宝可梦大全|0.1"
#生成精灵等级范围
Level: "10-30"
#精灵闪光几率
ShinyChance: 0.2
#Boss类型
#Uncommon = 稀有Boss
#Rare = 罕见Boss
#Legendary = 传说Boss
#Ultimate = 终极Boss
BossType: "Uncommon"
#生成Boss的几率,要不生成就改成0,要百分百生成就改成1
BossChance: 0.3
#幸运值系统
LuckyData:
#是否开启幸运值积累
Enable: true
#每破坏一次方块可以获得1点幸运值(未开启则不计算)
#幸运值达到多少可以触发幸运暴击
Points: 5
#幸运暴击奖励模式
#可填写:物品奖励、精灵奖励、幸运奖励(触发一条指令)
Type: "精灵奖励"
#触发奖励的值
#若为物品奖励则填写随机物品文件名称
#若为精灵奖励则填写随机精灵文件名称
#若为幸运奖励则填写一条指令,%player% 代表触发的玩家名
Value: "宝可梦大全"
幸运草:
BlockItem:
type: 31
data: 1
name: "&6★ &f幸运草 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a将方块右键防止在地上"
- " &f ✪ &a击碎方块随机生成 &e1-3 &a只 &e宝可梦"
- " &f ✪ &a幸运值积累到 &e5点 &a可获得尊敬称呼一次"
DropData:
DropType: "固定"
DropAmount: "1-3"
FixedDrop:
DropItem: false
SpawnPokemon: true
DropExp: false
RandomDrop:
DropItem: 0.3
SpawnPokemon: 0.35
DropExp: 0.3
DropNull: 0.05
DropItemData:
- "随机物品|1"
DropExpData: "1-30"
PokemonData:
Pokemons:
- "宝可梦大全|1"
Level: "10-30"
ShinyChance: 0.2
BossType: "Uncommon"
BossChance: 0
LuckyData:
Enable: true
Points: 5
Type: "幸运奖励"
Value: "say %player% 你真尼玛牛逼."
超级牛逼方块:
BlockItem:
type: TNT
data: 0
name: "&6★ &f超级牛逼方块 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a你敢试试将他击碎吗?"
DropData:
DropType: "固定"
DropAmount: "999-999"
FixedDrop:
DropItem: false
SpawnPokemon: true
DropExp: false
RandomDrop:
DropItem: 0.3
SpawnPokemon: 0.35
DropExp: 0.3
DropNull: 0.05
DropItemData:
- "随机物品|1"
DropExpData: "999-999"
PokemonData:
Pokemons:
- "宝可梦大全|1"
Level: "10-30"
ShinyChance: 0.2
BossType: "Uncommon"
BossChance: 0
LuckyData:
Enable: false
Points: 5
Type: "幸运奖励"
Value: "say %player% 你真尼玛牛逼."
超级精灵方块:
BlockItem:
type: TNT
data: 0
name: "&6★ &f超级牛逼方块 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a你的电脑能承受的住吗?"
DropData:
DropType: "固定"
DropAmount: "99-99"
FixedDrop:
DropItem: true
SpawnPokemon: true
DropExp: false
RandomDrop:
DropItem: 0.3
SpawnPokemon: 0.35
DropExp: 0.3
DropNull: 0.05
DropItemData:
- "随机物品|1"
DropExpData: "1-30"
PokemonData:
Pokemons:
- "宝可梦大全|1"
Level: "10-30"
ShinyChance: 0.2
BossType: "Uncommon"
BossChance: 0
LuckyData:
Enable: false
Points: 5
Type: "幸运奖励"
Value: "say %player% 你真尼玛牛逼."
因为我默认配置创建了总共3种方块如果你看的有点头疼或者没有使用宝可梦mod的话
可以将下方的配置复制到config.yml
文件中
saveTime: 3600 #方块数据的保存时间(单位秒)
Message: #插件的语言提示
Prefix: "&b幸运方块 &f➢ "
Reload: "&a重载成功."
AddLuckyPoints: "&a成功增加 &e%i%/%max% &a幸运值,幸运值满可触发特殊奖励."
Lucky: "&a触发幸运暴击奖励 &e%type%"
Forbidden: "&c此世界禁止放置幸运方块"
ForbiddenWorld: #幸运方块禁止放置的世界名
- "plotworld"
LuckyBlock: #幸运方块的配置
幸运草:
BlockItem:
type: 31
data: 1
name: "&6★ &f幸运草 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a将方块右键防止在地上"
- " &f ✪ &a击碎方块随机掉落物品"
- " &f ✪ &a幸运值积累到 &e5点 &a可获得尊敬称呼一次"
DropData:
DropType: "固定"
DropAmount: "1-3"
FixedDrop:
DropItem: true
SpawnPokemon: false
DropExp: false
RandomDrop:
DropItem: 0.3
SpawnPokemon: 0.35
DropExp: 0.3
DropNull: 0.05
DropItemData:
- "随机物品|1"
DropExpData: "1-30"
PokemonData:
Pokemons: []
Level: "10-30"
ShinyChance: 0.2
BossType: "Uncommon"
BossChance: 0
LuckyData:
Enable: true
Points: 5
Type: "幸运奖励"
Value: "say %player% 你真牛逼."
在这里面最关键的其实就只有 LuckyBlock
配置项
在这个配置项中需要配置的就是我们的幸运方块了
上方配置中我保留了一个幸运草的幸运方块
我简单解析一下上方的配置内容
幸运方块使用的物品材质是
id为31
子id为1
的方块物品
破坏方块后触发固定
掉落模式
会随机掉落1-3
次奖励
固定掉落内容为:掉落物品
并不会掉落宝可梦和经验值
随机掉落内容为:掉落物品概率 30%
生成精灵概率 35%
掉落经验概率 30%
没有掉落概率5%
(当然,在方块掉落模式为固定的情况下随机掉落配置是不会生效的只会触发固定掉落配置)
掉落物品启用文件为:插件文件夹\DropItems\随机掉落.yml
且概率为100%
幸运奖励是否启用:启用
幸运奖励触发奖励为:积累破坏5次
方块后触发幸运奖励
从后台执行指令say %player% 你真牛逼.
接下来我来分别讲解一下各个模块的配置方式以及用法
在我们创建幸运方块之前首先要先指定我们的幸运方块的材质
所以在 幸运草
方块配置中 BlockItem
配置就是用来确定我们幸运方块使用的方块材质
LuckyBlock:
幸运草:
BlockItem:
type: 31
data: 1
name: "&6★ &f幸运草 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a将方块右键防止在地上"
- " &f ✪ &a击碎方块随机掉落物品"
- " &f ✪ &a幸运值积累到 &e5点 &a可获得尊敬称呼一次"
其中的 type
和 data
是需要填写的 方块id
和 方块子id
我们在客户端中按 F3+H
启用高级展示框系统后鼠标悬浮到物品上方
物品名字后左右两边显示的数字就是 物品id
以及 子id
如果右侧只有一个数字则 子id
默认为0
可是,数字id
以及 子id
在 Minecraft1.13以上版本 已经弃用
如果高于这个版本请将type设置为物品名下方的物品英文名(需要全部大写)并将data设置为0
LuckyBlock:
幸运草:
BlockItem:
type: TALLGRASS
data: 0
name: "&6★ &f幸运草 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a将方块右键防止在地上"
- " &f ✪ &a击碎方块随机掉落物品"
- " &f ✪ &a幸运值积累到 &e5点 &a可获得尊敬称呼一次"
其中的
name
和lore
配置则是配置方块的一些展示内容
你可以将他设置的特别一点,这样才不会和其他道具冲突
如果你将方块材质设置为玩家头颅则还可以在配置中加一行
owner
用来设置头颅的主人
这里我使用的是Luck
玩家的头颅,具体头颅对应的名字可以参考 NameMc
LuckyBlock:
幸运头颅:
BlockItem:
owner: "Luck"
type: SKULL_ITEM
data: 3
name: "&6★ &f幸运头颅 &6★"
lore:
- " &f ▌ &d方块功能:"
- " &f ✪ &a将方块右键防止在地上"
- " &f ✪ &a击碎方块随机掉落物品"
- " &f ✪ &a幸运值积累到 &e5点 &a可获得尊敬称呼一次"
当我们配置好幸运方块后他目前并没有一个实质性的作用
所以我们需要在 DropData
配置中设置破坏这个方块后执行的掉落模式
LuckyBlock:
幸运草:
DropData:
DropType: "固定"
DropAmount: "1-3"
FixedDrop:
DropItem: true
SpawnPokemon: false
DropExp: false
RandomDrop:
DropItem: 0.3
SpawnPokemon: 0.35
DropExp: 0.3
DropNull: 0.05
在这个模块中 DropType
配置可设置:固定、随机
两种掉落模式
使用 固定
则会启用 FixedDrop
配置下的内容
使用 随机
则会启用 RandomDrop
配置下的内容
DropAmount
配置项可以配置破坏方块后掉落的奖励数量(这并不会额外增加玩家的幸运值)
如果你要固定掉落数量为 1
你需要将配置写成 1-1
而不是写成 1
如果启用了固定掉落模式
我们可以通过配置 FixedDrop
下方的参数来设置破坏方块后掉落的内容
如果我们要启用掉落物品模式的话我们可以这样设置
FixedDrop:
DropItem: true
SpawnPokemon: false
DropExp: false
那如果我们要启用掉落物品并且掉落经验值的话可以这样设置
FixedDrop:
DropItem: true
SpawnPokemon: false
DropExp: true
以此类推,如果我们什么都不想掉落的话就可以这样(当然,这样方块就没有任何作用了,你可以拿来作弄玩家)
FixedDrop:
DropItem: false
SpawnPokemon: false
DropExp: false
如果启用了随机掉落模式
我们可以通过配置 RandomDrop
下方的参数来设置破坏方块后掉落的内容
并且可以设置他们的掉落几率,如果不想掉落某一项可以将他的掉落几率改为 0
在下方随机掉落配置中 掉落物品概率 30%
生成精灵概率 35%
掉落经验概率 30%
没有掉落概率5%
(这里我建议将所有的概率加起来总和=1,尽量不要超过或者低于1,因为这样可能会影响概率的判断)
RandomDrop:
DropItem: 0.3
SpawnPokemon: 0.35
DropExp: 0.3
DropNull: 0.05
如果你不想幸运方块掉落
掉落物品
则可以跳过,并将固定掉落配置下的DropItem
设置为false
还有随机掉落配置下的DropItem
几率设置为0
如果你在掉落模块配置中配置了掉落物品,可以在配置 DropItemData
中配置掉落物品
在这个配置中你可以设置掉落的物品文件内容
这里启用的掉落文件为: 插件文件夹\DropItems\随机掉落.yml
且概率为100%
DropItemData:
- "随机物品|1"
如果你要使用多个掉落文件则可以这样写
DropItemData:
- "随机物品1|0.8"
- "随机物品2|0.2"
上方配置启用的掉落文件为:
插件文件夹\DropItems\随机掉落1.yml
且概率为80%插件文件夹\DropItems\随机掉落2.yml
且概率为20%若不清楚掉落物品文件配置可以前往 自定义道具文件制作
如果你不想幸运方块掉落
经验值
则可以跳过,并将固定掉落配置下的DropExp
设置为false
还有随机掉落配置下的DropExp
几率设置为0
如果你在掉落模块配置中配置了掉落经验,可以在配置 DropExpData
中配置掉落经验范围
在下方的配置中掉落的经验范围为 1-30
如果你要固定掉落30点经验值你需要写成 30-30
而不是 30
LuckyBlock:
幸运草:
DropItemData:
- "随机物品1|0.8"
- "随机物品2|0.2"
DropExpData: "1-30"
如果你不想幸运方块掉落
宝可梦
则可以跳过,并将固定掉落配置下的SpawnPokemon
设置为false
还有随机掉落配置下的SpawnPokemon
几率设置为0
因为照顾到使用这个插件的用户并不只限于宝可梦服主
所以在上方的示例配置中我们并没有配置宝可梦数据
所以我这里重新写了一份 PokemonData
LuckyBlock:
幸运草:
PokemonData:
Pokemons:
- "宝可梦大全|1"
Level: "10-30"
ShinyChance: 0.2
BossType: "Uncommon"
BossChance: 0
在上方的配置中,我们可以简单了解到
生成宝可梦列表为: 插件文件夹\pokemons\宝可梦大全.yml
且概率为100%
如果你要使用多个宝可梦生成文件则可以这样写
PokemonData:
- "宝可梦大全|0.99"
- "传说神兽|0.01"
上方配置启用的宝可梦生成文件为:
插件文件夹\pokemons\宝可梦大全.yml
且概率为99%插件文件夹\pokemons\传说神兽.yml
且概率为1%当然,这里的文件名也可以使用 XinxinPokeBasic 的精灵文件名
若不清楚宝可梦生成文件配置可以前往 宝可梦生成文件制作
在 Level
配置项中可以设置生成宝可梦的等级范围,如果你要固定生成等级为 10
你需要写成 10-10
而不是 10
在 ShinyChance
配置项中可以设置宝可梦生成的闪光概率 最大为 1
也就是 100%
在 BossChance
配置项中可以设置宝可梦生成的Boss概率 最大为 1
也就是 100%
在 BossType
配置项中可以设置宝可梦生成后的Boss类型 可使用的类型如下
如果你有设置宝可梦标签的需求,可以在方块配置顶部添加一行
addSpecFlag
配置
并可以设置他的内容,这样你生成的宝可梦就会带上你设置的标签
例如我想让我生成的宝可梦带有BindPoke
标签就可以这样写
幸运草:
addSpecFlag: "BindPoke"
PokemonData:
Pokemons:
- "宝可梦大全|1"
Level: "10-30"
ShinyChance: 0.2
BossType: "Uncommon"
BossChance: 0
如果你要启用幸运奖励的话需要将 LuckyData
配置下的 Enable
设置成 true
反之则改为 false
这样我们就可以使玩家在击碎这个方块达到一定次数后触发一个指定奖励了
LuckyBlock:
幸运草:
LuckyData:
Enable: true
Points: 5
Type: "幸运奖励"
Value: "say %player% 你真牛逼."
在 Points
配置项中可以设置需要破坏多少方块后触发幸运奖励
在 Type
配置项中可以设置触发奖励的模式 可使用的模式如下
物品奖励
则可以在 Value
中设置掉落物品文件名精灵奖励
则可以在 Value
中设置生成精灵文件名幸运奖励
则可以在 Value
中设置后台发送的指令,可以用 %player%
代替玩家名称变量至此!你已经可以独自配置一个幸运方块了,快去试试吧
在 插件文件夹\pokemons
文件夹中我们可以任意创建一个 御三家宝可梦.yml
文件来充当一个宝可梦生成文件
你可以完全按照自己的需求来自定义这个文件的文件名
创建好文件后我们打开文件新增一条 pokemon
配置项在这个配置项下面就可以写入我们这个文件生成的宝可梦了
比如这里我将所有御三家宝可梦都入进去让这个文件只能生成御三家宝可梦
精灵名称只能使用 宝可梦百科 上的精灵英文名,注意首字母大写哦
pokemon:
- "Bulbasaur"
- "Charmander"
- "Squirtle"
- "Pikachu"
- "Eevee"
- "Chikorita"
- "Cyndaquil"
- "Totodile"
- "Treecko"
- "Torchic"
- "Mudkip"
- "Turtwig"
- "Chimchar"
- "Piplup"
- "Snivy"
- "Tepig"
- "Oshawott"
- "Chespin"
- "Fennekin"
- "Froakie"
- "Rowlet"
- "Popplio"
- "Grookey"
- "Scorbunny"
- "Sobble"
至此,我们就将
御三家宝可梦
列表制作完成了,在方块配置中我们就可以直接调用御三家宝可梦
这个精灵列表了
在 插件文件夹\DropItems
文件夹中我们可以任意创建一个 随机物品.yml
文件来充当一个物品掉落文件
你可以完全按照自己的需求来自定义这个文件的文件名
创建好文件后我们打开文件新增一条 dropItem
配置项在这个配置项下面就可以写入我们这个文件管理的掉落物品了
比如我这里需要随机掉落 金锭、铁锭、钻石
我就可以使用这三个 物品的数字ID或英文名字
数字id在Minecraft1.13+版本已经弃用,高于这个版本的请不要使用数字id
dropItem:
- "265"
- "266"
- "DIAMOND" #钻石使用的英文ID
当然,如果我们想掉落某些带有NBT的道具这个方法可能并不适用
所以我们需要再客户端手持带有NBT的道具,然后发送 /xlb save 道具名字
成功保存后,我们就可以在 dropItem
中使用到我们刚刚保存的道具了
比如我保存了一个道具名字为 测试道具
那么我想要他掉落的话就可以这样写
dropItem:
- "265"
- "266"
- "DIAMOND" #钻石使用的英文ID
- "测试道具"
至此,我们就将
随机物品
列表制作完成了,在方块配置中我们就可以直接调用随机物品
这个道具列表了