Skip to content

About

优化了一些东西,增加了一些好玩的功能

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Carpet-RTS-Addition

面向 Minecraft 26.3 的 Carpet 扩展模组,通过 /carpet 开关启用功能,默认全部关闭。

规则 中文名 默认 作用
rtsRecipes 更好的合成 关 启用模组自带的 39 个附加配方
infiniteBuckets 无限桶 关 水桶/熔岩桶可附魔"无限",带无限的桶使用后不被消耗
rightClickHarvest 右键收割 关 右键成熟作物直接收割,并自动消耗一个种子补种
boneMealCatalyst 骨粉催化 关 骨粉可催化甘蔗、仙人掌、地狱疣、藤蔓
afkPlayerProtection 挂机保护 关 挂机玩家与假人免疫窒息、雷击、摔落、幻翼
autoEatAfk 挂机自动进食 关 挂机时饱食度低于阈值自动进食
autoEatAfkTarget 自动进食对象 all fakePlayers / trueplayer / all
autoEatAfkThreshold 自动进食阈值 6 饱食度低于此值时进食(0-20)
autoEatAfkFoods 自动进食食物 * * 或逗号分隔的物品 ID 列表
betterLead 更好的拴绳 关 命名为 Lasso 的拴绳可捕捉/释放生物
betterLeadName 套索名称 Lasso 触发捕捉所需的物品自定义名称
fakePlayerPickup 假人拾取控制 关 对指定假人按黑白名单过滤拾取物

更好的合成(rtsRecipes)

开启后可以使用模组自带的 39 个配方。它们与原版配方并存,不覆盖原版,例如:

  • 8 个原木 → 4 个箱子
  • 7 个原木 → 4 个木桶 / 8 个堆肥桶 / 24 个梯子
  • 6 个原木 → 16 个对应材质的楼梯(共 12 种材质)
  • 3 个铁块 → 9 个桶
  • 5 个铁块 → 9 个矿车
  • 2 个铁块 → 9 个重型测重压力板
  • 6 个铁块 → 27 个铁门
  • 1 个浮冰 → 9 个冰 / 1 个蓝冰 → 9 个浮冰
  • 另有发射器、岩浆膏、西瓜片、铁活板门、铁链、灯笼、箱子/熔炉/TNT/漏斗矿车等便捷配方

开启:/carpet rtsRecipes true

关闭时工作台无法匹配这些配方,/recipe 也取不到;配方书里可能仍显示条目(内容在世界加载时生成并同步给客户端),但点击无效。

无限桶(infiniteBuckets)

开启后:

  1. 可以附魔:给水桶 / 熔岩桶附上"无限"
    • 铁砧 + 无限附魔书
    • /enchant @s minecraft:infinity(手持水桶/熔岩桶)
  2. 使用不消耗:带无限的桶放置水/岩浆后仍留在手里,附魔保留

开启:/carpet infiniteBuckets true

关闭规则后,已附魔的桶仍保有附魔,但恢复普通消耗(用完变空桶)。

已知限制:

  • 发射器路径不享受无限效果
  • 创造模式的铁砧会跳过"能否附魔"的判定(原版行为),因此创造模式下规则关闭也能附魔,只是没有无限效果

右键收割(rightClickHarvest)

开启后右键点击成熟作物即可收割,无需破坏方块:

  • 产物按原版掉落表计算(时运等影响照常生效)
  • 同时自动补种:优先消耗本次收获里的种子,没有则从背包扣一个
  • 手上和掉落里都没有种子时不补种,作物按普通破坏移除

适用作物:小麦、胡萝卜、马铃薯、甜菜根(即所有继承 CropBlock 的作物)。

开启:/carpet rightClickHarvest true

说明:

  • 潜行(Shift)时右键不触发,便于在农田上摆放方块
  • 生长中的作物不受影响,骨粉照常生效;成熟作物上手持骨粉右键会先走收割
  • 下界疣、可可豆等不属于 CropBlock 的作物不支持

