跳到主要内容

1.1

提示

为保证和原始更新日志一致,日志文本无须遵守格式规范,且不作相关调整。


版本列表


Alpha 1.1_01

发布于 25.03.07 。

周末快乐!本周的周末我们将开启两个资源的测试:第一个是《冒险世界:筑梦》的 v0.45 版本,而第二个则是《起床战争》的 Alpha 1.1_01 版本的测试!

在这次的更新中,我们加入了一大堆更新内容,并修复了一大堆的漏洞!比如……设置界面、自主选队、击杀样式,以及其他各种大大小小的更改。来看看这次的更新吧,祝你偷床顺利!>:)

地图

  • 新增 1 张 4 队地图:伊斯特伍德(Eastwood)。
  • 新增 3 张 8 队地图:瀑布(Waterfall)、乐园(Playground)、灯塔(Lighthouse)。
  • 现在所有的地图都有特定的最低建造高度上限。
  • 现在所有的地图都有特定的治愈池范围。
  • 现在地图 屋顶 的最低建造高度上限由 55 提升到了 62。
  • 现在默认的加载时长由 5 秒调整为了 15 秒。特殊地,屋顶的加载时长延长到了 30 秒。
  • 现在所有的单挑模式的地图的铁锭、金锭生成速度都是 4 队模式或 2 队模式生成速度的 60 %。您可以见下表以查看我们所作出的更改。
1.0 版本Alpha 1.1_01 版本
4 队模式和 2 队模式的铁生成间隔6 游戏刻6 游戏刻
单挑模式的铁生成间隔20 游戏刻6 / 0.6 = 10 游戏刻
4 队模式和 2 队模式的金生成间隔75 游戏刻75 游戏刻
单挑模式的金生成间隔120 游戏刻75 / 0.6 = 125 游戏刻
  • 现在所有的单挑模式每次都生成 3 个铁而非 1 个。

设置

  • 隆重介绍:新的设置菜单!
  • 以前的/scriptevent命令被全部移除,转而使用设置菜单代替。
  • 新增了一个物品:设置
  • 右键使用设置物品调出设置菜单。
  • 在开始游戏前,创造模式的玩家能够默认获得此物品。
  • 现在设置能够在设置完成后自动备份数据,能够在/reload、重启地图、重启服务器前恢复以前设置的数据。即:现在设置不再会因前述原因而重置。
  • 设置菜单分为 7 个子项,完全继承以前的设置命令功能。下文中,【设置项】为命令系统原有的设置。
    • 游戏前设置:控制游戏前的运行逻辑,例如地图重置、等待时。
      • #29 地图重置设置:
        • 地图清除速度(设定地图清除的速度)
        • 地图加载速度(设定地图加载的速度)
      • 等待设置:
        • 【玩家人数下限】
        • 玩家人数上限(设定一局最多能有多少玩家加入到游戏,余下的玩家将被随机设置为旁观者)
        • 【开始游戏的等待时间】
      • 组队设置
        • 组队模式 (暂未实装)
        • 开始前组队 (暂未实装)
        • 玩家自主选队(允许玩家在开始游戏前自主选择其所归属的队伍)
    • 游戏内设置:控制资源生成、复活时间等。
      • 【资源上限设置】
        • 【铁生成上限】
        • 【金生成上限】
        • 【钻石生成上限】
        • 【绿宝石生成上限】
      • 资源生成间隔设置:(是的,现在你可以调整资源生成间隔了!)
        • 铁生成间隔(平均每个铁生成的时长)
        • 金生成间隔(平均每个金生成的时长)
        • 钻石生成间隔(平均每个钻石生成的时长)
        • 绿宝石生成间隔(平均每个绿宝石生成的时长)
        • 单挑模式生成倍率(在单挑模式下,资源生成的速度是 4 队模式的多少倍)
      • 【重生时间设置】
        • 【普通玩家重生时长】
        • 【重进玩家重生时长】
      • 击杀样式设置:
        • 启用击杀样式(是否允许玩家使用其他击杀样式)
        • 随机击杀样式(每局为每个玩家随机分配击杀样式,而不是令他们自己选择)
      • 无效队伍设置
        • 无效队伍检测(是否在游戏开始后检测无效队伍)
        • 【无效队伍能否生成资源】
        • 无效队伍能否生成商人 (暂未实装)
    • 【地图启用设置】:控制何种地图能够生成。
      • 【启用经典 2 队模式地图】
      • 【启用经典 4 队模式地图】
      • 【启用经典 8 队模式地图】
      • 【启用夺点 2 队模式地图】(拆分出来单独的模式
    • 【生成地图】:立即生成地图。
    • 杂项设置:
      • 【破坏原版方块】
      • 虚空扔物品(掉入虚空的玩家是否能够扔出物品)
    • #22 关于:制作人和关于我们的页面。
    • 开发者设置:开发人员可用的设置项。正式版本发布后,将移除此设置。

击杀样式

  • 隆重介绍:10 种全新的击杀样式!
    • 其中,9 种来自于 Hypixel 原版。
    • 另一种则是我们整的活!>:)
  • 你可以在开始游戏前进行设置。
  • 如果地图设置启用,每个玩家都将获得一个设置物品。
  • 现在铁傀儡、蠹虫的击杀也算作击杀数,并且拥有专门的击杀信息。

