• 游客,
    我们的全新下载站开放了,快去看看吧!【点击前往
Thanos:优化你的世界存档

软件 Thanos:优化你的世界存档 0.5.1

登录后下载
资源类型
转载
资源作者
Aternos
版权链接
https://github.com/aternosorg/thanos
开发者团队
Aternos.org
语言
English
世界存档过于庞大是长期以来困扰许多服主的问题,而Thanos将通过删除无用的废弃区块解决这一问题!

概述

Thanos是一个PHP库,可以自动检测并删除Minecraft世界中未使用的废弃区块。这可以将世界的文件大小减少50%以上。

除游戏已有的工具外,此库不需要使用额外的插件。玩家在区块活跃的时间值用于确定是否使用区块。这可以防止使用过的区块有时被意外删除,并使该库与大多数模组和插件兼容。

目前,仅支持 Minecraft Anvil 世界格式(Minecraft Java Edition)。

安装(linux)

composer require aternos/thanos
用法

命令行工具


此库包含一个简单的 cli 工具。

./thanos.php /path/to/world/directory [/path/to/output/directory]
世界对象

世界对象表示 Minecraft 世界存档及其所有附属文件。它允许对所有区块进行迭代,并提供一个将所有非区域文件复制到输出目录的函数。

$world = new Aternos\Thanos\World\AnvilWorld("/path/to/world/directory", "/path/to/output/directory");
$world->copyOtherFiles(); //copy non-region files

foreach ($world as $chunk){
echo $chunk->getInhabitedTime() . "\n"; //output inhabited time for each chunk
}
循环访问区域文件的所有区块后,它将自动保存到输出目录中。

方法

getPath() : string获取世界目录路径

getDestination() : string获取世界输出目录

getOtherFiles() : string[]获取所有文件,这些文件不是区域目录

copyOtherFiles() : void将所有不是区域目录的文件复制到输出目录

static isWorld(string $path) : bool检查是否为世界目录$path

区块

区块对象表示 Minecraft 世界区块。由于性能原因,区块数据不会完全解析,而仅用于查找有助于确定是否使用区块的元数据。

if($chunk->getInhabitedTime() > 0){
$chunk->save();
}
如果区块未标记为已保存,则不会将其写入输出目录。

方法

getOffset() : int获取区域文件中区块数据的偏移量

getLength() : int获取原始区块数据的长度

getData() : string获取原始区块数据

getInhabitedTime() : int从区块数据中获取居住时间价值。如果无法读取 InhabitedTime,则返回 -1。

getLastUpdate() : int从区区块数据中获取上次更新值。如果无法读取 LastUpdate,则返回 -1。

setTimestamp(int $timestamp) : void设置上次修改时间

getTimestamp() : int获取上次修改时间

save() : void将区区块标记为已保存

isSaved() : bool检查此区区块是否标记为已保存

Thanos会自动在一个世界中找到未使用的区块,并将它们简化为原子。

$thanos = new Aternos\Thanos\Thanos();
$thanos->setMaxInhabitedTime(0);
$world = new Aternos\Thanos\World\AnvilWorld("/path/to/world/directory", "/path/to/output/directory");
$removedChunks = $thanos->snap($world);
echo "Removed $removedChunks chunks\n";
方法

setMinInhabitedTime(int $minInhabitedTime) : void设置最小居住时间,以便不删除区块

getMinInhabitedTime() : int获取最短的居住时间

snap(WorldInterface $world) : int删除未使用的区块,返回已删除的区块数
作者
RhoAxis
下载
0
查看
230
首次发布
最后更新
评分
0.00 星 0 星

来自RhoAxis的更多资源

分享资源

后退
顶部