/givetemplate

基本信息

属性 值
指令名 givetemplate(无 /gendustry 前缀)
权限等级 2
注册时机 FMLServerStartingEvent,Gendustry.scala:166
用法(英文) /givetemplate <uid>(gendustry.givetemplate.usage,en_US.lang:211)
参数个数 恰好 1
Tab 补全 有(addTabCompletionOptions,第 1 参数补全合法物种 UID)

功能

凭空发放一张指定物种的 Gene Template。

流程(CommandGiveTemplate.processCommand):

  1. 参数个数 ≠ 1 → 抛 WrongUsageException
  2. getCommandSenderAsPlayer —— 只能由玩家执行,控制台会失败
  3. 校验 uid 是否在 validSpecies 列表内,不在则抛 WrongUsageException
  4. GeneticsHelper.templateFromSpeciesUID(uid) 构造模板
  5. player.entityDropItem(stack, 0) 掉在玩家脚下,delayBeforeCanPickup = 0(无拾取延迟)
  6. 回复 gendustry.givetemplate.success(含 uid 与玩家名)

validSpecies 是 lazy val,从 AlleleManager.alleleRegistry.getRegisteredAlleles 过滤出 IAlleleSpecies 中 getRoot.getTemplate(getUID) != null 的项,取其 UID 列表。与 Gene Template 的创造标签页用的是同一个筛选条件,因此本指令能发出的模板集合 = 创造标签页列出的模板集合。

数值

数值名 值
权限等级 2(OP)
产出 1 张模板(entityDropItem(stack, 0) 中 offsetY = 0)
拾取延迟 0 tick

与 /givesample 的区别

指令 产出 有效参数
/givetemplate 模板(空模板,只有物种 UID 无样本) 1 个:物种 UID
/givesample 样本(含 1 条具体等位基因) 3 个:物种根 UID + 染色体名 + 等位基因 UID

发出的模板是空的 —— 不含任何样本。要造出可被 Genetic Replicator 使用的完整模板,仍需配合 Genetic Sampler 与工作台合成逐步填满。

相关条目