骨粉催化(boneMealCatalyst)

开启后,骨粉可以催化原版拒绝催熟的植物,每次消耗一个骨粉,并播放骨粉粒子与音效:

植物 效果
甘蔗 / 仙人掌 顶端再长一格(上限 3 格,与原版一致)
地狱疣 生长阶段 +1(上限 3)
藤蔓 沿当前附着的墙面往下延伸一格

开启:/carpet boneMealCatalyst true

说明:

  • 只处理原版不能催熟的方块;小麦、树苗、竹子等原本可催熟的植物行为完全不变
  • 仙人掌新格旁边有固体方块时不会生长(沿用原版存活条件)
  • 藤蔓只有在下方格仍有可依附墙面时才延伸
  • 已经到上限时不消耗骨粉

挂机保护(afkPlayerProtection)

开启后,挂机玩家与 Carpet 假人(/player 创建的假玩家)不会因下列意外死亡:

伤害 说明
窒息 卡在方块内部(in_wall)
雷击 自然闪电、引雷三叉戟
摔落 落地伤害
幻翼 幻翼发起的攻击(不限伤害类型)

开启:/carpet afkPlayerProtection true

判定「挂机」:连续 60 秒既没有移动、转头,也没有点击。Carpet 假人始终受保护,与挂机时长无关。

说明:

  • 只拦截这四类意外伤害;怪物、玩家、岩浆、虚空等仍会正常致死
  • 玩家一移动、转头或点击就立即解除保护,需要再挂机 60 秒才会重新生效
  • /kill 等直接指令伤害不在拦截范围
  • 被保护时不会播放受伤动画、也不会被击退,相当于这次伤害没有发生

挂机自动进食(autoEatAfk)

开启后,挂机玩家与假人饱食度低于阈值时会自动从背包取食,走原版进食流程(营养、饱和度、药水效果、音效粒子、统计全部照常):

  • 开启:/carpet autoEatAfk true
  • 阈值:/carpet autoEatAfkThreshold 6(0-20,默认 6,即 3 格饥饿值)
  • 对象:/carpet autoEatAfkTarget all(fakePlayers 只喂假人 / trueplayer 只喂真人 / all 两者都喂)
  • 食物:/carpet autoEatAfkFoods *(* 任意食物;也可写 minecraft:baked_potato,minecraft:bread)

行为细节:

  • 「挂机」判定与 afkPlayerProtection 共用:连续 60 秒无移动/转头/点击;假人始终视为挂机
  • 按背包顺序(快捷栏优先)取第一个符合条件且属于允许列表的食物,每次进食间隔至少 1 秒
  • 正在使用物品(吃东西、拉弓、举盾)时不打断
  • 创造模式饱食度不会下降,因此实际不会触发

建议:默认 * 会把金苹果、附魔金苹果也算作可用食物;挂机场建议显式指定廉价食物,例如 /carpet autoEatAfkFoods minecraft:baked_potato,minecraft:bread,minecraft:cooked_beef。

更好的拴绳(betterLead)

开启后,改名为 Lasso 的拴绳变成"套索":

  1. 捕捉:手持套索右键生物(村民、动物、怪物等)→ 生物被收进物品,物品落入背包
  2. 释放:手持套索右键方块表面 → 生物在点击位置旁边重新出现,套索变回空套索可继续使用

开启:/carpet betterLead true

改名:铁砧把拴绳改名为 Lasso,或用 /give @s minecraft:lead[custom_name='"Lasso"']。 想换成别的名字(例如 套索):/carpet betterLeadName 套索

细节:

  • 捕捉保存的是生物的完整 NBT(生命、成长阶段、村民职业与交易、马匹属性、宠物主人、自定义名称、装备等),释放后与原生物一致
  • 释放时使用新的 UUID 并面向玩家,因此反复捕捉/释放不会产生 UUID 冲突或复制
  • 末影龙、凋灵无法被捕捉;玩家、盔甲架、展示框等非生物实体也不受影响
  • 未改名的拴绳行为完全不变(仍可用于拴住并牵引生物)
  • 生物身上的乘客/坐骑不会被一起打包;捕捉前请先让它们下来
  • 创造模式捕捉不消耗拴绳(与原版创造模式的规则一致)

