McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
datapack function library

datapack function library - 数据包函数库

该数据包为开发者提供了一些实用功能,兼容所有Minecraft版本(无法安装数据包的版本除外)。
datapack / fabric / forge / neoforge 作者 white_elephant 支持版本 1.13 - 1.21.10
下载量
31,895
关注数
9
数据来源
Modrinth
模组详细介绍

中文介绍:GitHub | MC 百科

前言

本数据包遵循 [GNU 宽通用公共许可证](https://www.gnu.org/licenses/lgpl-3.0.txt "前往此开源许可证页面") 授权。

本数据包为开发者提供了一些实用的功能(以及一些对话框),兼容所有版本的 Minecraft(除了无法安装数据包的版本)。

但由于数据包涉及的命令较多,较低版本可能无法使用所有功能。所有功能的适用版本将不会在下方说明。

请同时安装资源包以使用本地化内容(v3.2+)。否则,数据包语言将默认为 zh_cn。

本数据包的模组版本通过 Modrinth 打包,内容与数据包版本完全相同,但不一定是最新版本。请尽量使用数据包版本。

本数据包提供了一个 dfl:dfl_enable 函数,可以将此记分板中所有实体的分数设为 1,方便依赖此数据包的数据包或模组检测此数据包是否已加载。

示例:

# 在数据包加载时执行:
scoreboard objectives add dfl_scoreboard dummy
scoreboard players set dfl_enable dfl_scoreboard 0
# 如果未加载:
function dfl:dfl_enable
execute unless score dfl_enable dfl_scoreboard matches 1
# 如果已加载:
function dfl:dfl_enable
execute if score dfl_enable dfl_scoreboard matches 1

注意:部分功能在其用法后附有“前置功能”。这些功能必须在执行它们之前执行一次。

部分功能用法后跟有 {xx:"xx"}。这些功能是宏函数。使用时需要通过 {:""} 传递参数(用法中的参数是作者在开发过程中测试推荐的参数,或是作者用于测试的参数)。参数名(例如 num)在文本中表示为:{num}。参数格式可参考功能用法,特殊格式会加以说明。

如果遇到任何问题,请点击此处进行反馈。


功能说明

启动

此类别中的功能建议在数据包加载(重载)时执行。

禁用特殊伤害

功能用法:/function dfl:start/disablespecialdamage

  • 摔落伤害;
  • 火焰伤害;
  • 冰冻伤害;
  • 溺水伤害。

将重生点固定为 0 0

功能用法:/function dfl:start/setworldspawn

  • 将世界重生点设置为 0 0 0;
  • 将重生点半径设置为 0;
  • 此时玩家将被固定重生在坐标 0 0 的最高方块上。

启用死亡排行榜

功能用法:/function dfl:start/show/enabledeathscoreboard

  • 创建一个名为 death 的记分板项;
  • 死亡次数将显示在屏幕右侧;
  • 玩家死亡次数按从高到低排序;
  • 注意:首次启用时死亡排行榜不会显示,需任意玩家死亡后才会显示。

显示玩家生命值

功能用法:/function dfl:start/show/displayhealthbelow_name

  • 创建一个名为 health 的记分板项;
  • 玩家的生命值将显示在玩家 ID 下方;
  • 距离稍远时不会显示(仅显示玩家 ID);
  • 注意:首次启用时生命值会显示为 0,需数值更新(如受伤)后才会显示。

显示玩家经验等级

功能用法:/function dfl:start/show/displaylevelin_tab

  • 创建一个名为 level 的记分板项;
  • 每位玩家的经验等级将显示在 Tab 栏(玩家列表栏)中;
  • 注意:首次启用时经验等级会显示为 0,需数值更新(如升级)后才会显示。

显示玩家生命条

功能用法:/function dfl:start/show/displayhealthin_tab

  • 创建一个名为 health 的记分板项;
  • 每位玩家的生命条将显示在 Tab 栏(玩家列表栏)中。
  • 效果如下:
[DFL] 数据包功能支持库 (datapack function library)-图片 1

快速创建新队伍

功能用法:/function dfl:start/createteams {teamblue:"blue",teamred:"red",prefixblue:"blue",prefix_red:"red"}

  • 创建两个名为 {teamblue} 和 {teamred} 的队伍;
  • 颜色分别为蓝色和红色;
  • 禁用同队玩家的友军伤害;
  • 玩家只能与不同队的实体发生碰撞;
  • 玩家名称前缀分别为 {prefixblue} 和 {prefixred}

每刻

此类别中的功能建议每刻执行。

软封禁玩家

功能用法:/function dfl:tick/softbanplayer {title:"封禁原因",subtitle:"备注"}

  • 注意:此功能的执行者必须是被封禁的玩家,可以使用 /execute 命令;
  • 通过不断将玩家传送到 0 0 0、设置为冒险模式、持续给予玩家负面效果来实现软封禁;
  • 必须每刻执行;
  • 标题为 {title},副标题为 {subtitle};
  • 示例:/execute as @a[tag=ban] run function dfl:tick/softbanplayer {title:"封禁原因",subtitle:"备注"}

效果如下:

[DFL] 数据包功能支持库 (datapack function library)-图片 2

信标鞘翅起飞

功能用法:/function dfl:tick/beacon_fly

  • 当信标下方有铁块、金块、绿宝石块、钻石块或下界合金块时,玩家将被向上传送(旁观者不会被传送);
  • 高度依次为 20、40、60、80、100 格;
  • 相同方块可叠加以增加高度(最高为 400 格,使用四个下界合金块)。若方块不同,则使用最靠近信标的方块。

一键负面效果

功能用法:/function dfl:tick/apply_debuffs

给予功能执行者以下负面效果:

  • 缓慢
  • 挖掘疲劳
  • 反胃
  • 黑暗
  • 饥饿
  • 虚弱
  • 中毒
  • 霉运
  • 试炼灾兆

铁块电梯

功能用法:/function dfl:tick/ironblockelevator

  • 当玩家站在上下两个铁块之间时,将其向上传送;
  • 最大传送距离为 6 格,即两个铁块之间最大距离为 5 格;
  • 不会传送旁观者;
  • 会传送生物和非生物实体。

实体过多时清理

功能用法:/function dfl:tick/killexcessentities {num:"1000"}

  • 当非玩家实体数量大于 {num} 时,清除所有非玩家实体;
  • 不会清除带有 need 标签的实体;
  • 带有 need 标签的实体不计入此处实体数量;
  • 创建一个名为 dfl_scoreboard 的记分板项。
  • 执行后会在聊天栏显示提示,效果如下:
[DFL] 数据包功能支持库 (datapack function library)-图片 3

实体密度过高时清理

功能用法:/function dfl:tick/killbydensity {num:"50"}

前置功能:/function dfl:lib/getentitydensity

  • 使所有实体在 10 格范围内的实体数量大于 {num} 时清除这些实体;
  • 不会杀死玩家;
  • 不会杀死村民;
  • 不会杀死带有 need 标签的实体;
  • 不会在聊天栏留下痕迹。

Minecraft 太难了

功能用法:/function dfl:tick/mith

  • 启用死亡不掉落;
  • 给予执行者夜视效果;
  • 给予执行者发光效果;
  • 移除执行者的黑暗效果。

显示实体数量

功能用法:/function dfl:tick/displayentitycount

前置功能:/function dfl:lib/getentitycount

  • 在玩家的操作栏(快捷栏上方)显示实时实体数量。
  • 效果如下:
[DFL] 数据包功能支持库 (datapack function library)-图片 4

禁用玩家友军伤害和碰撞

功能用法:/function dfl:tick/disablefriendlyfire

  • 添加一个名为 dfl 的队伍,并将所有玩家加入此队伍;
  • 注意:由于同一实体无法加入多个队伍,若想使用玩家队伍功能,请勿启用此功能;
  • 禁用队伍友军伤害;
  • 禁用队伍内碰撞;
  • 若未每刻运行此功能,请确保每次新玩家加入后运行一次此功能。

TNT 实体密度过高时清理

功能用法:/function dfl:tick/killtntby_density {num:"200"}

  • 当 TNT 五格范围内的 TNT 实体数量大于 {num} 时,清除这些 TNT 实体;
  • 创建一个名为 dfl_tntdensity 的记分板项。

无权限玩家自杀

功能用法:/function dfl:tick/trigger_suicide

  • 创建一个名为 kill 的记分板项;
  • 输入 /trigger kill 即可自杀(此命令不需要任何权限)。

大范围替换方块

功能用法:/function dfl:tick/change_block {new:"glass",old:"stone",num:"30"}

  • 在玩家周围 {num}3 *8 的范围内将 {old} 替换为 {new};
  • 将游戏规则 commandModificationBlockLimit 更改为 2147483647。

始终白天 + 始终晴天

功能用法:/function dfl:tick/always_sunny

  • 关闭昼夜循环;
  • 关闭天气变化;
  • 将时间设为白天;
  • 将天气设为晴朗。

清除单个物品并执行命令

功能用法:/function dfl:tick/clearandexecute_single {name:"stone",run:"tp ~ 100 ~"}

  • 清除所有玩家一个 {name} 并执行 {run};
  • 注意:run 参数中的命令开头和结尾不应有额外空格,命令前不应有斜杠。

清除指定物品并多次执行命令

功能用法:/function dfl:tick/clearandexecute_multiple {name:"sand",run:"give @s anvil"}

  • 清除功能执行者所有 {name} 并执行相应次数的 {run} (在同一刻内)
  • 注意:run 参数中的命令开头和结尾不应有额外空格,命令前不应有斜杠。

保持拥有物品

功能用法:/function dfl:tick/maintainitemcount {name:"slime_block",num:"64"}

  • 让命令执行者恰好拥有指定数量的物品。

自救平台

功能用法:/function dfl:tick/createrescueplatform

前置功能:/function dfl:lib/getgametime

  • 创建一个名为 dflslimemarker_temp 的记分板项,用于存储史莱姆平台生成的时间;
  • 在带有 dfl_slime 标签的玩家下方生成一个 3*3 的史莱姆平台并移除标签。史莱姆平台只能覆盖空气方块;
  • 史莱姆平台位置的史莱姆块将在 `` 刻后被清除;
  • slimetime 的 dflscoreboard 记分板项在未赋值时会被设为 200,即 10 秒;
  • 平台生成时玩家位置 2 格范围内的史莱姆块掉落物会被清除。

物品转换为经验

功能用法:/function dfl:tick/thingstoxp {name:"tnt",xp:"1"}

  • 将功能执行者身上的每个 {name} 转换为 {xp} 点经验值。

tpa

功能用法:/function dfl:tick/tpa

前置功能:/function dfl:lib/generateplayerid

  • 创建名为 tpa 和 tpa_enable 的记分板项;
  • 输入 /trigger tpa set 即可传送到对应玩家;
  • 输入 /trigger tpa_enable 即可允许其他玩家传送到自己,且不可撤销(若不执行此命令,则所有其他玩家均无法传送到此玩家)。若在此命令中使用 set 设置其他值,则无效(不会允许其他玩家传送到自己)。仍可通过 set 再次设为 1 以允许其他玩家传送到自己;
  • 若待传送玩家不存在或未允许其他玩家传送到自己,则会在对应玩家 id 可传送后传送到对应玩家。在此期间,tpa 对象仍可随意更改。

自动熔炼

功能用法:/function autosmelt:smelt {input:"rawiron",output:"iron_ingot"}

  • 消耗 {input} 并给予功能执行者相应数量的 {output};
  • 熔炼一个物品消耗 1 点经验值。若玩家没有经验,则不会熔炼物品;
  • 若背包同时有三种支持的燃料,这些燃料将同时被消耗;
  • 消耗一个煤炭块后,可同时熔炼 9 个物品,并扣除 9 点经验值。

计时器

此类别中的功能建议在一段时间后执行。(可使用 [/schedule](https://zh.minecraft.wiki/w/%E5%91%BD%E4%BB%A4/schedule "前往 wiki 查看此命令用法") 命令)

清理掉落物

功能用法:/function dfl:timer/clear_items

  • 创建一个名为 dfl_scoreboard 的记分板项;
  • 清除所有掉落物并通过 /tellraw 输出清除的掉落物数量;
  • 不会清除带有 need 标签的掉落物。
  • 效果如下:
[DFL] 数据包功能支持库 (datapack function library)-图片 5

显示实体数量信息

功能用法:/function dfl:timer/displayentityinfo

前置功能:

/function dfl:lib/getentitycount

/function dfl:lib/getitemcount

/function dfl:lib/nonplayerentities

此功能效果如下:

[DFL] 数据包功能支持库 (datapack function library)-图片 6

此类别中的功能单独执行时无效果或不适合归入以上类别。

强制死亡掉落

功能用法:/function dfl:lib/forcedeathdrops

  • 关闭死亡不掉落。
  • 杀死功能执行者。
  • 开启死亡不掉落。

获取实体数量

功能用法:/function dfl:lib/getentitycount

  • 创建一个名为 dfl_scoreboard 的记分板项;
  • 将实体数量写入 entity 的 dfl_scoreboard 记分板项。

获取实体密度

功能用法:/function dfl:lib/getentitydensity

  • 创建一个名为 dfl_density 的记分板项;
  • 将所有实体 10 格范围内的实体数量写入此实体的记分板项。

获取掉落物数量

功能用法:/function dfl:lib/getitemcount

  • 创建一个名为 dfl_scoreboard 的记分板项;
  • 将掉落物数量写入 item 的 dfl_scoreboard 记分板项。

获取非玩家实体数量

功能用法:/function dfl:lib/nonplayerentities

  • 创建一个名为 dfl_scoreboard 的记分板项;
  • 将非玩家实体数量写入 otherentity 的 dflscoreboard 记分板项。

获取游戏天数

功能用法:/function dfl:lib/getgameday

  • 创建一个名为 dfl_scoreboard 的记分板项;
  • 将游戏天数写入 day 的 dfl_scoreboard 记分板项;
  • 游戏天数 - 昼夜循环中已过去的天数,即昼夜循环时间除以 24000 取整数商的结果。

获取白天时间

功能用法:/function dfl:lib/getdaytime

  • 创建一个名为 dfl_scoreboard 的记分板项;
  • 将白天时间写入 daytime 的 dfl_scoreboard 记分板项;
  • 白天时间 - 自该日日出以来已过去的游戏刻数,即昼夜循环时间除以 24000 取余数的结果。

用玻璃包围玩家

功能用法:/function dfl:lib/createglassbox

  • 在命令执行者处生成一个 5*5 的空心玻璃立方
基本信息
模组名称datapack function library
作者white_elephant
下载量31,895
关注数9
支持版本1.13 - 1.21.10
加载器datapack / fabric / forge / neoforge
客户端optional
服务端required

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:86,083  |  历史访问人次:175,307

今日访问人数:16,758  |  今日访问人次:18,470

昨日访问人数:20,761  |  昨日访问人次:24,774

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6