▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Betterworld(village)
Betterworld(village)

Betterworld(village)

This mod adds a new entity to Minecraft, providing players who want to simulate civilizations or build cities with a way to inject vitality and energy into their worlds.

Оцените первым
198
1
Все версииBetterworld(village) 1.1.2-forge1.20.1

Betterworld(village) 1.1.2-forge1.20.1

Alpha15.05.2026

Список изменений

版本:1.1.2 工作身份修正、GUI 整理与实体细节调整

-可以说这个版本实现了玩家当老板工人的所有设计,额理论上玩家甚至能给ai老板当员工。不过我不知道效果怎么样。

老板、员工与职业保持

  • 修正有员工的老板被刷新成 none 职业后原地站着不动的问题。
  • 工作绑定刷新现在区分“是否亲自占用工作点”和“是否属于某个工作点”。
  • 有员工的 owner 仍保留原职业和工作点,但对应工位工作 Goal 会被 WorkOwnership 跳过,转入老板生活模式。
  • 单 owner 没有员工时仍照旧亲自工作。

银行家买食物优先级

  • 修正银行家在缺食物时仍长期站岗的问题。
  • BankerWorkGoal 现在只要检测到 FoodPolicy.needsFood(steve),就不会继续启动或维持站岗。
  • PlanExecutor 现在会在当前 Goal 的 canContinue 变为 false 时允许切换目标,避免长时间站岗计划挡住买食物、回家取钱等行为。

GUI 主界面整理

  • 银行方块主界面重新排版:范围输入、范围操作、财务状态、owner/容量和底部入口按钮重新分区。
  • 资源点主界面重新排版:范围输入、范围操作、绑定操作、工作/规则入口分别成行。
  • 银行和资源点主界面的长文本会裁切,减少文字和按钮重叠。

网络权限与服务端校验

  • 家、农场、商人、镇方块的范围设置包补齐距离、管理权限和范围夹取校验。
  • 商人改价包补充管理权限和距离校验,避免非 owner / 非镇主伪造包改价格或收购上限。
  • Steve 作息设置新增 SteveAccess 权限判断,只有能管理该实体绑定家、工作点或镇方块的玩家,以及创造 / OP 玩家,才能修改作息。
  • Steve 信息页打开包增加距离校验,普通玩家不能远程打开任意已加载 Steve 信息页。
  • 清理 GUI 和网络包中残留的 System.out.println 调试输出。

Steve 皮肤与性别

  • Steve 皮肤现在按性别选择:
    • 男性从 steve.pngsteve1.pngsteve2.png 中随机选择。
    • 女性从 alex.pngalex1.pngalex2.png 中随机选择。
  • 渲染器按性别切换模型:男性使用普通 Steve 模型,女性使用 slim Alex 模型。
  • 性别判断改用 Unicode escape,避免 Java 源码中文编码损坏导致判断失败。
  • 已保存 SkinPath 的旧实体不会自动重抽皮肤;新生成或没有保存皮肤路径的实体会按新规则抽取。

饥饿消耗

  • 在线饥饿消耗改为每 1600 tick 扣 1 点。
  • Minecraft 一天为 24000 tick,因此现在一天约扣 15 点饥饿值。
  • 离线模拟同步使用同一个 SteveEntity.HUNGER_LOSS_INTERVAL_TICKS,保持在线和离线消耗一致。

AI 计划切换与失败冷却

  • PlanExecutor 修正同一个 Goal 反复重启自己的问题,只有更高优先级目标,或当前目标不能继续且新目标优先级不低时才切换。
  • 修正农民工作 / 巡田、资源工工作 / 返回资源点等计划来回抢占导致“移动中已到达”或反复折返的问题。
  • FoodTradeTask 在需要先补钱、交易失败、找不到合适商人等情况下都会写入食物购买冷却,避免银行家和其他职业无限刷购买尝试。
  • 交易冷却把 merchant_no_stockmerchant_remove_failedmissing_sell_price 视为当前商人不可继续尝试的终止失败,避免商人没库存时实体连续请求。

商人查找与库存保护

  • MerchantFinder.findCandidateMerchantBlocks 现在要求商人方块确实能满足当前交易请求,而不是只看是否有价格记录。
  • findBestMerchantBlock(steve, request) 找不到匹配请求的商人时返回 null,不再退回最近商人,避免实体跑去没有可交易库存的空店。
  • 绑定商人实体出售食物时改用 FoodPolicy.sellableMerchantStockCount,商人个人保留口粮不会被错误当作可出售库存。

起床期与早晨准备

  • Steve 新增上班前起床期:默认工作开始前 2000 tick 起床,但不会立刻执行早晨取物、买食物或正式工作。
  • isPersonalSleepTime 会排除上班前起床期,玩家睡过夜后实体不会继续被判定为该睡觉。
  • handleMorningRoutine 改为读取个人作息,不再写死 currentTime < 1200
  • 新增 MorningWakeGoal 并注册到 Brain,起床到正式上班之间会走轻量清醒状态。
  • Goals.isMorningPreparationTime 现在只覆盖正式工作时间,早晨准备、取钱取物从工作开始后再触发。

寻路、上下楼与床边睡觉

  • 1.1.2 最终版没有把 NavigationCache 的不可达缓存和指数退避接回普通移动主路径;普通移动继续走 MoveToTask + NavigationTargetResolver,最终交给原版 PathNavigation
  • MoveToTask 会先判断实体是否已经足够接近目标点;原版 moveTo(...) 返回 false 时也会再检查是否已经在交互距离内,避免“已经到床边/柜台边却被判定寻路失败”。
  • NavigationTargetResolver 在单段原版路径找不到时,会尝试 LayeredNavigationResolver 生成入口、出口、目标点的分层 waypoint 路线,用于楼梯、上下层和明显 Y 轴落差场景。
  • MoveToTask 现在按 NavigationRoute.waypoints() 逐段移动;商人交易移动也会先走第一段 waypoint,不再直接硬冲最终方块坐标。
  • NavigationTargetResolver.canStandAt 禁止把床面当普通站立点;功能方块、床、容器仍应视为交互坐标,优先找周围可站位。
  • SleepGoal 不再直接移动到床方块,而是选择床脚或床侧可站位置接近;真正睡觉仍由 SleepTask 对齐到 sleepY = bedY + 0.5625
  • 睡觉移动使用更宽的床边交互到达半径,和 SleepTask 的入睡范围保持一致,避免 Steve 到床边后显示寻路失败、需要玩家撞一下才躺下。
  • SleepTask 的床占用检测改为优先检查实体 sleepingPos 是否属于同一张床,修正两张床紧挨时隔壁床睡着的人把当前床误判为占用的问题。
  • Steve 醒着时如果站到床上或床内,会停止当前导航并尝试移动到最近可站的床侧位置,避免在床上原地旋转下不来。

GUI 与翻译补充

  • 资源点主界面二次整理按钮位置:绑定 / 解绑 / 管理与工作一次 / 规则入口分两行放置,减少与状态文本重叠。
  • 资源点主界面客户端管理按钮显示权限收紧为创造模式或 owner,普通无关玩家不再看到管理控件。
  • 状态翻译 status.betterworld.evening_wander 中文从“傍晚闲逛”改为“闲逛”。

Файлы

betterworld-1.1.2-forge1.20.1.jar(1.18 MiB)
Основной
Скачать

Метаданные

Канал релиза

Alpha

Номер версии

1.1.2-forge1.20.1

Загрузчики

Forge

Версии игры

1.20.1

Загрузок

7

Дата публикации

15.05.2026

Загрузил

ID версии

Главная