假人物品拾取控制(fakePlayerPickup)

控制 Carpet 假人(/player)能捡起什么,避免挂机假人把杂物全塞进背包。

开关:/carpet fakePlayerPickup true(默认关闭,持久化在 carpet.conf)

配置:全部走 /fakePlayerPickup 命令,参数都支持 TAB 补全

命令 作用 反馈
/fakePlayerPickup 显示开关、模式、过滤清单、生效假人 fakePlayerPickup: on | mode: blacklist | items: ... | fake players: ...
/fakePlayerPickup mode <模式> off 不过滤 / blacklist 清单内不捡 / whitelist 只捡清单内 拾取模式已设为 blacklist
/fakePlayerPickup items list 查看过滤物品清单(items 单独使用同效) 过滤物品清单:minecraft:diamond
/fakePlayerPickup items set <物品ID> 加入过滤清单(TAB 补全物品 ID,可省略 minecraft:) minecraft:diamond 已添加
/fakePlayerPickup items remove <物品ID> 从清单移除 minecraft:diamond 已删除
/fakePlayerPickup items clear 清空清单 过滤清单已清空
/fakePlayerPickup player list 查看生效假人(player 单独使用同效);未配置时显示 (空) 拾取过滤生效的假人:RtsBot
/fakePlayerPickup player set <假人> 把假人加入生效列表(TAB 补全在线假人,逗号分隔多个) RtsBot 已添加
/fakePlayerPickup player set * 把当前所有在线假人一次性加入列表 RtsBot, OtherBot 已添加
/fakePlayerPickup player remove <假人> 从生效列表移除假人 RtsBot 已删除
/fakePlayerPickup player remove * 清空生效列表(回到"谁都不拦") RtsBot, OtherBot 已删除

示例(只让农场假人不捡腐肉和骨头):

/carpet fakePlayerPickup true
/fakePlayerPickup mode blacklist
/fakePlayerPickup items set minecraft:rotten_flesh
/fakePlayerPickup items set minecraft:bone
/fakePlayerPickup player set RtsBot_Farm

说明:

  • 默认模式是 blacklist、物品清单与假人列表都为空,所以只开开关不会有任何变化,要 items set 加物品、player set 加假人才生效
  • player set <假人> 是追加(不是替换),可以多次添加多个假人;player set * 只是把当前在线假人一次性加进来,不是常驻的"全部"开关
  • 假人列表为空 = 谁都不拦,此时假人照常拾取;想恢复"谁都管"要重新 player set
  • player set * 只按当前在线假人展开一次,不会记录"以后新加的假人也自动生效";没有在线假人时会提示失败
  • 列表里记的是名字,假人下线后名字仍保留(重新上线继续生效);要清空用 player remove *
  • player remove 删掉最后一个假人后列表变空,过滤立即失效(list 显示 (空))
  • whitelist + 空物品列表 = 什么都不捡,这是有用配置;配错了用 items clear / mode off 恢复
  • 配置命令在开关关闭时也能用,方便先配好再开启
  • 只影响假人,真人玩家完全不受影响
  • 被拦下的物品留在地上(不会被删除),改配置后立刻恢复拾取
  • 物品按 ID 精确匹配,不支持标签(#minecraft:logs)
  • 与 autoEatAfk 互不干扰:自动进食是从背包取,不走拾取流程
  • 假人自己丢弃的物品同样受此规则约束
  • ⚠️ 模式/物品/假人列表保存在内存中,重启服务器后重置为默认(/carpet fakePlayerPickup 开关本身会保留),重启后用 carpet.conf 或重新执行命令

About

优化了一些东西,增加了一些好玩的功能

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages