维度黑貂

维度黑貂

Dimensional Sable 是一个模组API和整合包工具,允许Sable物理对象跨维度传送。支持Create Aeronautics!

管理

Logo

Sable Mod 的一个附属模组,允许在维度之间传送子关卡!

传送子关卡的指令是 /sable dimension_set ...

仅传送一个子关卡: 2026-05-15_17 11 46

或者传送子关卡及其所有连接的子关卡(连接包括绳索、弹簧、对接连接器等)。这是默认选项 2026-05-15_17 12 52

目前,已知以下方块/实体在传送后会出现行为异常:

  • 移动中的机械活塞(当然也包括粘性活塞)

未来目标:

  • 让机械动力(Create)的传动装置正确传送而不是解体
  • 摧毁所有将子关卡与地面连接的方块(或者改为传送失败)

如果你想贡献代码,可以在 Discord 上联系我。用户名是 hollow_egg。 如果你只是想偷走(非常糟糕的)代码,那也可以 ^-^

注意: 模拟团队(Simulated Team)将为此功能制作官方 API。所以一旦发布,请使用那个。届时我可能会归档此仓库。

[以下所有内容为开发者信息]

传送子关卡的函数是 WarpSubLevel(subLevel, dimension, position, warpConnected?)

某些方块实体在传送后需要"修复"。凡是 NBT 中保存了位置、子关卡或运行状态(针对传动装置)信息的情况都需要修复。此模组目前包含以下模组的修复:

  • 原版(Vanilla)
  • 机械动力(Create)
  • 机械动力:航空学(Create Aeronautics)

如果你发现或开发了具有符合此描述方块实体的模组,欢迎在 Discord 上告诉我:hollow_egg,我会为这些方块实体实现修复。如果你想自己实现这些修复(例如整合包作者的情况),请遵循以下指南:

  • 对于(根级)包含可能因传送而改变的位置数据:
  • BlockEntityRegistry.PublishPosFixer( "MODID", "BLOCK_ENTITY_ID", Set.of("Data_Source", ...))
    
  • 条件同上,但影响多个共享相同数据的方块实体:
  • BlockEntityRegistry.PublishCompoundPosFixer("MODID", Set.of("BLOCK_ENTITY_ID", ...), Set.of("Data_Source", ...))
    
  • 对于(根级)包含子关卡 UUID 的数据:
  • BlockEntityRegistry.PublishUUIDFixer("MODID", "BLOCK_ENTITY_ID", Set.of("Data_Source", ...))
    
  • 对于(根级)包含"连接"的数据(即单个子关卡标签和位置标签,适用于对接连接器等快速场景):
  • BlockEntityRegistry.PublishConnectionFixer("MODID", "BLOCK_ENTITY_ID", "SubLevel_Data_Source", "Position_Data_Source")
    
  • 对于其他位置的数据或特殊条件:创建一个新的 BlockEntityAccessor(可以参考使用 SpringBlockEntity 作为示例),并通过 PublishCustomFixer 发布

示例可在 DimensionalSable.java 中查看