
Iskandert's Library
主要由 Iskandert 的团队模组使用的函数库
Iskandert 的库 — 功能概览
该库包含了 Iskandert 团队在各个项目中使用的可复用构建模块。它专注于实用的游戏机制(结构、阶段、标记、商店/团队)和开发者工具(解析辅助、传输桥接、调试工具)。
使用与许可
该项目采用 MIT 许可证 发布。您可以在自己的项目(包括修改、重新分发和商业用途)中自由使用,前提是保留许可证声明。
包含内容
结构系统(基于 JSON)
用于通过外部 JSON 定义定义和放置结构的实用工具:
- 结构定义:模式、方块键、替换规则以及强制/覆盖等选项。
- 配置扫描与加载:发现结构 JSON 文件并在运行时注册。
- 放置引擎:在游戏中放置结构,支持验证、属性应用和可选行为(例如“以玩家身份放置”、刷新刻)。
- 撤销历史:轻量级、每玩家独立的放置历史记录,支持撤销。
关键包/类:
net.unfamily.iskalib.structure.StructureDefinitionnet.unfamily.iskalib.structure.StructureLoadernet.unfamily.iskalib.structure.StructurePlacernet.unfamily.iskalib.structure.StructurePlacementHistory
阶段系统(玩家 / 世界 / 团队)
一个通用的“阶段”注册表,用于限制内容访问并跟踪不同范围的进展:
- 玩家阶段:每个玩家的持久化阶段标志。
- 世界阶段:存储在世界存档数据中的全局标志。
- 团队阶段:由团队成员共享的阶段标志,存储在世界存档数据中。
- 钩子与监听器:用于对阶段变化做出反应的集成点。
关键包/类:
net.unfamily.iskalib.stage.StageRegistrynet.unfamily.iskalib.stage.StageHooksnet.unfamily.iskalib.stage.StageActionHooks
团队支持(共享余额 / 成员管理)
用于玩家分组和共享余额的团队管理:
- 创建/删除团队
- 管理成员身份和角色
- 跟踪和查询每个团队的货币余额
关键包/类:
net.unfamily.iskalib.team.ShopTeamManager
商店货币集成钩子
该库按货币 ID 存储余额,但并未硬编码货币目录。消费者可以提供元数据和建议:
- 用于命令自动补全和用户界面的货币 ID 列表
- (如可用)货币显示元数据(翻译键、符号)
关键包/类:
net.unfamily.iskalib.shop.ShopCurrencyHooks
世界标记工具(客户端)
专为开发者设计的标记渲染和辅助工具,对调试区域、选区、扫描和自动化很有用:
- 方块的标记渲染
- 位置的告示牌
- 用于清理/重置行为的运行时会话(非持久化)
- 用于创建/清除标记的调试命令入口点
关键包/类:
net.unfamily.iskalib.client.marker.MarkRenderernet.unfamily.iskalib.client.marker.VanillaWorldMarkerClientHooksnet.unfamily.iskalib.marker.MarkerSessionnet.unfamily.iskalib.command.MarkerCommand
渐进式爆炸系统(服务端)
一种模块化、对延迟更友好的爆炸实现,可以随时间渐进处理:
- 椭圆形(水平+垂直半径)爆炸
- 基于刻的处理(或间隔为零时立即执行)
- 可选的实体伤害和“破坏不可破坏方块”模式
- 包含停止/内省辅助工具的活跃爆炸中央注册中心
关键包/类:
net.unfamily.iskalib.explosion.ExplosionSystem
物品字符串解析与转换工具
用于将“物品参数”字符串转换为 ItemStack(以及反向转换)的辅助工具,匹配 /give 命令接受的格式:
- 解析
minecraft:item_id以及带括号的组件语法,如minecraft:item[component=value,...] - 验证用于配置/命令的用户提供的物品字符串
- 将
ItemStack格式化为物品参数字符串(ID + 组件补丁)
关键包/类:
net.unfamily.iskalib.item.ItemConverter
传输桥接(自动化兼容性)
将旧版物品处理器桥接到 NeoForge 的物品传输能力:
- 将
IItemHandler包装为事务性的ResourceHandler<ItemResource> - 在可能的情况下使用快照日志进行回滚(
IItemHandlerModifiable)
关键包/类:
net.unfamily.iskalib.transfer.LegacyItemHandlerResourceHandler
调试辅助工具与命令
专为开发和故障排查设计的小型、专注的工具:
- 手持/物品转储辅助工具
- 用于标记/阶段工作流的调试命令
关键包/类:
net.unfamily.iskalib.debug.HandItemDumpnet.unfamily.iskalib.command.IskaLibDebugCommandnet.unfamily.iskalib.command.StageCommand
液体 API:
net.unfamily.iskalib.liquid
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。