自主选队

  • 隆重介绍:自主选队!
  • 如果地图设置启用,每个玩家都可以获得一个设置物品,玩家将可以在开始前自主选择自己要加入的队伍!
    • 这个设置默认是关闭的,以和 Hypixel 匹配。
    • 如果需要的话,你可以联系房主,让 ta 开启这个设置。
  • 自主选队时,也只允许一个队伍比另一个队伍最多多出 1 名玩家。
    • 因此,类似于3 3 3 1的队伍分布也是不允许的。
  • 界面将会显示都有哪些玩家选择了对应的队伍。
  • 当其他玩家选择了队伍后,其他正在选队的玩家的界面将会刷新。

其他更改

  • 更改了游戏开始前的等待信息板。
    • 人数信息现在显示为 当前人数/上限人数 ;
    • 在等待更多玩家进入时,“等待中...”的后面现在会显示还需要多少玩家进入;
    • 现在会显示版本了。
  • #12 #30 现在玩家不再能在资源点、商人或队伍出生点附近放置方块。
  • #15 现在其他队伍的玩家不再能开启其他队伍的箱子,除非该队伍已被淘汰。
  • #21 现在弓击中敌方后会提示敌方剩余的血量。
  • #32 优化了对英语的支持。感谢 @Fanconma !
  • 提高了本模组的最低版本需求到 1.21.50。

漏洞修复

  • #19 修复了灰队的铁傀儡无法辨认剩余时长的问题。
  • #23 修复了地毯可能会被冲掉并使玩家获得地毯的问题。
  • #24 修复了末影珍珠的出界检测会包括顶面的问题,这个问题可能导致向上扔的末影珍珠被吞掉。
  • #25 修复了在弓击中同队玩家时会多次响起音效的问题。
  • 修复了在最高处或最低处平搭依然会阻止搭路的问题。
  • 修复了启用创造模式玩家可破坏方块的设置后,生存模式的玩家也能破坏方块的问题。

