登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
游戏/娱乐
>
游戏
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
24
Star
83
Fork
13
把红色赋予黑海
/
SurvivalcraftVRTAPI
代码
Issues
24
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
发行版
最新版
1.8.2.3
a866582
2026-01-20 20:19
对比
API1.8.2.3
把红色赋予黑海
解决了主线不支持arm64指令集的问题,修复了游戏内社区无法访问的问题
最后提交信息为:
更新dotnet、nuget
NewRepositoryNotice
a866582
2025-05-20 20:41
对比
新仓库提醒 New Repository Notice
销锋镝铸
**本仓库已迁移至 This repository has been moved to** [https://gitee.com/SC-SPM/SurvivalcraftApi](https://gitee.com/SC-SPM/SurvivalcraftApi)
最后提交信息为:
更新dotnet、nuget
API1.801
ba31601
2025-01-16 21:18
对比
API1.80(跟进原版2.4)
把红色赋予黑海
跟进原版2.4并修复大量bug 开发模组时引用nupkgs解压出的三个文件
最后提交信息为:
修改安卓修订版本号,删除多余项目文件
预览版本
API1.72
94777ca
2024-11-06 05:32
对比
API1.72(动态ID预发布版)
把红色赋予黑海
<details> <summary>点我展开更新内容</summary> # API1.72更新内容 - MOD接口方面(具体用法详见md文件) ## ModInfo结构 模组增加LoadOrder字段调整模组加载顺序,减少冲突 ## 动态方块ID 为提高模组之间的兼容性,减少方块ID冲突,API1.72采用 **动态方块ID** ## 常用组件调整 为了保证模组之间的兼容性,不同模组共同发展。API1.72对组件覆盖的行为进行了限制。 当有模组覆盖了常用组件,或者不同的模组对同一个Guid进行了new-覆盖操作时,会在加载屏幕进行报错。玩家将会选择是否禁用覆盖操作。因此不再建议模组作者对数据库**尤其是常用组件**进行覆盖 ### ComponentPlayer 调整 #### 当Interact生效(玩家点击屏幕,或鼠标右键)时,逻辑会进行改变 #### 对玩家的输入行为增加了大量的ModLoader接口 详见下方的ModLoader接口介绍。 ### ComponentLevel 调整 增加了一个ComponentFactors,用于控制生物的力量乘数、防御乘数、移速乘数。而ComponentLevel被改为只和经验值相关的组件。 所有非玩家生物都拥有了ComponentFactors,玩家的ComponentLevel继承ComponentFactors。 #### 增加了以下ModLoader接口: ComponentFactors.OnFactorsUpdate: 用于更新非玩家生物的力量、防御、移速倍率。 ### SubsystemProjectiles调整 Update进行了重大调整。射弹的更新逻辑被放到Projectile.Update()中执行。 这意味着你可以在```SubsystemProjectiles.m_projectiles```容纳各种各样的Projectile。它们有不同的更新行为。 #### Projectile增加了以下字段和方法: 详见.md文件 #### Projectile增加了以下ModLoader接口 OnProjectileHitBody: 弹射物在命中生物时执行。可以控制攻击力、命中后改变弹射物的移速。还可以设置ignoreBody = true来跳过弹射物判定当前Body。模组可以在此接口中增加其他行为。 OnProjectileHitTerrain: 弹射物在命中方块时执行。可以控制是否摧毁方块,弹射物命中后移速等行为。模组可以在此接口中增加其他行为。 SavePickable: 存储掉落物 ### SubsystemPickables调整 掉落物系统进行了重大调整。掉落物的更新逻辑被放到Pickable.Update()中执行。 这意味着你可以在```SubsystemPickables.m_pickables```容纳各种各样的Pickable。它们有不同的更新行为。 掉落物被玩家吸取的逻辑被转移到ComponentPickableGatherer中,拥有此组件并进行合理配置的实体(如玩家)可以收集掉落物。 如方块在吸取时并不是直接进入物品栏,而是进行其他操作(如经验球),特殊操作在SubsystemBlockBehavior.OnPickableGathered()中执行。 模组作者建议参考ComponentPickableGatherer, ComponentPickableGathererPlayer, SubsystemExperienceBlockBehavior仿照经验球来定义掉落物在拾起的特殊行为。 #### Pickable增加了以下字段和方法: public bool IsFireProof = false;//该弹射物和掉落物防火,不会被火焰或熔岩烧毁 public float? MaxTimeExist; public float ExplosionMass = 20f;//处于爆炸中时,进行爆炸计算的质量 public virtual double TimeWaitToAutoPick => m_timeWaitToAutoPick;//掉落物只有在存在时长超过这个时间(初始值为0.5秒)后才能被捡起。 public virtual float DistanceToPick => m_distanceToPick;//掉落物在距离目标这个范围(初始值为1格)内时,会立即进入玩家背包。 public virtual float DistanceToFlyToTarget => m_distanceToFlyToTarget;//掉落物在距离目标这个单位(初始值为1.75格)内时,会飞向玩家。 public override void UnderExplosion(Vector3 impulse, float damage)//处于爆炸状态下执行的操作 #### SubsystemPickables增加了以下ModLoader接口: OnPickableAdded:掉落物在创建世界时,或者生成时执行。可以在此时更改掉落物的属性,甚至类别。 OnPickableDraw: 控制掉落物的绘制 ## 组件接口 #### 在SubsystemBodies增加BodyCountInRaycast接口 可以决断是否将一个ComponentBody纳入Raycast结果当中 #### 在SubsystemProjectile中、新增了OnProjectileAdded、SaveProjectile、OnProjectileUpdate接口 用于控制弹射物的行动规律 #### 在SubsystemPickable中、新增了OnPickableAdded、SavePickable、OnPickableUpdate接口 用于控制掉落物的行动规律 #### SubsystemTime新增ChangeGameTimeDelta接口 用于控制每帧的时间 #### SubsystemUpdate增加OnIUpdateableAddOrRemove接口 用于控制更新队列 #### SubsystemDrawing增加OnIDrawableAdded接口 用于控制绘制更新队列 #### 增加Entity.RemoveComponent、Entity.ReplaceComponent 控制实体的组件 #### SubsystemFurnitureBlockBehavior增加OnFurnitureDesigned接口: 能够控制创建家具时,产生的家具个数、是否摧毁原有模型,以及家具锤掉落的耐久。如果家具锤耐久不足,则创建家具失败。Mod可以通过该接口修复“家具锤敲已有家具后,能够复制家具”的bug #### DamageItem提供接口 控制物品掉耐久时执行的操作 #### ComponentFactors增加OnFactorsUpdate接口 用于更新非玩家生物的力量、防御、移速倍率。 #### SubsystemExplosions增加CalculateExplosionPower接口 用于控制爆炸的爆炸强度 #### SubsystemSky增加OnLightningStrike接口 用于控制雷电劈下时的爆炸强度,距离上一次闪电的时间间隔等属性,模组也可以在这个接口里面添加其他行为。 #### TerrainContentsGenerator23增加OnTerrainBrushesGenerated接口 用于调整原版已有矿物、水域、植物等地形地貌的生成,例如减少原版矿物生成量。 模组自身的建筑等生成建议调用OnTerrainContentsGenerated接口 ### ComponentBody增加以下接口: > OnComponentBodyExploded: 于控制动物在受到爆炸时的伤害、击退等属性UpdateComponentBody: 进行实体的更新。建议只对自己mod的实体进行更新,不要插手其他mod的实体。 ### ComponentHealth有以下接口变化: #### 弃用ComponentHealth中OnCreatureInjure接口,改为使用以下接口: > CalculateCreatureInjuryAmount:用于控制受到伤害的数量 > > OnCreatureDying:在生物生命值低于0濒死时触发,如果将生命值改为大于0的数则取消死亡判定。用于mod生物的免死机制 > > OnCreatureDied:在生物死亡判定时触发,可以控制是否计入击杀、以及经验球的掉落数量 #### 增加接口: > ChangeVisualEffectOnInjury: 用于控制玩家在受伤后的红屏效果、是否会叫 > > OnCreatureSpiked: 动物被仙人掌、海胆、钉板扎的时候执行,可以控制相关伤害。控制该伤害是否被护甲结算等操作。 ### ComponentMiner有以下接口变化: #### ComponentMiner.AddHitValueParticleSystem允许非玩家攻击: 当攻击来源并非玩家时,仍然会创建一个透明的伤害显示粒子。Mod可以调整这个粒子的颜色来令其显现。 #### ComponentMiner.AttackBody 变量attacker的类型由ComponentCreature改为Entity #### ComponentMiner.Raycast方法调整: 可以忽略动物、方块或移动方块,达到更灵活的投影 #### 增加接口: > OnBlockDug: 用于控制在方块被挖掘完毕后触发的行为,也可以控制挖掘方块后损失的耐久数量 ### ComponentPlayer增加以下接口: > #### ComponentPlayer增加OnPlayerControlSteed, OnPlayerControlBoat, OnPlayerControlWalk接口: > > 用于控制玩家的移动 > > #### ComponentPlayer增加OnPlayerInputInteract接口 > > 能够控制玩家通过点击屏幕、鼠标右键执行Interact操作的时间间隔,以及改变放置方块、使用手中方块、交互面前方块三个操作的优先级,以及模组在其中执行其他操作。 > > #### ComponentPlayer增加UpdatePlayerInputAim接口 > > 每帧都进行更新,可以控制玩家执行瞄准操作的时间间隔。(可以简单理解为投掷攻速),以及模组在其中执行其他操作。 > > #### ComponentPlayer增加OnPlayerInputHit接口 > > 控制玩家在执行攻击输入后,执行的操作。可以控制距离上一次的输入间隔(注意不是玩家攻击间隔)、近战攻击距离。当近战攻击距离≤0时,玩家无法再该情况下执行近战攻击。通常用于枪械等远程武器使用左键攻击。 > > #### ComponentPlayer增加UpdatePlayerInputDig接口 > > 每帧都进行更新,可以控制玩家挖掘方块之间的时间间隔,以及模组在其中执行其他操作。 > > #### ComponentPlayer增加OnPlayerInputDrop接口 > > 控制玩家在按下Q进行丢弃后,执行的操作 ### InventorySlotWidget增加以下接口: > #### OnInventorySlotWidgetDefined: > > 在InventorySlotWidget中添加模组自定义的元素 > > #### InventorySlotWidgetMeasureOverride: > > 控制物品格子的绘制,绘制耐久度、腐烂图标、物品数量等信息。模组可以在其中绘制模组自带的内容 > > #### HandleMoveInventoryItem: > > 控制物品栏移动物品执行的操作 > > #### HandleInventoryDragProcess: > > 控制物品栏拖动物品执行的操作(比如火药上枪) > > #### HandleInventoryDragMove: > > 控制物品栏拖动物品,且Process不执行时进行的操作 ## 变量控制 ### ComponentPlayer增加了以下变量: m_aimStartTime:瞄准操作开始的时间 ### ComponentHealth增加了以下变量: m_regenerateLifeEnabled: 是否允许回血 HealFactor: 在Heal中,回血的倍数 VoidDamageFactor: y轴过高或者过低造成的伤害系数。该值为0时,不会显示"Come Back!" AirLackResilience: 溺水/搁浅伤害抗性,初始值为8.33 MagmaResilience: 熔岩伤害抗性,初始值为0.5。当该值为Infinity时,生物寻路不再视熔岩为危险方块。 CrushResilience: 挤压伤害抗性,初始值为6.67 SpikeResilience: 尖刺伤害抗性,初始值为10 ExplosionResilience: 爆炸伤害抗性,初始值为1 StackExperienceOnKill: 生物在死亡时掉落的经验球的掉落物个数不超过100,超出部分进行堆叠。能够降低卡顿。 ### ComponentBody增加了以下变量: TerrainCollidable: 该ComponentBody是否能与地形碰撞。关闭状态意味着该生物能穿墙。 BodyCollidable: 该ComponentBody是否能与其他动物碰撞 FluidCollidable: 该ComponentBody是否能受到流体影响 IsRaycastTransparent: 该生物不能被Raycast选中 * ComponentOnFire增加了以下变量:```m_hideFireParticle```: 为true时,该生物会隐藏火焰音效和粒子 * ComponentRunAwayBehavior:增加变量```LowHealthToEscape```,用于调整动物在生命值低于多少时才触发逃跑行为 * ComponentMiner: 增加变量```HitInterval```,用于控制玩家和一般生物的攻击间隔 * SubsystemTime:将```MaxGameTimeDelta、MaxFixedGameTimeDelta、DefaultFixedTimeStep、DefaultFixedUpdateStep、GameMenuDialogTimeFactor```由常量改为可修改的变量 * SubsystemUpdate增加```UpdateTimeDebug```字段,用于控制是否在日志中输出各组件更新性能,便于mod对卡顿进行调试 * ComponentHealth部分字段改为virtual * 在存档中增加了APIVersion字段 * SubsystemBlockBehavior不需要再声明HandledBlocks,默认值为空表 * Entity.Components、Project.Subsystems权限改为可写。 ## 方块调整 ### Block新增以下方法 #### IsCollapseSupportBlock、IsCollapseDestructibleBlock 用于控制方块是否能够承受沙子等重力方块 #### IsMovableByPiston、IsBlockingPiston 用于控制方块能否被活塞推动 #### IsSuitableForPlants 用于控制方块能否种植植物(如扩展mod的黑土) #### IsFaceSuitableForElectricElements 用于控制方块是否能够放置电路元件(比如允许玻璃上面放置电路元件) #### ShouldBeAddedToProject 是否进入游戏文件动态ID列表 #### CanBlockBeBuiltIntoFurniture 方块是否能被计入家具 #### ShouldAvoid(int value, ComponentPilot componentPilot) 可以根据ComponentPilot不同来决定是否调整 #### IsNonAttachable(int value) 方块能否附着其他方块。该方法是旧版本IsTransparent_的变体。设置为true时,该方块即使是透明方块,也能够放置门、火堆等以前不能放置在透明方块上的物体。 #### GetPriorityUse(int value, ComponentMiner componentMiner) #### GetPriorityInteract(int value, ComponentMiner componentMiner) #### GetPriorityPlace(int value, ComponentMiner componentMiner) 用于控制在ComponentPlayer中,使用手中方块、交互面前的方块、放置手中方块这三个行为的优先级。 ### 方块数据调整 空气方块在Content不为0时,显示为白色铁栅栏,名为“错误方块+方块完整值”,便于Mod作者进行调试 玩家穿着的衣物方块不必是ClothingBlock或者203号方块,模组可以控制玩家穿戴其他方块 ## 其他调整 * 生物图鉴中,战利品数量为0的占位掉落物不显示 * ComponentHealth.Attacked,从受到伤害触发改为受到AttackBody时触发。部分ComponentBehavior也据此改为由ComponentHealth.Injured触发 * PlayerData中SpawnPlayer()执行出现异常时,会返回世界选择界面并记录游戏日志 * 桶堆叠使用bug修复:使用堆叠状态下的桶时,桶的数量正常变化,而不是强制让手上桶的个数减少为1。 * 游戏运行出现错误时,会直接弹出日志窗口,更方便协助定位错误。 * ComponentCraftingTable只在物品栏改变并进行更新后,才执行配方更新操作,降低卡顿。 * 在超平坦世界中,如果地表高度<0,那么会移除最底部的基岩层,达到类似空岛的效果 ## 设置调整 设置选项增加: * 水平创造飞行:开启时飞行方式和MC相同,关闭时飞行方式和移动版相同 * 创造模式拖动整组方块:在创造模式下拖动方块时,会一次拖动一组方块 * Split状态下拖动一半方块:在物品栏中长按一个格子进入Split状态时,拖动该格子的方块会转移该格子的一半数量的方块。 * 删除世界输入"yes"确认:在删除世界时,需要输入yes来确认删除。关闭后和旧版删除方式相同。 </details>
最后提交信息为:
修复并优化安卓端,修改版本号
API1.71A
333fc4b
2024-08-10 07:14
对比
API1.71A(API1.7准正式版)
把红色赋予黑海
api1.7准正式版
最后提交信息为:
继续尝试解决上上个提交带来的可能问题
API1.63
8fcfd0f
2024-04-25 13:41
对比
API1.63(API1.6准正式版)
把红色赋予黑海
API已经更新到1.63,以下为更新报告 1.使用了ImageSharp库,支持Webp、Gif、Pbm、Qoi、Tiff、Tga格式,Jpg不偏色。Webp比Png小50%,加载快20%,Content.zip中Png已换为Webp。Png加载提速50%。使用Nuget包SixLabors.ImageSharp进行图片处理,如裁剪、缩放、滤镜等,注意不将此dll打包进mod。 2.Image.Pixels变为只读属性,新增m_trueImage字段和ProcessPixels、ProcessPixelRows方法,用于处理像素。示例:将透明度设为128或复制像素到Color数组。 支持Flac、Mp3音频格式,Flac须为16位深。Content.zip中Wav已换为Flac,体积小且解码快。使用NAudio库加载更多小众格式音频。 Json加载库更换为System.Text.Json,更严格,如有多余逗号会报错。请规范Json文件。 大部分模组仍然兼容,少部分模组需要更换引用 电脑下载exe字样版本,手机下载apk版本
最后提交信息为:
即使没有init.js也能打开游戏了,修复光标问题
api1.53P
662b8e2
2023-10-29 22:37
对比
API1.53(API1.5正式版)
把红色赋予黑海
1.版本号更新为1.53。 2.支持Javascript脚本,可以在游戏菜单直接运行或放进mod中加载并运行。 3.世界名长度上限改为128。 4.解决mod管理器无法扫描0kb文件导致一直加载的问题。 5.修复鼠标指针问题,适配全面屏 6.在游戏社区【只看我的】可以看到自己上传的作品,可删除和发布。 7.修复告示牌报错。 8.部分翻译调整。 9.更改DrawFlatBlock接口的纹理位置获取,贴图异常请重写GetTextureSlotCount并return 1。 10.将BaseFlatBatch的顶点缓存数组从ushort改为int,理论上解决了所有拉丝。 11.解决mod不能使用其他mod中的dll的问题,优化了依赖项加载。 12.让存档导入导出时可保持原本的文件夹结构。 14.更改mod加固规则。 15.解决地形接口只有一个mod生效的问题。 16.解决合成配方界面说明的显示问题。 17.优化游戏内登录逻辑,游戏社区新增登录按钮。 18.新增方块亮度调整接口。 19.新增视图雾颜色调整接口。 20.新增管理员模式。
最后提交信息为:
修复安卓14权限
api1.44
ed45c88
2023-09-27 15:08
对比
api1.44
xiaoxiaoguai
主要更新内容: 1.解决音频卡顿问题,现在不用开音轨缓存了,不会没有声音了。 2.完善mod管理器,现在进入管理器不会闪退了,除此之外,更新了很多功能。 3.新增更多接口,mod能实现更多样的效果。 4.电脑可连续打字,不用一个字一个字码了,同时修复误锁键盘的bug。 5.优化外置材质的绘制,游玩更流畅。 6.修复多人同屏地形不显示的bug,现在可以正常地添加或删除玩家。
最后提交信息为:
主屏幕API版本号改为1.44;游戏切后台主界面音乐停止。
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
C#
1
https://gitee.com/THPRC/survivalcraft-api.git
git@gitee.com:THPRC/survivalcraft-api.git
THPRC
survivalcraft-api
SurvivalcraftVRTAPI
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册