基岩版MC纯净生存服务器
本文最后更新于8 天前,其中的信息可能已经过时,如有错误请发送邮件到nahrice@qq.com

服务器介绍

服务器地址:进群了解,端口19132,服务器版本1.21.9,开启白名单
拥有CFSP假人系统,以及coralfans内置的诸多功能。
qq群聊:975420648。

实用功能介绍

  • 手持仙人掌右键可旋转的方块可以对方块进行旋转。
  • 强制打开本来不能打开的容器。
  • 自动填充方块(从潜影盒和背包)。
  • 自动补充图腾。
  • 强制放置。
  • 管理计划刻和游戏运行。
  • 查看服务器卡顿并定位卡顿源头。
  • 禁止一切爆炸事件。
  • 村庄结构可视化。
  • TPA传送home建家。

CoralFans实用功能

点我访问B站视频介绍

/fc

类似java灵魂出窍,旁观模式。

/func

  • 拥有调整全局功能配置的能力
/func forceopen <IsOpen: Boolean>
/func forceplace <all|entity|normal>
/func noclip <IsOpen: Boolean>
/func droppernocost <IsOpen: Boolean>
/func safeexplode <IsOpen: Boolean>
/func autotool <IsOpen: Boolean>
/func hoppercounter <IsOpen: Boolean>
/func maxpt <maxpt: int>
/func containerreader <IsOpen: Boolean>
/func autototem <IsOpen: Boolean>
/func autoitem <IsOpen: Boolean>
/func fastdrop <IsOpen: Boolean>
/func portaldisabled <IsOpen: Boolean>Copy to clipboardErrorCopied
  • func forceopen 强制开启容器
  • func forceplace 方块强制放置
    • all 表示无视所有限制, entity 表示无视实体, normal表示正常模式
  • func noclip 创造模式无碰撞箱
  • func droppernocost 投掷器不消耗物品
  • func safeexplode 爆炸不破坏地形
  • func autotool 自动切换工具
  • func hoppercounter 漏斗计数器
  • func maxpt 最大计划刻
  • func containerreader 容器预览
  • func autototem 自动补充图腾
  • func autoitem 物品自动补货
  • func fastdrop 快速扔出背包所有同类物品
  • func portaldisabled 玩家禁用传送门
  • func可以开启或者关闭部分功能的全局开关。功能分为两类,全局功能和个人功能。对于个人功能,需要使用func和self同时开启该功能才会生效;对于全局功能,只需要使用func指令开启,该功能则会令全服务器的所有玩家生效。
/self autotool <IsOpen: Boolean>
/self autotool mindamage <mindamage: int>
/self containerreader <IsOpen: Boolean>
/self autototem <IsOpen: Boolean>
/self autoitem <IsOpen: Boolean>
/self fastdrop <IsOpen: Boolean>
/self portaldisabled <IsOpen: Boolean>Copy to clipboardErrorCopied
  • self autotool 自动切换工具
    • self autotool mindamage 可以设置工具最小耐久值。低于耐久值的工具不会被自动选择
  • self containerreader 容器预览
  • self autototem 自动补充图腾
  • self autoitem 物品自动补货
  • self fastdrop 快速扔出背包所有同类物品
  • self portaldisabled 玩家禁用传送门
  • 当对应的功能没有在 func 指令中全局开启时, self 指令会一直将其配置为 false

/minerule

  • 用于修改游戏规则
/minerule fuck_bedrock_no_drop <IsOpen: Boolean>
/minerule fuck_movingBlock_no_drop <IsOpen: Boolean>
/minerule remove_portal_pigzombie_cd <IsOpen: Boolean>
/minerule replicated_portal_sand_farm <IsOpen: Boolean>Copy to clipboardErrorCopied
  • minerule fuck_bedrock_no_drop 还原旧版本基岩可掉落
  • minerule fuck_movingBlock_no_drop 修复movingBlock破坏时不掉落的bug
  • minerule remove_portal_pigzombie_cd 移除猪人15s传送cd
  • minerule replicated_portal_sand_farm 还原旧版本折跃门刷沙机

/village

  • 拥有显示村庄信息的能力
/village show <bounds|raid|spawn|center|poi|bind> <IsOpen: Boolean>
/village list
/village info <id: softenum>
/village dweller
  • village show <bounds|raid|spawn|center|poi|bind> <IsOpen: Boolean> 用于开关村庄相关的可视化:
    • bind 村民绑定信息可视化
    • bounds 村庄范围可视化
    • center 村庄中心可视化
    • poi POI的查询范围可视化
    • raid 劫掠刷新边界可视化
    • spawn 铁傀儡刷新范围可视化
  • village list 列出所有正在加载的村庄
  • village info <id: softenum> 显示指定VID或UUID的村庄的信息
  • village dweller 获取指向实体(村民)的信息

假人实用功能

/sp

  • 打开ui界面来操作假人

/sp p 假人名 navto x y z

  • 控制假人寻路到指定的[pos: x y z]地点(仅距离假人15格以内有效),不输入x y z则是寻路到玩家准星指向的方块上

脚本系统

腐竹已经写了一些假人的脚本,如下

/sp p SIM-猪人塔 script t.lua
/sp p SIM-猪人塔 script c.lua
/sp p SIM-猪人塔 script s.lua 1 340

对应于

投掷"SIM-猪人塔"所有的三叉戟直到没有三叉戟
查看"SIM-猪人塔"的背包有什么物品和和这些物品的id
"SIM-猪人塔"的背包里面的id为340的物品放到主手
(id340对应的是钻石剑,不清楚物品id可以先把物品丢给假人,再用第二个脚本指令查看id)