底层更新

  • 更新了行为包的manifest.json的版本号到1.0.20
  • 更新了资源包的manifest.json的版本号到1.2.7
  • 更新了行为包的脚本版本到@minecraft/server@1.15.0@minecraft/server-ui@1.3.0
  • 现在破坏无效的床也不再会报错了。
  • 更名events/classic/playerBreakBlockTest.jsevents/classic/breakBlock.js
  • 更名events/classic/equipmentTest.jsevents/classic/equipment.js
  • 更名events/classic/heightLimit.jsevents/classic/playerUseBlock.js,并新增了两个函数:
    • playerOpenChest(event) {}:玩家尝试开其他未淘汰的队伍的箱子时,阻止之;
    • safeAreaLimit(event) {}:玩家尝试在安全区(例如队伍岛屿的重生点、资源点)放置方块时,阻止之。
  • 更名events/classic/itemLock.jsevents/classic/items.js,并新增了一个函数removeInvalidItems() {}以清除额外的物品。
  • 新增methods/itemManager.js中新增了getValidItems(entity) {}方法。
  • events/classic/trading.js中移除了有关capture的内容,现在是按照地图设置自动处理的一般情况。
  • 新增methods/positionManager.jspositionManager对象中新增了多个方法:
    • isEqual(pos1,pos2) {}:判断两个坐标是否一致;
    • hasPosition(positions, testPos) {}:判断一个坐标数组里是否存在一个坐标;
    • distance(pos1,pos2) {}:判断两个坐标之间的距离。
  • 移除methods/number.js中的objectInArray(array, object) {}方法。现在用positionManager.hasPosition(positions, testPos) {}代替。
  • 新增methods/number.js中新增了countSameNumbers(array, x) {}方法,以判断一个数组有多少组x个相同的数字。

BedwarsPlayer类,methods/bedwarsPlayer.js的方法

  • 新增 类型声明killStyle
  • 新增 全局变量availableKillStyles
  • 新增 属性killStyle,用于控制玩家的击杀样式。
  • 更改 重命名属性runtimeIdgameId,以和BedwarsMap类一致。

BedwarsMap类,methods/bedwarsMap.js的方法

  • 新增 类型声明islandInfoteamIslandColorInfotraderInfospawnerInfo
  • 更改loadInfo属性作出如下更改:
    • 新增loadInfo.loadStage,当前所处的加载阶段。
    • 新增loadInfo.mapClear对象,清除地图的方法和变量,其中包括currentLayertimeCostPerLayerclear()countdown
    • 新增loadInfo.mapReload对象,加载地图的方法和变量,其中包括islandstotalTimecountdownloadStructure()loadBorder()
    • 新增loadInfo.teamIslandColor对象,设置队伍岛屿的羊毛颜色,其中包括isEnabledcountdowncolorsload()
    • 移除loadInfo.clearingLayer,现在用loadInfo.mapClear.currentLayer代替。
    • 移除loadInfo.clearTimePerLayer,现在用loadInfo.mapClear.timeCostPerLayer代替。
    • 移除loadInfo.structureLoadTime,现在用loadInfo.mapReload.countdown代替。
    • 移除loadInfo.setTeamIslandTime,现在用loadInfo.teamIslandColor.countdown代替。
  • 新增 mapSize属性,表示当前及上一张地图的地图大小。
  • 新增 version属性,表示地图版本。
  • 更改 拆分了methods/bedwarsMap.js的方法和函数:
    • 这样做是为了便于控制结构加载的时间。
    • 移动了createMap(mapName)()函数到脚本maps/(teamCount)Teams/(mapName).js中存储数据。
    • 移动了regenerateMap()函数到脚本maps/mapGenerator.js中。
    • 移除了命令函数maps/(map_name)/generate.mcfunctionmaps/(map_name)/team_island.mcfunction
      • 现在相关数据分别记录在loadInfo.mapReload.islandsloadInfo.teamIslandColor.colors
  • 更改 现在构建器由constructor(id,name,options={})改为了constructor(id,name,islands,teamIslandColor)。如果需要更改地图设置,请直接在构建后更改。
  • 更改 方法addTeam(team) {}addTeams(...teams) {},现在允许直接传入多个参数,并移除了无效的名称检查。
  • 更改 方法addTrader(pos,direction,type) {}addTrader(...traders) {},现在允许直接传入多个参数。
  • 更改 方法addSpawner(resourceType,pos) {}addSpawners(...spawners) {},现在允许直接传入多个参数,并且现在每个生成点信息所传入的坐标pos需传入钻石点或绿宝石点中钻石块或绿宝石块的位置,而不再是其上方 2 格。
  • 更改mapGenerator.jsvalidMapsFor2Teams等变量改为一个validMaps对象,并新增了一个方法getValidMaps() {}以确定当前设置下有效的地图ID。
  • 移除 spawnerInfo属性下的:
    • spawnerInfo.ironInterval
    • spawnerInfo.goldInterval
    • spawnerInfo.diamondInterval
    • spawnerInfo.emeraldInterval

