我对 LengFish 发布的 【原创 - [FishForgeCrafting] 锻造工艺——一款免费且配置极其灵活的锻造系统 支持1.7.10-1.20.1】的资源更新 进行了举报。原因为:
被举报的内容:
引流
被举报的内容:
简介
可视化锻造系统,支持自定义配方、材料品质、附魔继承。
内置JS引擎,1.7.10到1.20.1全版本兼容。
具体功能请查看图纸配置
其他插件分享
命令
代码:/ff help 帮助 /ff open (玩家名称) 打开锻造台(包含图纸,玩家名称选填,默认为本人) /ff remove (玩家名称) 移除某个玩家的数据 /ff give (图纸) (玩家名称(可选)) 给予图纸 /ff forge (图纸) (玩家名称(可选)) 直接锻造出物品 /ff reload 重载配置文件
配置文件
config.yml代码:########################################################### # FishForgeCrafting # 作者: LengFish # QQ:1836503502 ########################################################### # 插件显示前缀 plugin_name: "§f[§7鱼之锻造§f]" debug: false # 数据库设置 mysql: # 是否启用数据库 enable: false # 数据库地址 host: localhost # 数据库端口号 port: 3306 # 数据库名称 (也会作为数据库表名) database: fishforge # 数据库用户名 username: root # 数据库密码 password: admin # 高级设置 # 最大线程池连接数 maxPoolSize: 20 # 最小空闲连接数 minIdle: 3 # 连接超时时间 (ms) connectionTimeout: 30000 # 空闲连接存活时间 (ms) idleTimeout: 600000 # 连接最大存活时间 (ms) maxLifetime: 1800000 # 界面 # 图纸界面 blueprints_interface: # 大小 size: 54 # 占位物品 perch: # 展示物品 material: STAINED_GLASS_PANE # 需要占位的格子 slots: [ 45,46,47,48,49,50,51,52,53 ] display: "§8被封印的格子" lore: - "§r" - "§7铁匠流传下来的力量使这个格子封印了..." - "§r" # 下一页 next_page: material: NETHER_STAR slots: [ 51 ] display: "§8下一页" lore: - "§r" - "§7铁匠流传下来的力量增强了..." - "§r" # 上一页 last_page: material: NETHER_STAR slots: [ 47 ] display: "§8上一页" lore: - "§r" - "§7铁匠流传下来的力量消逝了..." - "§r" # 锻造界面 forge_interface: # 大小 size: 27 # 开始锻造 forge: # 展示物品 material: ANVIL # 监听的格子 slots: [22] display: "§e开始锻造..." lore: - "§r" - "§c(需要将材料放置容器内)" - "§c通过传承的力量来进行锻造..." - "§r" # 占位 perch: # 展示物品 material: STAINED_GLASS_PANE # 需要占位的格子 slots: [ 18,19,20,21,22,23,24,25,26 ] display: "§8被封印的格子" lore: - "§r" - "§7铁匠流传下来的力量使这个格子封印了..." - "§r"
图纸配置文件
example1.yml代码:########################################################### # 这里是图纸的配置文件 # 如何确定一个物品是否是图纸,没有严格的判断 # 确定一个物品是否是图纸,会判断这个物品的display和lore # 所以为了避免非图纸物品当作图纸物品使用,请一定要检查您的物品名称是否唯一 ########################################################### # 示例一 勇者之剑: blueprint_setting: # 图纸材质,这个不会被匹配,仅用于获取图纸时的材质 id: "BOOK" # 当玩家手上的物品名称为 "自定义武器图纸1" 或是 "§a自定义武器图纸1" 和"&a自定义武器图纸1" 请一定要对应! # 例如,物品名称为 "自定义武器图纸1" 那么就不代表 "§a自定义武器图纸1" 是一件物品 # 物品名称为 "自定义武器图纸1" 就是物品名称为 "自定义武器图纸1" 的物品, 它不能代表 物品名称为 "§a自定义武器图纸1" 的物品! match_display: "§a勇者之剑图纸" # 需要匹配的lore match_lore: - "§e这是勇者之剑图纸的lore" - "§e此lore会被记录到GUI" # 需要的材料(仅匹配lore和数量) material: "材料一": # 材料一lore match_lore: "乌木棍" # 所需数量 (注意!不要超过64) amount: 1 "材料二": match_lore: "赤铁" amount: 4 # 执行命令 (可以删除此项) # 成功后触发 commands: - "console:say 玩家 %player_name% 锻造成功了,让我们恭喜他!" - "op:say 我以OP的身份说我锻造成功了" - "say 我以普通玩家的身份说我锻造成功了" # 锻造成品 result: display: "§a勇者之剑" material: "IRON_SWORD" options: unbreakable: true enchantments: # type -> 附魔类型 # level -> 附魔等级 # ignore(可选,默认为忽略) -> 是否忽略等级限制 - "type=FIRE_ASPECT;level=2;ignore=false" - "type=DAMAGE_ALL;level=10" lore: - "§r" - "§a这是自定义武器的lore" - "§a伤害: <random_vault> - <random_vault_1>" - "§a锻造师: %player_name%" - "§a品质: <quality_level>" - "§e装备类型: 副手" - "§r" # 品质 quality: "普通": # 权重,权重越大概率越大 weight: 8 # 固定属性,此项的属性必定会被选中 base_attributes: # ia模型 (如果没有则填0,可选) # 如果你需要使用ia模型功能,请务必安装 NBTAPI插件 CustomModelData: 0 # 在上方 lore 中找到 <quality_level> 字段并替换词条 quality_level: # 模式 # append_string 将 context 的内容直接替换字段 mode: "append_string" context: "§8劣质" random_vault: # random_vault 将 context 的数字区间随机选择一个数值并替换字段 mode: "random_vault" context: "20-40" random_vault_1: mode: "random_vault" context: "40-60" "史诗": weight: 5 base_attributes: CustomModelData: 0 quality_level: mode: "append_string" context: - "§d优良" - "§c这是一把神级武器!" random_vault: mode: "random_vault" context: "60-80" random_vault_1: mode: "random_vault" context: "80-100"
example2.yml代码:魔法棒: blueprint_setting: id: "BOOK" match_display: "§a魔法棒图纸" match_lore: - "§e这是魔法棒图纸的lore" - "§e此lore会被记录到GUI" material: "材料一": match_lore: "乌木棍" amount: 1 result: display: "§d魔法棒" material: "STICK" lore: - "§r" - "§a这是自定义武器的lore" - "§a持有技能:" - "<skill1>" - "§a装备类型: 主手" - "§r" quality: "普通": weight: 8 skill1: # random_append_string 将从 context 的内容继续随机抽取词条进行替换字段 mode: "random_append_string" context: "技能一": weight: 5 context: "§d右键释放火球攻击" "技能二": weight: 5 context: - "§d右键释放冰球攻击" - "§d左键释放极寒领域"
example3.yml代码:英雄宝剑: blueprint_setting: id: "BOOK" match_display: "§a英雄宝剑图纸3" match_lore: - "§e这是英雄宝剑图纸的lore" - "§e此lore会被记录到GUI" material: "材料一": match_lore: "勇者徽章" amount: 7 result: display: "§e英雄宝剑" material: "DIAMOND_SWORD" lore: - "§r" - "§a这是自定义武器的lore" - "§a脚本1输出: <script_1>" - "§a脚本2输出: <script_2>" - "§a脚本3输出: <script_3>" - "§a装备类型: 主手" - "§r" quality: "普通": weight: 8 script_1: # script_function 将从 context 中使用目标脚本进行运算 mode: "script_function" context: "name=example1.js;result=example1()" script_2: mode: "script_function" # name=js名字,args=参数数量,arg1代表第一个参数(根据args的数量来进行递增,如args=N,arg1,arg2,arg3,...,argN),它可以是一个固定值也可以是一个PAPI变量,result=js返回的数值 # 值得注意的是,在字符串中不允许出现空格或者其他占位符,否则会导致意外错误! # 并且需要遵循以下格式 context: "name=example2.js;args=2;arg1=20;arg2=30;result=example2()" script_3: mode: "script_function" context: "name=example3.js;args=1;arg1=%player_ping%;result=example3()"
JS脚本文件(结合图纸配置示例三理解效果更佳)
example1.yml代码:function example1() { return 20; }
example2.yml代码:function example2(arg1, arg2) { return arg1 + arg2; }
example3.yml
代码:function example3(papiArg1) { return papiArg1; }
下载链接
引引流,希望大家可以支持下(插件在群里,因为更新频繁,然后每个帖子都去更新太麻烦了,所以把插件本体放在群里了)
QQ群:516656715