需要更多脚本要自行书写,详细书写方式可参考https://nahrice.cn/2025/07/30/coralfans的CFSP Lua Api Doc,或者访问https://coralfans-dev.github.io/CoralFans-doc/#/CFSP/CFSPLuaDoc?id=cfsp-lua-api-doc

以下是腐竹写的脚本的具体内容,可做参考使用。

-- 假人背包检查脚本
local checkedSlots = {} -- 记录已检查的槽位

function Init(arg)
thisPlayer = SimPlayer
-- 正确输出假人信息
thisPlayer:chat("§e===== 背包检查开始 =====")
thisPlayer:chat("§b执行者: "..thisPlayer:getName())
log("脚本执行者:", thisPlayer:getName(), "XUID:", thisPlayer:getXuid())
return true
end

function Tick()
-- 安全遍历0-35主背包槽位
for slot = 0, 35 do
if not checkedSlots[slot] then
local success, item = pcall(function()
return SimPlayer:getItemFromInv(slot)
end)

if success and item then
local itemName = item:getName() or "未知"
local itemType = item:getType() or "未知"
local itemId = item:getId() or 0
local itemCount = item:getCount() or 0

-- 游戏内播报
SimPlayer:chat(string.format("槽位 %d: %s (ID: %d)", slot, itemName, itemId))

-- 控制台日志
log(string.format("槽位 %2d: %s (ID: %d, 类型: %s, 数量: %d)",
slot, itemName, itemId, itemType, itemCount))
checkedSlots[slot] = true
else
checkedSlots[slot] = true
end
end
end

-- 检查是否全部完成
local allChecked = true
for i = 0, 35 do
if not checkedSlots[i] then
allChecked = false
break
end
end

if allChecked then
SimPlayer:chat("§a背包检查完成!")
log("===== 背包检查完成 =====")
return false
end

return true
end

-- 假人自动装备物品脚本
-- 用法: /sp p 假人名 script equip_item.lua 物品ID
local targetItemId = nil
local thisPlayer = nil

function Init(arg)
thisPlayer = SimPlayer
thisPlayer:chat("§e===== 装备主手开始 =====")
thisPlayer:chat("§b执行者: "..thisPlayer:getName())
log("原始参数:", arg, "类型:", type(arg))
-- 解析参数
targetItemId = tonumber(arg)
if not targetItemId then
thisPlayer:chat("§c错误: 需要提供物品ID参数!")
thisPlayer:chat("§b正确用法: /sp p 假人名 script s.lua 物品ID")
return false
end

thisPlayer:chat(string.format("§a正在寻找物品ID: %d", targetItemId))
return true
end

function Tick()
if not thisPlayer then return false end

-- 搜索整个背包(0-35是主背包,36-39是装备栏)
local foundSlot = -1
for slot = 0, 39 do
local item = thisPlayer:getItemFromInv(slot)
if item and item:getId() == targetItemId then
foundSlot = slot
break
end
end

if foundSlot == -1 then
thisPlayer:chat(string.format("§c背包中没有找到ID为 %d 的物品", targetItemId))
return false
end

-- 主手对应快捷栏槽位(0-8)
local hotbarSlot = 0 -- 默认第一个快捷栏

-- 特殊处理:如果物品已在快捷栏,直接选中
if foundSlot <= 8 then
hotbarSlot = foundSlot
else
-- 将物品移动到快捷栏
if not thisPlayer:selectSlot(foundSlot) then
thisPlayer:chat("§c选择物品失败!")
return false
end

-- 丢出再捡起强制刷新(部分服务器需要)
thisPlayer:dropSelectedItem()
thisPlayer:runCmd("/clear @s -1 0") -- 清除掉落物避免干扰
end

-- 选中主手槽位
if thisPlayer:selectSlot(hotbarSlot) then
local item = thisPlayer:getItemFromInv(hotbarSlot)
local itemName = item and item:getName() or "未知物品"

thisPlayer:chat(string.format("§a已装备到主手: §e%s §7(槽位 %d, ID: %d)",
itemName, hotbarSlot, targetItemId))

-- 强制刷新手持状态(部分服务器需要)
thisPlayer:useItem(1) -- 模拟右键点击
else
thisPlayer:chat("§c主手装备失败!")
end

return false -- 只执行一次
end

-- 假人自动投掷三叉戟脚本
local TRIED_ID = 579 -- 三叉戟的物品ID
local thisPlayer = nil -- 存储当前假人引用

function Init(arg)
thisPlayer = SimPlayer -- 初始化时保存假人引用
thisPlayer:chat("§e===== 自动投掷三叉戟开始 =====")
thisPlayer:chat("§b执行者: "..thisPlayer:getName())
log("脚本执行者:", thisPlayer:getName(), "XUID:", thisPlayer:getXuid())
return true
end

function Tick()
if not thisPlayer then return false end -- 安全校验

-- 搜索三叉戟
local slot = thisPlayer:searchInInvWithId(TRIED_ID)

if slot == -1 then
thisPlayer:chat("§c背包中没有三叉戟了")
log(thisPlayer:getName(), "背包中没有三叉戟")
return false
end

-- 获取物品信息用于日志
local item = thisPlayer:getItemFromInv(slot)
local itemName = item and item:getName() or "三叉戟"

-- 选择并投掷
if thisPlayer:selectSlot(slot) then
thisPlayer:chat(string.format("§a投掷 %s (槽位 %d)", itemName, slot))
log(string.format("%s 投掷三叉戟 (槽位 %d)", thisPlayer:getName(), slot))

thisPlayer:useItem(20) -- 投掷动作
return true
else
thisPlayer:chat("§c选择三叉戟失败!")
return false
end
end
😊nahrice😊

评论

  1. 傻fufu
    Windows Edge
    5 天前
    2025-8-06 22:45:13

    不错哦

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