BedwarsTeam

  • 新增 类型声明validTeamsteamInfo
  • 更改 重命名属性bedInfo.directionbedInfo.rotation,并且更改了其类型,由Number改为StructureRotation
  • 更改 现在构建器由constructor(id,bedPos,bedDirection,resourceSpawnerPos,spawnpointPos)改为了constructor(id,teamInfo),并且teamInfo中支持输入chestPos
  • 移除 变量validTeams
  • 移除 移除属性chestInfo,以chestPos: number代替。

methods/scoreboardManager.js

  • 是用于控制记分板的方法。
  • tryAddScoreboard(id,displayName) {}:尝试创建一个记分板,并获取该记分板的数据。如果记分板已存在,则直接返回其数据。
  • getScoreboard(id) {}:获取记分板数据。
  • removeScoreboard(id) {}:尝试移除一个记分板,并返回是否成功执行。
  • displayScoreboard(display,id,order) {}:尝试在特定位置显示记分板,并返回上一个在该位置显示的记分板数据。
  • tryAddAndDisplayScoreboard(id,displayName,display,order) {}:尝试创建记分板并直接在特定位置显示,返回创建的记分板和上一个在同样位置显示的记分板。
  • eachScoreboard(func,condition) {}:令所有记分板执行一个函数。
  • removeAllScoreboards(condition) {}:移除所有记分板。
  • addScore(objective,participant,score) {}:添加分数。
  • setScore(objective,participant,score) {}:设置分数并返回这个值。
  • getScore(objective,participant,defaultValue) {}:获取分数。如果无法获取分数,则设置为默认值并返回这个值。
  • resetScore(objective,participant) {}:移除分数。
  • getObjectiveFromParticipant(participantName) {}:获取被追踪对象的全部记分项数据。
  • getScores(objective) {}:获取在特定记分板下的所有分值。
  • getParticipantWithScore(objective,score) {}:获取在特定记分板下拥有特定分值的被追踪对象。
  • getQuitPlayers(objective) {}:获取「玩家下线」的追踪对象。

methods/uiManager.js

  • 用于控制 UI 的方法。
  • 新增 类型声明actionUiButtonInfomodalUiButtonInfo
  • createActionUi(buttonInfo,bodyText,titleText) {}:创建一个ActionForm的 UI。
  • createMessageUi(button1Text,button2Text,bodyText,titleText) {}:创建一个MessageForm的 UI。
  • createModalUi(buttonInfo,titleText,submitText) {}:创建一个ModalForm的 UI。
  • showActionOrMessageUi(ui,showPlayer,playerSelectedFunc,playerCanceledFunc) {}:显示一个ActionFormMessageForm的 UI,并追踪玩家的选择。
  • showModalUi(ui,showPlayer,submittedFunc,playerCanceledFunc) {}:显示一个ModalForm的 UI,并追踪玩家的选择。
  • createAndShowActionUi(player,buttonInfo,playerCanceledFunc,bodyText,titleText) {}:创建一个ActionForm的 UI 并立即显示,同时追踪玩家的选择并执行内容。
  • createAndShowMessageUi(player,buttonInfo,bodyText,titleText) {}:创建一个MessageForm的 UI 并立即显示,同时追踪玩家的选择并执行内容。
  • createAndShowModalUi(player,buttonInfo,submittedFunc,playerCanceledFunc,titleText,submitText) {}:创建一个ModalForm的 UI 并立即显示,同时追踪玩家的选择并执行内容。

设置与methods/bedwarsSettings.js

  • 新增 物品bedwars:map_settingsbedwars:select_teambedwars:kill_style
  • 移除 移除了所有的设置命令,转而使用设置菜单代替。
  • 新增settings对象新增了以下属性:
    • settings.miscellaneous.playerCanThrowItemsInVoid,控制虚空扔物品的设置。
    • settings.beforeGaming.waiting.maxPlayerCount,控制一局中最多有多少玩家能够参与游戏。
    • settings.beforeGaming.reload.clearSpeed,控制清除地图的速度。
    • settings.beforeGaming.reload.loadSpeed,控制加载地图的速度。
    • settings.beforeGaming.teamAssign.mode,控制队伍分配的方式。
    • settings.beforeGaming.teamAssign.assignBeforeGaming,是否在开始前就随机组队。
    • settings.beforeGaming.teamAssign.playerSelectEnabled,是否启用自由选队。
    • settings.gaming.resourceInterval.iron,平均每个铁的基准生成间隔。
    • settings.gaming.resourceInterval.gold,金基准生成间隔。
    • settings.gaming.resourceInterval.diamond,钻石基准生成间隔。
    • settings.gaming.resourceInterval.emerald,绿宝石基准生成间隔。
    • settings.gaming.resourceInterval.soloSpeedMultiplier,单挑模式下的生成间隔乘数。
    • settings.gaming.invalidTeam.enableTest,是否启用无效队伍的检测。
    • settings.gaming.invalidTeam.spawnTraders,无效队伍是否生成商人。
  • 更改settings对象进行了以下重命名:
    • settings.minWaitingPlayerssettings.beforeGaming.waiting.minPlayerCount
    • settings.gameStartWaitingTimesettings.beforeGaming.waiting.gameStartWaitingTime
    • settings.resourceMaxSpawnTimes.ironsettings.gaming.resourceLimit.iron
    • settings.resourceMaxSpawnTimes.goldsettings.gaming.resourceLimit.gold
    • settings.resourceMaxSpawnTimes.diamondsettings.gaming.resourceLimit.diamond
    • settings.resourceMaxSpawnTimes.emeraldsettings.gaming.resourceLimit.emerald
    • settings.respawnTime.normalPlayerssettings.gaming.respawnTime.normalPlayers
    • settings.respawnTime.rejoinedPlayerssettings.gaming.respawnTime.rejoinedPlayers
    • settings.invalidTeamCouldSpawnResourcessettings.gaming.invalidTeam.spawnResources
    • settings.randomMap.allow2Teamssettings.mapEnabled.classicTwoTeamsEnabledsettings.mapEnabled.captureTwoTeamsEnabled
    • settings.randomMap.allow4Teamssettings.mapEnabled.classicFourTeamsEnabled
    • settings.randomMap.allow8Teamssettings.mapEnabled.classicEightTeamsEnabled
    • settings.creativePlayerCanBreakBlockssettings.miscellaneous.creativePlayerCanBreakBlocks
  • 更改 重命名settingsEvent(event) {}mapSettings(event) {},并更改了其依赖事件,由system.afterEvents.scriptEventReceive改为world.afterEvents.itemUse
  • 新增 selectTeamSettings(event) {}方法,用于设置玩家的自主选队。
  • 新增 killStyleSettings(event) {}方法,用于设置玩家的击杀样式。
  • 新增 settingsBackup() {}方法,用于在玩家设置完成后备份数据。
  • 新增 settingsRecover() {}方法,用于恢复已备份的数据。

翻译文件zh_CN.lang

  • 新增 来自 Hypixel 的部分击杀样式信息。
  • 新增 部分在未来规划中的模式介绍信息。