Skip to content

Enum "ModCallbacks"⚓︎

This is a list of all new callbacks added by REPENTOGON.

Modified Old Callbacks⚓︎

MC_USE_PILL⚓︎

MC_USE_PILL 现在会将 PillColor 作为参数传递。 不接受返回参数。

ID Name Function Args Optional Args Return Type
10 MC_USE_PILL (PillEffect Effect, EntityPlayer Player, UseFlags Flags, PillColor Color) PillEffect void

MC_POST_PICKUP_SELECTION⚓︎

MC_POST_PICKUP_COLLISION 现在会传递 请求的变体请求的子类型 以及 随机数生成器(RNG)请求的变体请求的子类型 表示生成实体时设置的变体和子类型。

返回表中添加了第三个可选的 Continue 参数。 如果设置为 true,回调将用指定的值替换 VariantSubType 参数并继续运行。

这些更改旨在使此回调成为处理拾取物池的可行选项。

使用方法

在内部,游戏总是尝试对生成的拾取物的变体和子类型进行随机化,即使重新进入已经访问过的房间也是如此,但是有一些检查机制确保只有当这些值最初设置为 0 时才会进行随机化。

因此,任何回调在尝试进行任何修改之前都应该检查 if RequestedVariant == 0 or RequestedSubType == 0

除非期望的效果类似于愚人节的“所有镍币都是粘性镍币”效果,该效果无论上述限制如何都会应用。

Requested Variant == 0

请求的变体 等于 0 时,游戏将对拾取物的 VariantSubType 进行随机化。在这种情况下,请求的子类型 的值将用作变体黑名单。

这个黑名单列在 NullPickupSubType 枚举中。

ID Name Function Args Optional Args Return Type
37 MC_POST_PICKUP_SELECTION (EntityPickup Pickup,
PickupVariant Variant,
int SubType,
PickupVariant RequestedVariant,
int RequestedSubType,
RNG RNG )
- table

MC_PRE_PLAYER_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。
ID Name Function Args Optional Args Return Type
33 MC_PRE_PLAYER_COLLISION (EntityPlayer Player, Entity Collider, boolean Low) PlayerVariant boolean or table

MC_PRE_TEAR_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。
ID Name Function Args Optional Args Return Type
42 MC_PRE_TEAR_COLLISION (EntityTear Tear, Entity Collider, boolean Low) TearVariant boolean or table

MC_PRE_FAMILIAR_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。

例如,你可以返回 { Collide=true } 以使一个跟班与某物(如敌人,通常跟班不会与敌人进行物理碰撞)进行物理碰撞,而不跳过碰撞代码(如果你返回 false 则会跳过)。

ID Name Function Args Optional Args Return Type
26 MC_PRE_FAMILIAR_COLLISION (EntityFamiliar Familiar, Entity Collider, boolean Low) FamiliarVariant boolean or table

MC_PRE_BOMB_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。
ID Name Function Args Optional Args Return Type
60 MC_PRE_BOMB_COLLISION (EntityBomb Bomb, Entity Collider, boolean Low) BombVariant boolean or table

MC_PRE_PICKUP_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。
ID Name Function Args Optional Args Return Type
38 MC_PRE_PICKUP_COLLISION (EntityPickup Pickup, Entity Collider, boolean Low) PickupVariant boolean or table

MC_PRE_KNIFE_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。
ID Name Function Args Optional Args Return Type
53 MC_PRE_KNIFE_COLLISION (EntityKnife Knife, Entity Collider, boolean Low) KnifeSubType boolean or table

MC_PRE_PROJECTILE_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。
ID Name Function Args Optional Args Return Type
46 MC_PRE_PROJECTILE_COLLISION (EntityProjectile Projectile, Entity Collider, boolean Low) ProjectileVariant boolean or table

MC_PRE_NPC_COLLISION⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段:

  • Collide:设置为 true 以强制实体进行物理碰撞(相互推开),除非“碰撞者”忽略碰撞。设置为 false 以忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects:设置为 true 以跳过此实体的碰撞代码,例如造成碰撞伤害。不影响物理碰撞。不会跳过“碰撞者”的碰撞代码。
ID Name Function Args Optional Args Return Type
30 MC_PRE_NPC_COLLISION (EntityNPC NPC, Entity Collider, boolean Low) EntityType boolean or table

MC_ENTITY_TAKE_DMG⚓︎

现在可以选择返回一个表,该表可以包含以下任意组合的字段,以覆盖相应的参数:

  • Damage
  • DamageFlags
  • DamageCountdown

修改后的值将传递给其余的回调。返回 false 以取消伤害仍然会跳过其余的回调。

ID Name Function Args Optional Args Return Type
11 MC_ENTITY_TAKE_DMG (Entity Entity, float Damage, DamageFlags DamageFlags, EntityRef Source, int DamageCountdown) EntityType boolean or table

Modified New Callbacks⚓︎

MC_PRE_ADD_COLLECTIBLE⚓︎

接受一个参数表:{Type, Charge, FirstTime, Slot, VarData}

或者接受一个 CollectibleType 以在不更改任何其他参数的情况下更改类型,或者接受一个布尔值以完全取消添加(false)或强制添加发生并跳过后续回调(true)。

示例代码

这段代码将在玩家拾取任何道具时将其转换为“金钱即力量”。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
function mod:myFunction(Type, Charge, FirstTime, Slot, VarData, Player)
    return CollectibleType.COLLECTIBLE_MONEY_EQUALS_POWER
end
mod:AddCallback(ModCallbacks.MC_PRE_ADD_COLLECTIBLE, mod.myFunction)

这段代码将强制主动道具在拾取时不充能。
```lua
function mod:myFunction(Type, Charge, FirstTime, Slot, VarData, Player)
    return {Type, 0, FirstTime, Slot, VarData}
end
mod:AddCallback(ModCallbacks.MC_PRE_ADD_COLLECTIBLE, mod.myFunction)

ID Name Function Args Optional Args Return Type
1004 MC_PRE_ADD_COLLECTIBLE (CollectibleType Type,
int Charge,
boolean FirstTime,
int Slot,
int VarData,
EntityPlayer Player)
CollectibleType table or CollectibleType

MC_POST_ADD_COLLECTIBLE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1005 MC_POST_ADD_COLLECTIBLE (CollectibleType Type,
int Charge,
boolean FirstTime,
int Slot,
int VarData,
EntityPlayer Player)
CollectibleType void

MC_POST_BACKDROP_PRE_RENDER_WALLS⚓︎

ID Name Function Args Optional Args Return Type
1109 MC_POST_BACKDROP_PRE_RENDER_WALLS void - void

MC_PRE_BACKDROP_CHANGE⚓︎

接受一个 整数 来更改 BackdropType

ID Name Function Args Optional Args Return Type
1141 MC_PRE_BACKDROP_CHANGE (BackdropType Type) - (BackdropType Type)

MC_PRE_BACKDROP_RENDER_FLOOR⚓︎

ID Name Function Args Optional Args Return Type
1107 MC_PRE_BACKDROP_RENDER_FLOOR (ColorModifier ColorModifier) - void

MC_PRE_BACKDROP_RENDER_WALLS⚓︎

ID Name Function Args Optional Args Return Type
1106 MC_PRE_BACKDROP_RENDER_WALLS (ColorModifier ColorModifier) - void

MC_PRE_BACKDROP_RENDER_WATER⚓︎

ID Name Function Args Optional Args Return Type
1108 MC_PRE_BACKDROP_RENDER_WATER void - void

MC_POST_BOMB_COLLISION⚓︎

假设实体的碰撞后代码未被跳过,则在该代码运行后触发。

ID Name Function Args Optional Args Return Type
1237 MC_POST_BOMB_COLLISION (EntityBomb Bomb,
Entity Collider,
boolean Low)
BombVariant void

MC_PRE_BOMB_RENDER⚓︎

接受一个 Vector 来修改渲染偏移

或者接受 false 以取消渲染

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在 MC_POST_UPDATE 中对实体调用 SetShadowSize(0)

ID Name Function Args Optional Args Return Type
1088 MC_PRE_BOMB_RENDER (EntityBomb Bomb,
Vector Offset)
BombVariant Vector or boolean

MC_PRE_CHALLENGE_DONE⚓︎

在挑战被标记为完成之前调用。

返回 false 将阻止挑战完成跟踪函数的进一步执行。

ID Name Function Args Optional Args Return Type
1471 MC_PRE_CHALLENGE_DONE (Challenge,
EntityPlayer EntityPlayer)
Challenge boolean

MC_POST_CHALLENGE_DONE⚓︎

在挑战被标记为完成之后调用。

ID Name Function Args Optional Args Return Type
1472 MC_POST_CHALLENGE_DONE (Challenge) Challenge void

MC_PRE_CHANGE_ROOM⚓︎

接受一个参数表:{TargetRoomIdx, Dimension}

Bug

TargetRoomIdx 为当前房间的索引时: 当进入下一个未进入过的房间时: - 会传送回当前房间 当进入下一个已进入过的房间时: - 如果该方向上,此房间后面还有第二个房间,就传送到那个房间(无论是否进去过,即隔一个房间传送) - 如果没有第二个房间,就传送回当前房间

注:以上规则仅在小房间场景下测试验证过

ID Name Function Args Optional Args Return Type
1061 MC_PRE_CHANGE_ROOM (int TargetRoomIdx,
int Dimension)
- table

MC_POST_ACHIEVEMENT_UNLOCK⚓︎

在成就解锁后调用。

ID Name Function Args Optional Args Return Type
1476 MC_POST_ACHIEVEMENT_UNLOCK (Achievement AchievementID) Achievement void

MC_PRE_COMPLETION_EVENT⚓︎

可以返回一个新的 CompletionTypefalse 以取消完成事件。取消该事件将阻止所有标记和与完成事件相关的内容为所有玩家触发。

ID Name Function Args Optional Args Return Type
1049 MC_PRE_COMPLETION_EVENT (CompletionType Completion) - CompletionType, boolean

MC_POST_COMPLETION_EVENT⚓︎

在记录完成事件时调用,例如击败最终boss或解锁受污染角色时。

ID Name Function Args Optional Args Return Type
1052 MC_POST_COMPLETION_EVENT (CompletionType Completion) - void

MC_PRE_COMPLETION_MARKS_RENDER⚓︎

可以返回 false 以阻止完成标记的渲染。

ID Name Function Args Optional Args Return Type
1216 MC_PRE_COMPLETION_MARKS_RENDER (Sprite CompletionMarksSprite,
Vector RenderPos,
Vector RenderScale,
int PlayerType)
- void

MC_POST_COMPLETION_MARKS_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1217 MC_POST_COMPLETION_MARKS_RENDER (Sprite CompletionMarksSprite,
Vector RenderPos,
Vector RenderScale,
int PlayerType)
- void

MC_COMPLETION_MARK_GET⚓︎

可以返回 false 以取消完成标记。

在玩家获得完成标记时调用,将标记的代码和玩家类型作为参数传入。

ID Name Function Args Optional Args Return Type
1047 MC_COMPLETION_MARK_GET (CompletionType Completion,
int PlayerType)
PlayerType void or false

MC_POST_COMPLETION_MARK_GET⚓︎

在玩家获得完成标记之后调用,将标记的代码和玩家类型作为参数传入。

ID Name Function Args Optional Args Return Type
1048 MC_POST_COMPLETION_MARK_GET (CompletionType Completion,
int PlayerType)
PlayerType void

MC_CONSOLE_AUTOCOMPLETE⚓︎

每当在控制台中输入具有 CUSTOM AutocompleteType 枚举的函数时调用。每次控制台输入更改时都会调用。

接受一个表。该表可以包含字符串值,这些值将作为命令自动补全的参数添加,也可以包含一个由两个字符串组成的表,该表将第一个字符串作为参数添加,第二个字符串作为描述添加。描述也可以在自动补全中使用,但是按下 TAB 键将使用 ID 进行正确的自动补全,而不是描述(例如 giveitem 命令,c1 是 “悲伤洋葱” 的 “参数”,“悲伤洋葱” 是 “描述”,两者都可以使用。按下 TAB 键将把命令转换为 give c1)。

REPENTOGON 会处理仅显示与给定输入相关的选项 - 只需返回一个选项表,REPENTOGON 将处理其余部分。

ID Name Function Args Optional Args Return Type
1120 MC_CONSOLE_AUTOCOMPLETE (string Command,
string Params)
string Command table

MC_PRE_DEVIL_APPLY_ITEMS⚓︎

当游戏开始计算传统物品以进行恶魔交易计算时,会运行此回调。这在阶段惩罚之前调用。

大多数影响恶魔交易几率的物品会在此处进行更改。

接受一个 浮点数 来修改此计算步骤中的几率。

ID Name Function Args Optional Args Return Type
1130 MC_PRE_DEVIL_APPLY_ITEMS (float Chance) - float

MC_PRE_DEVIL_APPLY_SPECIAL_ITEMS⚓︎

接下来,游戏会应用 “特殊” 物品,这些物品可以绕过阶段惩罚,如山羊头和圣餐。

接受一个 浮点数 来修改此计算步骤中的几率。

ID Name Function Args Optional Args Return Type
1132 MC_PRE_DEVIL_APPLY_SPECIAL_ITEMS (float Chance) - float

MC_PRE_DEVIL_APPLY_STAGE_PENALTY⚓︎

接下来,游戏会计算阶段惩罚。如果在前两层的任何地方生成了一笔交易,游戏会根据已接受的交易数量将最终几率衰减 50% 或 25%。

需要注意的是,即使游戏显示 50% 和 25% 的值分别约为 66% 或 33%,这是因为恶魔几率 没有 被限制在 0 到 1 之间,并且没有物品时 “100%” 通常意味着约 133% 的值。

接受一个 布尔值。返回 false 以绕过阶段惩罚。

ID Name Function Args Optional Args Return Type
1131 MC_PRE_DEVIL_APPLY_STAGE_PENALTY void - boolean

MC_POST_DEVIL_CALCULATE⚓︎

这将覆盖 所有 之前的计算值,最终决定恶魔几率。

接受一个 浮点数 来修改几率。

ID Name Function Args Optional Args Return Type
1133 MC_POST_DEVIL_CALCULATE (float Chance) - float

MC_PRE_EFFECT_RENDER⚓︎

接受一个 Vector 来修改渲染偏移

或者接受 false 以取消渲染

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在 MC_POST_UPDATE 中对实体调用 SetShadowSize(0)

ID Name Function Args Optional Args Return Type
1087 MC_PRE_EFFECT_RENDER (EntityEffect Effect,
Vector Offset)
EffectVariant Vector or boolean

MC_POST_ENTITY_TAKE_DMG⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1006 MC_POST_ENTITY_TAKE_DMG (Entity Entity,
float Damage,
DamageFlags DamageFlags,
EntityRef Source,
int DamageCountdown)
EntityType void

MC_PRE_ENTITY_THROW⚓︎

接受一个 Vector,它将修改被投掷实体的速度。

ID Name Function Args Optional Args Return Type
1040 MC_PRE_ENTITY_THROW (EntityPlayer ThrowingPlayer,
Entity HeldEntity,
Vector Velocity)
- Vector

MC_POST_ENTITY_THROW⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1041 MC_POST_ENTITY_THROW (EntityPlayer ThrowingPlayer,
Entity ThrownEntity,
Vector Velocity)
- void

MC_POST_FAMILIAR_COLLISION⚓︎

假设实体的碰撞后代码未被跳过,则在该代码运行后触发。

ID Name Function Args Optional Args Return Type
1235 MC_POST_FAMILIAR_COLLISION (EntityFamiliar Familiar,
Entity Collider,
boolean Low)
FamiliarVariant void

MC_POST_FAMILIAR_FIRE_BRIMSTONE⚓︎

当跟班发射硫磺激光时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1261 MC_POST_FAMILIAR_FIRE_BRIMSTONE (EntityLaser Laser) FamiliarVariant void

MC_POST_FAMILIAR_FIRE_PROJECTILE⚓︎

当跟班发射眼泪时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1252 MC_POST_FAMILIAR_FIRE_PROJECTILE (EntityTear Tear) FamiliarVariant void

MC_POST_FAMILIAR_FIRE_TECH_LASER⚓︎

当跟班发射科技激光时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1262 MC_POST_FAMILIAR_FIRE_TECH_LASER (EntityLaser Laser) FamiliarVariant void

MC_PRE_FAMILIAR_RENDER⚓︎

接受一个 Vector 来修改渲染偏移

或者接受 false 以取消渲染

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在 MC_POST_UPDATE 中对实体调用 SetShadowSize(0)

ID Name Function Args Optional Args Return Type
1080 MC_PRE_FAMILIAR_RENDER (EntityFamiliar Familiar,
Vector Offset)
FamiliarVariant Vector or boolean

MC_POST_FIRE_BOMB⚓︎

当玩家发射胎儿博士炸弹时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1253 MC_POST_FIRE_BOMB (EntityBomb Bomb) - void

MC_POST_FIRE_BONE_CLUB⚓︎

当玩家发射遗忘者的骨棒时调用。

仅在骨棒最初生成时调用,而不是在挥舞或蓄力发射时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1254 MC_POST_FIRE_BONE_CLUB (EntityKnife Knife) - void

MC_POST_FIRE_BRIMSTONE_BALL⚓︎

当玩家发射硫磺球时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1256 MC_POST_FIRE_BRIMSTONE_BALL (EntityEffect Effect) - void

MC_POST_FIRE_BRIMSTONE⚓︎

当玩家发射硫磺激光时调用。

这也适用于延迟硫磺激光。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1255 MC_POST_FIRE_BRIMSTONE (EntityLaser Laser) - void

MC_POST_FIRE_KNIFE⚓︎

当玩家从妈妈的刀发射刀时调用。

仅在刀最初生成时调用,而不是在蓄力发射时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1257 MC_POST_FIRE_KNIFE (EntityKnife Knife) - void

MC_POST_FIRE_SWORD⚓︎

当玩家挥舞灵剑时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1258 MC_POST_FIRE_SWORD (EntityKnife Knife) - void

MC_POST_FIRE_TECH_LASER⚓︎

当玩家发射科技激光时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1259 MC_POST_FIRE_TECH_LASER (EntityLaser Laser) - void

MC_POST_FIRE_TECH_X_LASER⚓︎

当玩家发射科技X激光时调用。

返回任何值都不会影响后续回调的执行。

ID Name Function Args Optional Args Return Type
1260 MC_POST_FIRE_TECH_X_LASER (EntityLaser Laser) - void

MC_GET_FOLLOWER_PRIORITY⚓︎

接受 FollowerPriority 来赋予跟班优先级。可以接受任何整数。

ID Name Function Args Optional Args Return Type
1063 MC_GET_FOLLOWER_PRIORITY (EntityFamiliar Familiar) FamiliarVariant FollowerPriority or int

MC_PRE_GET_LIGHTING_ALPHA⚓︎

接受一个 浮点数 来修改光照透明度。通常这个值在 0 到 1 之间,但实际上你可以设置更高的值。

ID Name Function Args Optional Args Return Type
1150 MC_PRE_GET_LIGHTING_ALPHA (float OriginalAlpha) - float

MC_GET_SHOP_ITEM_PRICE⚓︎

在计算商店物品的价格后调用。 返回一个整数或 PickupPrice 来更改物品的价格。

ID Name Function Args Optional Args Return Type
1066 MC_GET_SHOP_ITEM_PRICE (int PickupVariant,
int PickupSubType,
int ShopItemID,
int Price)
int PickupVariant

MC_PRE_GRID_ENTITY_DECORATION_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1444 MC_PRE_GRID_ENTITY_DECORATION_RENDER (GridEntityDecoration Decoration,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_DECORATION_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1445 MC_POST_GRID_ENTITY_DECORATION_RENDER (GridEntityDecoration Decoration) GridEntityType void

MC_PRE_GRID_ENTITY_DECORATION_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1400 MC_PRE_GRID_ENTITY_DECORATION_UPDATE (GridEntityDecoration Decoration) GridEntityType boolean

MC_POST_GRID_ENTITY_DECORATION_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1401 MC_POST_GRID_ENTITY_DECORATION_UPDATE (GridEntityDecoration Decoration) GridEntityType void

MC_PRE_GRID_ENTITY_DOOR_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1446 MC_PRE_GRID_ENTITY_DOOR_RENDER (GridEntityDoor Door,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_DOOR_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1447 MC_POST_GRID_ENTITY_DOOR_RENDER (GridEntityDoor Door) GridEntityType void

MC_PRE_GRID_ENTITY_DOOR_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1402 MC_PRE_GRID_ENTITY_DOOR_UPDATE (GridEntityDoor Door) GridEntityType boolean

MC_POST_GRID_ENTITY_DOOR_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1403 MC_POST_GRID_ENTITY_DOOR_UPDATE (GridEntityDoor Door) GridEntityType void

MC_PRE_GRID_ENTITY_FIRE_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

警告

火焰网格实体在很大程度上未被使用,在大多数情况下,你可能想针对 EntityNPC 壁炉。

ID Name Function Args Optional Args Return Type
1448 MC_PRE_GRID_ENTITY_FIRE_RENDER (GridEntityFire Fire,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_FIRE_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1449 MC_POST_GRID_ENTITY_FIRE_RENDER (GridEntityFire Fire) GridEntityType void

MC_PRE_GRID_ENTITY_FIRE_UPDATE⚓︎

接受 false 以取消更新。

警告

火焰网格实体在很大程度上未被使用,在大多数情况下,你可能想针对 EntityNPC 壁炉。

ID Name Function Args Optional Args Return Type
1404 MC_PRE_GRID_ENTITY_FIRE_UPDATE (GridEntityFire Fire) GridEntityType boolean

MC_POST_GRID_ENTITY_FIRE_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1405 MC_POST_GRID_ENTITY_FIRE_UPDATE (GridEntityFire Fire) GridEntityType void

MC_PRE_GRID_ENTITY_GRAVITY_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1406 MC_PRE_GRID_ENTITY_GRAVITY_UPDATE (GridEntityGravity Gravity) GridEntityType boolean

MC_POST_GRID_ENTITY_GRAVITY_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1407 MC_POST_GRID_ENTITY_GRAVITY_UPDATE (GridEntityGravity Gravity) GridEntityType void

MC_PRE_GRID_ENTITY_LOCK_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1450 MC_PRE_GRID_ENTITY_LOCK_RENDER (GridEntityLock Lock,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_LOCK_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1451 MC_POST_GRID_ENTITY_LOCK_RENDER (GridEntityLock Lock) GridEntityType void

MC_PRE_GRID_ENTITY_LOCK_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1408 MC_PRE_GRID_ENTITY_LOCK_UPDATE (GridEntityLock Lock) GridEntityType boolean

MC_POST_GRID_ENTITY_LOCK_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1409 MC_POST_GRID_ENTITY_LOCK_UPDATE (GridEntityLock Lock) GridEntityType void

MC_PRE_GRID_ENTITY_PIT_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1454 MC_PRE_GRID_ENTITY_PIT_RENDER (GridEntityPit Pit,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_PIT_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1455 MC_POST_GRID_ENTITY_PIT_RENDER (GridEntityPit Pit) GridEntityType void

MC_PRE_GRID_ENTITY_PIT_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1410 MC_PRE_GRID_ENTITY_PIT_UPDATE (GridEntityPit Pit) GridEntityType boolean

MC_POST_GRID_ENTITY_PIT_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1411 MC_POST_GRID_ENTITY_PIT_UPDATE (GridEntityPit Pit) GridEntityType void

MC_PRE_GRID_ENTITY_POOP_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

警告

此回调不包括受污染的 ??? 使用的 EntityNPC 便便。

ID Name Function Args Optional Args Return Type
1456 MC_PRE_GRID_ENTITY_POOP_RENDER (GridEntityPoop Poop,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_POOP_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1457 MC_POST_GRID_ENTITY_POOP_RENDER (GridEntityPoop Poop) GridEntityType void

MC_PRE_GRID_ENTITY_POOP_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1412 MC_PRE_GRID_ENTITY_POOP_UPDATE (GridEntityPoop Poop) GridEntityType boolean

MC_POST_GRID_ENTITY_POOP_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1413 MC_POST_GRID_ENTITY_POOP_UPDATE (GridEntityPoop Poop) GridEntityType void

MC_PRE_GRID_ENTITY_PRESSUREPLATE_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1460 MC_PRE_GRID_ENTITY_PRESSUREPLATE_RENDER (GridEntityPressurePlate PressurePlate,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_PRESSUREPLATE_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1461 MC_POST_GRID_ENTITY_PRESSUREPLATE_RENDER (GridEntityPressurePlate PressurePlate) GridEntityType void

MC_PRE_GRID_ENTITY_PRESSUREPLATE_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1414 MC_PRE_GRID_ENTITY_PRESSUREPLATE_UPDATE (GridEntityPressurePlate PressurePlate) GridEntityType boolean

MC_POST_GRID_ENTITY_PRESSUREPLATE_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1415 MC_POST_GRID_ENTITY_PRESSUREPLATE_UPDATE (GridEntityPressurePlate PressurePlate) GridEntityType void

MC_PRE_GRID_ENTITY_ROCK_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1458 MC_PRE_GRID_ENTITY_ROCK_RENDER (GridEntityRock Rock,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_ROCK_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1459 MC_POST_GRID_ENTITY_ROCK_RENDER (GridEntityRock Rock) GridEntityType void

MC_PRE_GRID_ENTITY_ROCK_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1416 MC_PRE_GRID_ENTITY_ROCK_UPDATE (GridEntityRock Rock) GridEntityType boolean

MC_POST_GRID_ENTITY_ROCK_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1417 MC_POST_GRID_ENTITY_ROCK_UPDATE (GridEntityRock Rock) GridEntityType void

MC_PRE_GRID_ENTITY_SPAWN⚓︎

GridEntity 在房间初始化之外生成时调用。

接受 false 以取消生成网格,接受一个 {Type, Variant, Vardata, SpawnSeed} 表来修改它,或接受一个 GridEntityDesc 来完全覆盖它。

警告

Desc 在大多数情况下将为 nil。例外情况是鼹鼠NPC生成的便便、TurnGold 生成的网格,或使用新的 SpawnGridEntity(int GridIndex, GridEntityDesc Descriptor) 重载调用的Lua生成。

ID Name Function Args Optional Args Return Type
1100 MC_PRE_GRID_ENTITY_SPAWN (GridEntityType Type,
int Variant,
int VarData,
int GridIdx,
int SpawnSeed,
GridEntityDesc Desc)
GridEntityType Type boolean, table, or GridEntityDesc

MC_POST_GRID_ENTITY_SPAWN⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1101 MC_POST_GRID_ENTITY_SPAWN (GridEntity Grid) GridEntityType Type void

MC_PRE_GRID_ENTITY_SPIKES_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1432 MC_PRE_GRID_ENTITY_SPIKES_RENDER (GridEntitySpikes Grid,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_SPIKES_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1433 MC_POST_GRID_ENTITY_SPIKES_RENDER (GridEntitySpikes Grid) GridEntityType void

MC_PRE_GRID_ENTITY_SPIKES_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1418 MC_PRE_GRID_ENTITY_SPIKES_UPDATE (GridEntitySpikes Spikes) GridEntityType boolean

MC_POST_GRID_ENTITY_SPIKES_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1419 MC_POST_GRID_ENTITY_SPIKES_UPDATE (GridEntitySpikes Spikes) GridEntityType void

MC_PRE_GRID_ENTITY_STAIRCASE_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1440 MC_PRE_GRID_ENTITY_STAIRCASE_RENDER (GridEntityStairs Staircase,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_STAIRCASE_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1441 MC_POST_GRID_ENTITY_STAIRCASE_RENDER (GridEntityStairs Staircase) GridEntityType void

MC_PRE_GRID_ENTITY_STAIRCASE_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1420 MC_PRE_GRID_ENTITY_STAIRCASE_UPDATE (GridEntityStairs Staircase) GridEntityType boolean

MC_POST_GRID_ENTITY_STAIRCASE_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1421 MC_POST_GRID_ENTITY_STAIRCASE_UPDATE (GridEntityStairs Staircase) GridEntityType void

MC_PRE_GRID_ENTITY_STATUE_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1422 MC_PRE_GRID_ENTITY_STATUE_UPDATE (GridEntityStatue Statue) GridEntityType boolean

MC_POST_GRID_ENTITY_STATUE_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1423 MC_POST_GRID_ENTITY_STATUE_UPDATE (GridEntityStatue Statue) GridEntityType void

MC_PRE_GRID_ENTITY_TELEPORTER_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1452 MC_PRE_GRID_ENTITY_TELEPORTER_RENDER (GridEntityTeleporter Teleporter,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_TELEPORTER_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1453 MC_POST_GRID_ENTITY_TELEPORTER_RENDER (GridEntityTeleporter Teleporter) GridEntityType void

MC_PRE_GRID_ENTITY_TELEPORTER_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1424 MC_PRE_GRID_ENTITY_TELEPORTER_UPDATE (GridEntityTeleporter Teleporter) GridEntityType boolean

MC_POST_GRID_ENTITY_TELEPORTER_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1425 MC_POST_GRID_ENTITY_TELEPORTER_UPDATE (GridEntityTeleporter Teleporter) GridEntityType void

MC_PRE_GRID_ENTITY_TNT_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1436 MC_PRE_GRID_ENTITY_TNT_RENDER (GridEntityTNT TNT,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_TNT_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1437 MC_POST_GRID_ENTITY_TNT_RENDER (GridEntityTNT TNT) GridEntityType void

MC_PRE_GRID_ENTITY_TNT_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1430 MC_PRE_GRID_ENTITY_TNT_UPDATE (GridEntityTNT TNT) GridEntityType boolean

MC_POST_GRID_ENTITY_TNT_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1431 MC_POST_GRID_ENTITY_TNT_UPDATE (GridEntityTNT TNT) GridEntityType void

MC_PRE_GRID_ENTITY_TRAPDOOR_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1438 MC_PRE_GRID_ENTITY_TRAPDOOR_RENDER (GridEntityTrapDoor TrapDoor,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_TRAPDOOR_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1439 MC_POST_GRID_ENTITY_TRAPDOOR_RENDER (GridEntityTrapDoor TrapDoor) GridEntityType void

MC_PRE_GRID_ENTITY_TRAPDOOR_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1426 MC_PRE_GRID_ENTITY_TRAPDOOR_UPDATE (GridEntityTrapDoor TrapDoor) GridEntityType boolean

MC_POST_GRID_ENTITY_TRAPDOOR_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1427 MC_POST_GRID_ENTITY_TRAPDOOR_UPDATE (GridEntityTrapDoor TrapDoor) GridEntityType void

MC_PRE_GRID_ENTITY_WALL_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1462 MC_PRE_GRID_ENTITY_WALL_RENDER (GridEntityWall Wall,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_WALL_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1463 MC_POST_GRID_ENTITY_WALL_RENDER (GridEntityWall Wall) GridEntityType void

MC_PRE_GRID_ENTITY_WEB_RENDER⚓︎

接受一个 Vector 来修改渲染偏移或 false 以取消渲染。

ID Name Function Args Optional Args Return Type
1434 MC_PRE_GRID_ENTITY_WEB_RENDER (GridEntityWeb Web,
Vector Offset)
GridEntityType Vector or boolean

MC_POST_GRID_ENTITY_WEB_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1435 MC_POST_GRID_ENTITY_WEB_RENDER (GridEntityWeb Web) GridEntityType void

MC_PRE_GRID_ENTITY_WEB_UPDATE⚓︎

接受 false 以取消更新。

ID Name Function Args Optional Args Return Type
1428 MC_PRE_GRID_ENTITY_WEB_UPDATE (GridEntityWeb Web) GridEntityType boolean

MC_POST_GRID_ENTITY_WEB_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1429 MC_POST_GRID_ENTITY_WEB_UPDATE (GridEntityWeb Web) GridEntityType void

MC_GRID_HURT_DAMAGE⚓︎

在网格实体试图对一个实体造成伤害之前调用。

如果实体或玩家应该忽略该伤害,则返回 false

Bug

浮点型的 DamageAmount(对非玩家实体的预期伤害量)目前存在错误,始终显示为 0 - 将在未来的更新中修复。

ID Name Function Args Optional Args Return Type
1012 MC_GRID_HURT_DAMAGE (GridEntity GridEntity,
Entity Entity,
int PlayerDamageAmount,
DamageFlags DamageFlags,
float DamageAmount, boolean IgnoreGridCollisionClass)
GridEntityType boolean

MC_POST_GRID_HURT_DAMAGE⚓︎

在网格实体试图对一个实体造成伤害之后调用。请注意,这并不保证实体实际受到了伤害(例如,如果玩家当前处于无敌状态)。

不接受返回参数。

Bug

浮点型的 DamageAmount(对非玩家实体的预期伤害量)目前存在错误,始终显示为 0 - 将在未来的更新中修复。

ID Name Function Args Optional Args Return Type
1013 MC_POST_GRID_HURT_DAMAGE (GridEntity GridEntity,
Entity Entity,
int PlayerDamageAmount,
DamageFlags DamageFlags,
float DamageAmount, boolean IgnoreGridCollisionClass)
GridEntityType void

MC_POST_GRID_ROCK_DESTROY⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1011 MC_POST_GRID_ROCK_DESTROY (GridEntityRock Rock,
GridEntityType Type,
boolean Immediate)
GridEntityType void

MC_HUD_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1022 MC_HUD_RENDER void - void

MC_POST_HUD_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1024 MC_POST_HUD_RENDER void - void

MC_HUD_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1020 MC_HUD_UPDATE void - void

MC_POST_HUD_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1021 MC_POST_HUD_UPDATE void - void

MC_IS_PERSISTENT_ROOM_ENTITY⚓︎

返回 true 允许实体重生。

ID Name Function Args Optional Args Return Type
1263 MC_IS_PERSISTENT_ROOM_ENTITY (EntityType Type,
int Variant)
- boolean

MC_PRE_ITEM_OVERLAY_SHOW⚓︎

接受一个整数来更改 Giantbook

或者接受 true 以取消物品叠加显示

ID Name Function Args Optional Args Return Type
1076 MC_PRE_ITEM_OVERLAY_SHOW (Giantbook GiantbookID,
int Delay,
EntityPlayer Player)
Giantbook Giantbook or boolean

MC_POST_ITEM_OVERLAY_SHOW⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1134 MC_POST_ITEM_OVERLAY_SHOW (Giantbook GiantbookID,
int Delay,
EntityPlayer Player)
Giantbook void

MC_POST_ITEM_OVERLAY_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1075 MC_POST_ITEM_OVERLAY_UPDATE void Giantbook void

MC_POST_KNIFE_COLLISION⚓︎

假设实体的碰撞后代码未被跳过,则在该代码运行后触发。

ID Name Function Args Optional Args Return Type
1243 MC_POST_KNIFE_COLLISION (EntityKnife Knife,
Entity Collider,
boolean Low)
KnifeSubType void

MC_PRE_KNIFE_RENDER⚓︎

接受一个 Vector 来修改渲染偏移

或者接受 false 以取消渲染

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在 MC_POST_UPDATE 中对实体调用 SetShadowSize(0)

ID Name Function Args Optional Args Return Type
1086 MC_PRE_KNIFE_RENDER (EntityKnife Knife,
Vector Offset)
KnifeVariant Vector or boolean

MC_PRE_LASER_COLLISION⚓︎

在激光击中实体之前立即触发。返回 true 以忽略碰撞。

ID Name Function Args Optional Args Return Type
1248 MC_PRE_LASER_COLLISION (EntityLaser Laser,
Entity Collider)
LaserVariant boolean

MC_POST_LASER_COLLISION⚓︎

在激光击中实体之后触发。

ID Name Function Args Optional Args Return Type
1249 MC_POST_LASER_COLLISION (EntityLaser Laser,
Entity Collider)
LaserVariant void

MC_PRE_LEVEL_INIT⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1060 MC_PRE_LEVEL_INIT void - void

MC_POST_LEVEL_LAYOUT_GENERATED⚓︎

ID Name Function Args Optional Args Return Type
1099 MC_POST_LEVEL_LAYOUT_GENERATED (LevelGenerator LevelGenerator) - void

MC_PRE_LEVEL_PLACE_ROOM⚓︎

返回一个房间配置以替换将要放置的房间

警告

新房间的形状必须相同,并且新的可用门插槽必须与原始房间的门兼容。

ID Name Function Args Optional Args Return Type
1137 MC_PRE_LEVEL_PLACE_ROOM (LevelGeneratorRoom Slot,
RoomConfigRoom RoomConfig,
int Seed)
- RoomConfigRoom Config

MC_PRE_LEVEL_SELECT⚓︎

当游戏选择要加载的关卡(也称为阶段)时,通常是当玩家进入活板门时,会触发此回调。 该回调接受两个参数:

  • Level:游戏选择的关卡,如 LevelStage 枚举中所定义。
  • Type:游戏选择的关卡类型,如 StageType 枚举中所定义。

此回调可以返回 nil 或一个表。

  • nil:让游戏继续使用它选择的关卡阶段 / 阶段类型对;
  • 表:必须包含两个字段(匿名)。第一个字段是所需的关卡阶段,第二个字段是所需的阶段类型。

如果你返回一个表,REPENTOGON 将检查这些值是否落在关卡阶段和阶段类型的允许范围内。

值范围

请记住,普通 / 困难模式和贪婪 / 更贪婪模式的关卡类型范围是不同的。

还要记住,自《以撒的结合:忏悔》以来,阶段类型值 3 已被弃用。

ID Name Function Args Optional Args Return Type
1104 MC_PRE_LEVEL_SELECT (LevelStage Level,
StageType Type)
- void

MC_MAIN_MENU_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1023 MC_MAIN_MENU_RENDER void - void

MC_PRE_MEGA_SATAN_ENDING⚓︎

在超级撒旦强制结束游戏之前立即调用。

  • 接受 true 以抑制结束画面,保证出现通往虚空的传送门,同时保留该角色的完成标记。
  • falsenil 将没有效果。我可能会考虑让 false 保证一个结束画面?
ID Name Function Args Optional Args Return Type
1201 MC_PRE_MEGA_SATAN_ENDING void - boolean

MC_MENU_INPUT_ACTION⚓︎

MC_INPUT_ACTION 相同,但仅在主菜单中有效。

ID Name Function Args Optional Args Return Type
1464 MC_MENU_INPUT_ACTION (Entity,
InputHook,
ButtonAction)
InputHook boolean or float

MC_POST_MODS_LOADED⚓︎

在所有Lua脚本加载完成后调用。非常适合运行那些期望在所有模组初始化后运行的代码,而无需考虑加载顺序的问题!

不接受返回参数。

ID Name Function Args Optional Args Return Type
1210 MC_POST_MODS_LOADED void - void

MC_PRE_MUSIC_LAYER_TOGGLE⚓︎

接受一个音乐层ID(枚举待定)来更改层,或接受一个布尔值来更改层的状态:true 以保持其运行,false 以停止它。

CurrentState 在层即将 启用 时返回 true,在层即将 禁用 时返回 false

ID Name Function Args Optional Args Return Type
1035 MC_PRE_MUSIC_LAYER_TOGGLE (int ID,
boolean CurrentState)
int int or boolean

MC_PRE_MUSIC_PLAY_JINGLE⚓︎

接受一个 Music 来更改曲目

或者接受 false 以取消曲目

ID Name Function Args Optional Args Return Type
1094 MC_PRE_MUSIC_PLAY_JINGLE (Music MusicID) Music Music or boolean

MC_PRE_MUSIC_PLAY⚓︎

接受一个参数表:{ID, Volume OR FadeRate}

或者接受一个 Music 来更改曲目而不更改音量或淡入淡出速率

或者接受 false 以取消曲目

音量与淡入淡出速率

此回调在 MusicManager::PlayMusicManager::Crossfade 时都会被调用!提供 IsFade 以区分两者。

示例代码

此代码将把所有音乐曲目替换为水淹洞穴主题(不管好坏)。

1
2
3
4
function mod:myFunction(ID, Volume, IsFade)
    return Music.MUSIC_FLOODED_CAVES
end
mod:AddCallback(ModCallbacks.MC_PRE_MUSIC_PLAY, mod.myFunction)

ID Name Function Args Optional Args Return Type
1034 MC_PRE_MUSIC_PLAY (int ID,
float Volume OR float FadeRate,
boolean IsFade)
Music table or Music or boolean

MC_PRE_M_MORPH_ACTIVE⚓︎

当主动道具被 “M”(饰品ID 138)重铸时,此回调会触发,并允许覆盖其默认行为。

  • 接受一个 CollectibleType 类型的值,以覆盖重铸后的道具ID;或者接受 false,以完全阻止主动道具重铸。
ID Name Function Args Optional Args Return Type
1190 MC_PRE_M_MORPH_ACTIVE (EntityPlayer Player,
CollectibleType Collectible)
- CollectibleType

MC_PRE_NEW_ROOM⚓︎

不接受返回参数。

警告

虽然此回调提供了一个房间对象,且该房间对象本身没有问题,但此回调会在 房间完全初始化之前 触发。因此,围绕房间对象的操作应被视为不稳定且不可靠的,使用时需自行斟酌。一些看似友好的函数(如 GetCenterPos)在这个回调中使用时已知会引发问题。所以,请尽量将与房间对象相关的操作移至在此回调之后触发的其他回调中。

ID Name Function Args Optional Args Return Type
1200 MC_PRE_NEW_ROOM (Room Room,
RoomDescriptor Descriptor)
- void

MC_POST_NIGHTMARE_SCENE_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1102 MC_POST_NIGHTMARE_SCENE_RENDER void - void

MC_POST_NIGHTMARE_SCENE_SHOW⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1103 MC_POST_NIGHTMARE_SCENE_SHOW (boolean Unknown) - void

MC_POST_NPC_COLLISION⚓︎

假设实体的碰撞后代码未被跳过,则在该代码运行之后执行。

ID Name Function Args Optional Args Return Type
1247 MC_POST_NPC_COLLISION (EntityNPC NPC,
Entity Collider,
boolean Low)
EntityType void

MC_PRE_NPC_MORPH⚓︎

接受一个参数表:{EntityType, Variant, SubType, Championid} 或者仅 {EntityType, Variant, SubType}

返回 false 可取消变形。

ID Name Function Args Optional Args Return Type
1212 MC_PRE_NPC_MORPH (EntityNPC NPC,
int EntityType,
int Variant,
int SubType,
int Championid)
- table or boolean

MC_POST_NPC_MORPH⚓︎

在变形已经发生之后运行。

ID Name Function Args Optional Args Return Type
1214 MC_POST_NPC_MORPH (EntityNPC NPC,
int PreviousType,
int PreviousVariant,
int PreviousSubType)
- void

MC_NPC_PICK_TARGET⚓︎

每当一个 EntityNPC 选择其目标时调用,例如当调用 EntityNPC:GetPlayerTarget() 时。

返回一个实体,可使 NPC 改为以该实体为目标。

ID Name Function Args Optional Args Return Type
1222 MC_NPC_PICK_TARGET (EntityNPC NPC,
Entity CurrentTarget)
EntityType Entity

MC_POST_NPC_DARK_RED_CHAMPION_REGEN⚓︎

在暗红色冠军怪从黏液形态重生后立即运行。

ID Name Function Args Optional Args Return Type
1223 MC_POST_NPC_DARK_RED_CHAMPION_REGEN (EntityNPC NPC) EntityType void

MC_EVALUATE_CUSTOM_CACHE⚓︎

当评估自定义缓存时调用(参见 items.xml)。返回一个数字以修改该值。修改后的值会传递给下一个回调。

初始值始终为 0。可以随时使用 player:GetCustomCacheValue("mycustomcache") 获取最新结果。

ID Name Function Args Optional Args Return Type
1224 MC_EVALUATE_CUSTOM_CACHE (EntityPlayer Player, CustomCacheTag string, float Value) string CustomCacheTag void

MC_EVALUATE_FAMILIAR_MULTIPLIER⚓︎

当需要重新评估跟班的缓存乘数时调用。返回一个数字以修改乘数。修改后的值会传递给下一个回调。

像 BFFs 或蜂巢思维等效果在此时已经应用。

请注意,此回调的结果会被缓存,因此仅在需要时运行。如果添加/移除了带有 familiarmultiplier “自定义缓存” 的道具(参见 items.xml),或者调用了 familiar:InvalidateCachedMultiplier(),则会触发此回调。

ID Name Function Args Optional Args Return Type
1225 MC_EVALUATE_FAMILIAR_MULTIPLIER (EntityFamiliar Familiar, float Mult, EntityPlayer Player) FamiliarVariant void

MC_PRE_NPC_RENDER⚓︎

接受一个 Vector 类型的值以修改渲染偏移。

或者接受 false 以取消渲染。

阴影

取消此回调不会停止实体阴影的渲染。此问题正在调查中,在此期间,请在 MC_POST_UPDATE 中调用 SetShadowSize(0) 来处理实体阴影。

ID Name Function Args Optional Args Return Type
1081 MC_PRE_NPC_RENDER (EntityNPC NPC,
Vector Offset)
EntityType Vector or boolean

MC_PRE_NPC_SPLIT⚓︎

当游戏即将决定一个 EntityNPC 是否可以分裂时调用,例如肉刀效果。

返回 true 可阻止分裂,返回 false 可允许分裂(即使该 NPC 在黑名单中),返回 nil 则继续默认行为。

ID Name Function Args Optional Args Return Type
1191 MC_PRE_NPC_SPLIT (EntityNPC NPC,
boolean IsBlacklisted)
EntityType boolean

MC_PRE_OPENGL_RENDER⚓︎

在 Manager::Render() 函数调用之前立即调用。

ID Name Function Args Optional Args Return Type
1136 MC_PRE_OPENGL_RENDER (VertexBuffer,
int shaderId,
RenderContext)
- ?

MC_PRE_PAUSE_SCREEN_RENDER⚓︎

可以返回 false 以阻止暂停屏幕的渲染。这样做也会阻止屏幕变暗。

ID Name Function Args Optional Args Return Type
1218 MC_PRE_PAUSE_SCREEN_RENDER (Sprite PauseBody,
Sprite PauseStats)
- boolean

MC_POST_PAUSE_SCREEN_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1219 MC_POST_PAUSE_SCREEN_RENDER (Sprite PauseBody,
Sprite PauseStats)
- void

MC_POST_PICKUP_COLLISION⚓︎

假设实体的碰撞后代码未被跳过,则在该代码运行之后执行。

ID Name Function Args Optional Args Return Type
1239 MC_POST_PICKUP_COLLISION (EntityPickup Pickup,
Entity Collider,
boolean Low)
PickupVariant void

MC_PRE_PICKUP_COMPOSTED⚓︎

当拾取物被堆肥效果消耗时调用此回调。 接受 false 以取消拾取物被消耗。

ID Name Function Args Optional Args Return Type
1267 MC_PRE_PICKUP_VOIDED (EntityPickup Pickup) PickupVariant boolean

MC_PICKUP_GET_COIN_VALUE⚓︎

接受 int 类型的 CoinValue,以修改拾取硬币时可获得的硬币数量。

ID Name Function Args Optional Args Return Type
1250 MC_PICKUP_GET_COIN_VALUE (EntityPickup Pickup) CoinSubType int CoinValue

MC_PRE_PICKUP_MORPH⚓︎

接受一个参数表:{EntityType, Variant, SubType, KeepPrice, KeepSeed, IgnoreModifiers} 或者仅 {EntityType, Variant, SubType}

返回 false 可取消变形。

ID Name Function Args Optional Args Return Type
1213 MC_PRE_PICKUP_MORPH (EntityPickup Pickup,
int EntityType,
int Variant,
int SubType,
boolean KeepPrice,
boolean KeepSeed,
boolean IgnoreModifiers)
- table or boolean

MC_POST_PICKUP_MORPH⚓︎

在变形已经发生之后运行。

ID Name Function Args Optional Args Return Type
1215 MC_POST_PICKUP_MORPH (EntityPickup Pickup,
int PreviousType,
int PreviousVariant,
int SubType,
boolean KeptPrice,
boolean KeptSeed,
boolean IgnoredModifiers)
- void

MC_PRE_PICKUP_RENDER⚓︎

接受一个 Vector 类型的值以修改渲染偏移。

或者接受 false 以取消渲染。

阴影

取消此回调不会停止实体阴影的渲染。此问题正在调查中,在此期间,请在 MC_POST_UPDATE 中调用 SetShadowSize(0) 来处理实体阴影。

ID Name Function Args Optional Args Return Type
1083 MC_PRE_PICKUP_RENDER (EntityPickup Pickup,
Vector Offset)
PickupVariant Vector or boolean

MC_POST_PICKUP_SHOP_PURCHASE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1062 MC_POST_PICKUP_SHOP_PURCHASE (EntityPickup Pickup,
EntityPlayer Player,
int MoneySpent)
PickupVariant void

MC_PRE_PICKUP_VOIDED_ABYSS⚓︎

当拾取物被深渊效果消耗时调用此回调。 接受 false 以取消拾取物被消耗。

ID Name Function Args Optional Args Return Type
1266 MC_PRE_PICKUP_VOIDED_ABYSS (EntityPickup Pickup) PickupVariant boolean

MC_PRE_PICKUP_VOIDED⚓︎

当拾取物被虚空效果或黑符文消耗时调用此回调。IsBlackRune 参数表示消耗源。 如果使用了黑符文,此回调会针对基座道具和变成苍蝇的小拾取物都触发。 接受 false 以取消拾取物被消耗。

ID Name Function Args Optional Args Return Type
1265 MC_PRE_PICKUP_VOIDED (EntityPickup Pickup,
boolean IsBlackRune)
PickupVariant boolean

MC_PRE_PLANETARIUM_APPLY_ITEMS⚓︎

在检查进入的宝藏房间数量后,游戏会应用固定的道具出现几率。这是水晶球、魔法 8 球和香肠的几率增加的地方,以及望远镜镜片额外 15% 几率的应用处。

如果你想添加像望远镜镜片这样修改 基础 几率的道具,请查看 MC_PRE_PLANETARIUM_APPLY_TELESCOPE_LENS。

接受一个 float 类型的值,以修改此计算步骤中的几率。

ID Name Function Args Optional Args Return Type
1113 MC_PRE_PLANETARIUM_APPLY_ITEMS (float Chance) - float

MC_PRE_PLANETARIUM_APPLY_PLANETARIUM_PENALTY⚓︎

在确保当前楼层有效后,游戏会检查之前是否进入过天象馆。如果是,则几率将锁定为 1%(使用望远镜镜片时为 10%)。

如果你想添加像望远镜镜片这样修改 基础 几率的道具,请查看 MC_PRE_PLANETARIUM_APPLY_TELESCOPE_LENS。

接受一个 boolean 类型的值。返回 false 可绕过天象馆进入惩罚。

ID Name Function Args Optional Args Return Type
1111 MC_PRE_PLANETARIUM_APPLY_PLANETARIUM_PENALTY void - boolean

MC_PRE_PLANETARIUM_APPLY_STAGE_PENALTY⚓︎

此回调在天象馆计算开始时运行。在进行计算之前,游戏首先会检查当前楼层是否可以生成天象馆。如果当前楼层无效,则所有后续计算(以及因此所有后续回调)将被取消。

默认情况下,天象馆不能在深牢二层之后生成(使用望远镜镜片时为子宫二层)。

此回调可用于,例如,在自定义楼层上添加自定义的天象馆生成规则,或者添加像望远镜镜片这样可以增强规则的新道具。

接受一个 boolean 类型的值。返回 false 可绕过天象馆楼层惩罚。

ID Name Function Args Optional Args Return Type
1110 MC_PRE_PLANETARIUM_APPLY_STAGE_PENALTY void - boolean

MC_PRE_PLANETARIUM_APPLY_TELESCOPE_LENS⚓︎

最后,在检查完上述所有条件后,望远镜镜片会在基础概率上额外增加 9% 的概率,使基础生成概率达到 10%。

接受一个 float 类型的值,用于修改此计算步骤中的概率。

ID Name Function Args Optional Args Return Type
1114 MC_PRE_PLANETARIUM_APPLY_TELESCOPE_LENS (float Chance) - float

MC_PRE_PLANETARIUM_APPLY_TREASURE_PENALTY⚓︎

在确保之前没有进入过天象馆后,游戏会检查已经进入过多少个宝藏房。如果进入的宝藏房数量大于或等于当前关卡编号,概率将被锁定为 1%(使用望远镜镜片时为 10%)。

如果你想添加一个像望远镜镜片这样修改 基础 概率的物品,请查看 MC_PRE_PLANETARIUM_APPLY_TELESCOPE_LENS

接受一个 boolean 类型的值。返回 false 可以完全绕过天象馆宝藏房惩罚,即游戏会认为没有进入过任何宝藏房。

或者接受一个 int 类型的值,用于修改游戏认为已经进入过的宝藏房数量。

ID Name Function Args Optional Args Return Type
1112 MC_PRE_PLANETARIUM_APPLY_TREASURE_PENALTY (int TreasureRoomsVisited) - boolean or int

MC_POST_PLANETARIUM_CALCULATE⚓︎

这将覆盖 所有 之前的计算值,最终决定天象馆的生成概率。

接受一个 float 类型的值,用于修改概率。

ID Name Function Args Optional Args Return Type
1115 MC_POST_PLANETARIUM_CALCULATE (float Chance) - float

MC_PRE_PLAYERHUD_RENDER_ACTIVE_ITEM⚓︎

接受 true 以取消渲染。

ID Name Function Args Optional Args Return Type
1119 MC_PRE_PLAYERHUD_RENDER_ACTIVE_ITEM (EntityPlayer Player,
ActiveSlot Slot,
Vector Offset,
float Alpha,
float Scale,
Vector ChargeBarOffset)
- boolean

MC_POST_PLAYERHUD_RENDER_ACTIVE_ITEM⚓︎

ID Name Function Args Optional Args Return Type
1079 MC_POST_PLAYERHUD_RENDER_ACTIVE_ITEM (EntityPlayer Player,
ActiveSlot Slot,
Vector Offset,
float Alpha,
float Scale,
Vector ChargeBarOffset)
- void

MC_PRE_PLAYERHUD_RENDER_HEARTS⚓︎

返回 true 以取消红心 HUD 的渲染。

ID Name Function Args Optional Args Return Type
1118 MC_PRE_PLAYERHUD_RENDER_HEARTS (Vector Offset,
Sprite HeartsSprite,
Vector Position,
float SpriteScale,
EntityPlayer Player)
- boolean

MC_POST_PLAYERHUD_RENDER_HEARTS⚓︎

ID Name Function Args Optional Args Return Type
1091 MC_POST_PLAYERHUD_RENDER_HEARTS (Vector Offset,
Sprite HeartsSprite,
Vector Position,
float SpriteScale,
EntityPlayer Player)
- void

MC_PRE_PLAYERHUD_TRINKET_RENDER⚓︎

接受返回一个表,该表可以包含以下任意组合的字段:

  • Position - 改变饰品的位置。
  • Scale - 改变饰品的缩放比例。
  • CropOffset - 改变精灵图在其精灵表上的裁剪位置。通过这种方式可以为同一个饰品渲染不同的精灵图,例如猴爪。

或者接受 true,这将取消饰品的渲染。

ID Name Function Args Optional Args Return Type
1264 MC_PRE_PLAYERHUD_TRINKET_RENDER (int Slot,
Vector Position,
float Scale,
EntityPlayer Player,
Vector CropOffset)
int Slot table or boolean

MC_PRE_PLAYER_APPLY_INNATE_COLLECTIBLE_NUM⚓︎

ID Name Function Args Optional Args Return Type
1092 MC_PRE_PLAYER_APPLY_INNATE_COLLECTIBLE_NUM (int ModCount,
EntityPlayer Player,
CollectibleType Type,
boolean OnlyCountTrueItems)
- int

MC_POST_PLAYER_COLLISION⚓︎

假设该实体的碰撞代码没有被跳过,则在其碰撞代码运行后执行。

ID Name Function Args Optional Args Return Type
1231 MC_POST_PLAYER_COLLISION (EntityPlayer Player,
Entity Collider,
boolean Low)
PlayerVariant void

MC_PLAYER_GET_ACTIVE_MAX_CHARGE⚓︎

接受一个整数,用于更改主动物品的能量条。

ID Name Function Args Optional Args Return Type
1072 MC_PLAYER_GET_ACTIVE_MAX_CHARGE (CollectibleType Collectible,
EntityPlayer Player,
int VarData,
int CurrentMaxCharge)
CollectibleType int

MC_PLAYER_GET_ACTIVE_MIN_USABLE_CHARGE⚓︎

接受一个整数,用于更改使用主动物品所需的最小能量。如果物品当前拥有最小能量,它还会显示白色轮廓。

ID Name Function Args Optional Args Return Type
1073 MC_PLAYER_GET_ACTIVE_MIN_USABLE_CHARGE (ActiveSlot Slot, EntityPlayer Player, int CurrentMinUsableCharge) CollectibleType int

MC_PLAYER_GET_HEALTH_TYPE⚓︎

接受一个 HealthType 类型的值,用于更改角色的生命值类型。

ID Name Function Args Optional Args Return Type
1067 MC_PLAYER_GET_HEALTH_TYPE (EntityPlayer Player) PlayerType HealthType

MC_PLAYER_GET_HEART_LIMIT⚓︎

接受一个覆盖值 integer,用于设置红心上限。

-

你可以将上限设置为任意值,但游戏在 HUD 中最多只能渲染 4 行红心。不过,即使它们不可见,红心仍然能正常工作。

ID Name Function Args Optional Args Return Type
1074 MC_PLAYER_GET_HEART_LIMIT (EntityPlayer Player,
int HeartLimit,
boolean IsKeeper)
PlayerType int

MC_POST_PLAYER_GET_MULTI_SHOT_PARAMS⚓︎

返回一个 MultiShotParams 对象,用于更改玩家射击行为中与 MultiShotParams 对象属性相关的属性。

ID Name Function Args Optional Args Return Type
1251 MC_POST_PLAYER_GET_MULTI_SHOT_PARAMS (EntityPlayer Player) PlayerType MultiShotParams

MC_PLAYER_INIT_POST_LEVEL_INIT_STATS⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1042 MC_PLAYER_INIT_POST_LEVEL_INIT_STATS (EntityPlayer Player) PlayerType void

MC_PLAYER_INIT_PRE_LEVEL_INIT_STATS⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1127 MC_PLAYER_INIT_PRE_LEVEL_INIT_STATS (EntityPlayer Player) PlayerType void

MC_POST_FORCE_ADD_PILL_EFFECT⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1129 MC_POST_FORCE_ADD_PILL_EFFECT PillEffect, PillColor - void

MC_POST_PLAYER_NEW_LEVEL⚓︎

ID Name Function Args Optional Args Return Type
1078 MC_POST_PLAYER_NEW_LEVEL (EntityPlayer Player) PlayerType void

MC_POST_PLAYER_NEW_ROOM_TEMP_EFFECTS⚓︎

ID Name Function Args Optional Args Return Type
1077 MC_POST_PLAYER_NEW_ROOM_TEMP_EFFECTS (EntityPlayer Player) PlayerType void

MC_PRE_PLAYER_RENDER⚓︎

接受一个 Vector 类型的值,用于修改渲染偏移量。

或者接受 false 以取消渲染。

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在 MC_POST_UPDATE 中对实体调用 SetShadowSize(0)

ID Name Function Args Optional Args Return Type
1082 MC_PRE_PLAYER_RENDER (EntityPlayer Player,
Vector Offset)
PlayerVariant Vector or boolean

MC_PRE_PLAYER_TAKE_DMG⚓︎

MC_ENTITY_TAKE_DMG 更早运行,即使玩家被认为是无敌的或拥有神圣披风也会触发。

仅接受返回 false 以取消伤害。这适用于让玩家获得比其他伤害抵消效果(如神圣披风)更优先的无敌效果。

ID Name Function Args Optional Args Return Type
1008 MC_PRE_PLAYER_TAKE_DMG (EntityPlayer Player,
float Damage,
DamageFlags DamageFlags,
EntityRef Source,
int DamageCountdown)
PlayerVariant boolean

MC_PRE_PLAYER_ADD_HEARTS⚓︎

Add(...)Hearts 函数之前运行,允许返回一个值来更改给予的生命值数量。包含参数的函数(例如 AddMaxHearts 中的 ignoreKeeper)会使用 OptionalArg 提供该值。

ID Name Function Args Optional Args Return Type
1009 MC_PRE_PLAYER_ADD_HEARTS (EntityPlayer Player,
int Amount,
AddHealthType AddHealthType,
boolean OptionalArg)
AddHealthType int

MC_POST_PLAYER_ADD_HEARTS⚓︎

Add(...)Hearts 函数和 MC_PRE_PLAYER_ADD_HEARTS 回调之后运行。包含参数的函数(例如 AddMaxHearts 中的 ignoreKeeper)会使用 OptionalArg 提供该值。

ID Name Function Args Optional Args Return Type
1010 MC_POST_PLAYER_ADD_HEARTS (EntityPlayer Player,
int Amount,
AddHealthType AddHealthType,
boolean OptionalArg)
AddHealthType void

MC_PRE_PLAYER_TRIGGER_ROOM_CLEAR⚓︎

接受 false 以取消触发效果。

ID Name Function Args Optional Args Return Type
1069 MC_PRE_PLAYER_TRIGGER_ROOM_CLEAR (EntityPlayer Player) PlayerVariant boolean

MC_PRE_PLAYER_USE_BOMB⚓︎

返回 false 以阻止玩家使用炸弹。

ID Name Function Args Optional Args Return Type
1020 MC_PRE_PLAYER_USE_BOMB (EntityPlayer Player) PlayerVariant boolean

MC_POST_PLAYER_USE_BOMB⚓︎

ID Name Function Args Optional Args Return Type
1021 MC_POST_PLAYER_USE_BOMB (EntityPlayer Player,
EntityBomb Bomb)
PlayerVariant void

MC_POST_PROJECTILE_COLLISION⚓︎

假设该实体的碰撞代码没有被跳过,则在其碰撞代码运行后执行。

ID Name Function Args Optional Args Return Type
1245 MC_POST_PROJECTILE_COLLISION (EntityProjectile Projectile,
Entity Collider,
boolean Low)
ProjectileVariant void

MC_PRE_PROJECTILE_RENDER⚓︎

接受一个 Vector 类型的值,用于修改渲染偏移量。

或者接受 false 以取消渲染。

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在 MC_POST_UPDATE 中对实体调用 SetShadowSize(0)

ID Name Function Args Optional Args Return Type
1085 MC_PRE_PROJECTILE_RENDER (EntityProjectile Projectile,
Vector Offset)
ProjectileVariant Vector or boolean

MC_PRE_RENDER_CUSTOM_CHARACTER_MENU⚓︎

不接受返回参数。

执行信息

此回调仅在选择自定义角色时触发,在常规角色上不会触发。

ID Name Function Args Optional Args Return Type
1333 MC_PRE_RENDER_CUSTOM_CHARACTER_MENU (PlayerType PlayerType,
Vector RenderPos,
Sprite DefaultSprite)
PlayerType void

MC_PRE_RENDER_ENTITY_LIGHTING⚓︎

接受一个覆盖值 Vector,用于设置偏移量。

或者接受 false 以停止渲染。

|:--|:--|:--|:--|:--| |1152 |MC_PRE_RENDER_ENTITY_LIGHTING {: .copyable } | (Entity Entity,
Vector Offset) | EntityType | Vector or boolean |

MC_PRE_RENDER_GRID_LIGHTING⚓︎

接受一个覆盖值 Vector,用于设置偏移量。

或者接受 false 以停止渲染。

ID Name Function Args Optional Args Return Type
1151 MC_PRE_RENDER_GRID_LIGHTING (GridEntity GridEntity,
Vector Offset)
GridEntityType Vector or boolean

MC_PRE_RENDER_PLAYER_BODY⚓︎

接受一个覆盖值 vector,用于设置渲染位置。

或者接受 false 以停止渲染。

ID Name Function Args Optional Args Return Type
1039 MC_PRE_RENDER_PLAYER_BODY (EntityPlayer player,
Vector RenderPos)
PlayerType Vector or boolean

MC_PRE_RENDER_PLAYER_HEAD⚓︎

接受一个覆盖值 Vector,用于设置渲染位置。

或者接受 false 以停止渲染。

ID Name Function Args Optional Args Return Type
1038 MC_PRE_RENDER_PLAYER_HEAD (EntityPlayer player,
Vector RenderPos)
PlayerType Vector or boolean

MC_PRE_RENDER⚓︎

Manager::Render() 函数调用之前调用。

ID Name Function Args Optional Args Return Type
1135 MC_PRE_RENDER void - void

MC_PRE_REPLACE_SPRITESHEET⚓︎

接受一个参数表:{int LayerID, string PNGFilename}

ID Name Function Args Optional Args Return Type
1116 MC_PRE_REPLACE_SPRITESHEET (int LayerID,
string PNGFilename)
string ANM2Filename table

MC_POST_REPLACE_SPRITESHEET⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1117 MC_POST_REPLACE_SPRITESHEET (int LayerID,
string PNGFilename)
string ANM2Filename void

MC_PRE_RESTOCK_SHOP⚓︎

接受 false 以取消补货,阻止商店通过补货机重新补货或完全阻止 Restock 补货。

部分补货

此回调在 Room::ShopRestockFullRoom::ShopRestockPartial 时都会被调用!Partial 用于区分这两种情况。

ID Name Function Args Optional Args Return Type
1070 MC_PRE_RESTOCK_SHOP (boolean Partial) - void

MC_POST_RESTOCK_SHOP⚓︎

不接受返回参数。

部分补货

此回调在 Room::ShopRestockFullRoom::ShopRestockPartial 时都会被调用!Partial 用于区分这两种情况。

ID Name Function Args Optional Args Return Type
1071 MC_POST_RESTOCK_SHOP (boolean Partial) - void

MC_PRE_ROOM_EXIT⚓︎

不接受返回参数。

新关卡

当进入新关卡或结束一次游戏时,NewLevel 返回 true

ID Name Function Args Optional Args Return Type
1043 MC_PRE_ROOM_EXIT (EntityPlayer Player,
boolean NewLevel)
- void

MC_PRE_ROOM_GRID_ENTITY_SPAWN⚓︎

在房间初始化期间,当布局中的 GridEntities 正在生成时调用。

接受 false 以取消生成网格,或接受一个表 {Type, Variant, Vardata, SpawnSeed} 以修改它。

警告

此回调 不会 为游戏随机生成的装饰触发!对于这些情况,请使用 MC_PRE_GRID_ENTITY_SPAWN

ID Name Function Args Optional Args Return Type
1192 MC_PRE_ROOM_GRID_ENTITY_SPAWN (GridEntityType Type,
int Variant,
int VarData,
int GridIdx,
int SpawnSeed)
GridEntityType Type boolean or table

MC_PRE_ROOM_TRIGGER_CLEAR⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1068 MC_PRE_ROOM_TRIGGER_CLEAR (boolean PlaySound) - void

MC_POST_SAVESLOT_LOAD⚓︎

每当游戏加载存档槽时调用。

这是你应该用来处理存档数据加载的回调,理想情况下,从正常的 Mod::LoadData 到忏悔者标记/成就检查,因为它是在加载这些内容时触发的回调。

第一个参数是你应该关注的存档槽,第二个参数(isslotselected)表示正在加载的存档槽是否实际上是从存档菜单屏幕中选择的(如果你想更精细地处理,可以将存档处理限制在此为 true 时),第三个参数(rawslot)是游戏实际使用的存档槽(不是 API 使用的那个,因为它可能是 0!)。

警告

在开始一次游戏之前,此回调会被多次调用,可能是因为自然地切换存档槽,也可能是因为游戏没有正确处理,所以代码需要考虑到这一点,必要时清除之前的数据。 第三个参数实际上仅用于检查 0 存档槽状态,这是游戏在玩家实际加载存档槽之前默认的状态。在此状态下,模组数据和游戏数据 不会同步(模组数据是存档槽 1,而原版游戏数据是存档槽 3)。

ID Name Function Args Optional Args Return Type
1470 MC_POST_SAVESLOT_LOAD (int saveslot,
boolean isslotselected,
int rawslot)
void -

MC_PRE_SFX_PLAY⚓︎

接受一个参数表:{ID, Volume, FrameDelay, Loop, Pitch, Pan}

或者接受 false 以取消声音播放。

示例代码

此代码将强制循环每个声音(无论好坏)。

1
2
3
4
function mod:myFunction(ID, Volume, FrameDelay, Loop, Pitch, Pan)
    return {ID, Volume, FrameDelay, true, Pitch, Pan}
end
mod:AddCallback(ModCallbacks.MC_PRE_SFX_PLAY, mod.myFunction)

ID Name Function Args Optional Args Return Type
1030 MC_PRE_SFX_PLAY (int ID,
float Volume,
int FrameDelay,
boolean Loop,
float Pitch,
float Pan)
SoundEffect table or boolean

MC_POST_SFX_PLAY⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1031 MC_POST_SFX_PLAY (int ID,
float Volume,
int FrameDelay,
boolean Loop,
float Pitch,
float Pan)
SoundEffect void

MC_PRE_SLOT_COLLISION⚓︎

就像原版API中的碰撞回调一样,如果实体先与碰撞器发生碰撞,则低值为true;反之则为false。

返回 true 以忽略碰撞,返回 false 以发生碰撞但不执行内部代码。

也接受返回一个表,该表可以包含以下任意字段组合:

  • Collide: 设置为true可强制实体发生物理碰撞(相互推开),除非“碰撞器”忽略碰撞。设置为false可忽略物理碰撞,但不一定跳过碰撞效果。
  • SkipCollisionEffects: 设置为true可跳过此实体的碰撞代码。不影响物理碰撞。不会跳过“碰撞器”的碰撞代码。
ID Name Function Args Optional Args Return Type
1240 MC_PRE_SLOT_COLLISION (EntitySlot,
Entity Collider,
boolean Low)
SlotVariant boolean

MC_POST_SLOT_COLLISION⚓︎

假设此实体的碰撞代码未被跳过,则在其执行后运行。

ID Name Function Args Optional Args Return Type
1241 MC_POST_SLOT_COLLISION (EntitySlot,
Entity Collider,
boolean Low)
SlotVariant void

MC_PRE_SLOT_CREATE_EXPLOSION_DROPS⚓︎

返回 false 可阻止爆炸掉落标准消耗品。例如,这对于允许自定义插槽在爆炸时掉落自己的战利品很有用。

ID Name Function Args Optional Args Return Type
1123 MC_PRE_SLOT_CREATE_EXPLOSION_DROPS (EntitySlot) SlotVariant boolean

MC_POST_SLOT_CREATE_EXPLOSION_DROPS⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1124 MC_POST_SLOT_CREATE_EXPLOSION_DROPS (EntitySlot) SlotVariant void

MC_POST_SLOT_INIT⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1121 MC_POST_SLOT_INIT (EntitySlot) SlotVariant void

MC_PRE_SLOT_RENDER⚓︎

接受一个 Vector 来修改渲染偏移。

或者接受 false 以取消渲染。

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在MC_POST_UPDATE中对实体调用SetShadowSize(0)。

ID Name Function Args Optional Args Return Type
1089 MC_PRE_SLOT_RENDER (EntitySlot Slot,
Vector Offset)
SlotVariant Vector or boolean

MC_POST_SLOT_RENDER⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1090 MC_POST_SLOT_RENDER (EntitySlot Slot,
Vector Offset)
SlotVariant void

MC_PRE_SLOT_SET_PRIZE_COLLECTIBLE⚓︎

由贝壳游戏、地狱游戏和起重机游戏使用。

接受一个 CollectibleType 来覆盖游戏将支付的物品。

ID Name Function Args Optional Args Return Type
1125 MC_PRE_SLOT_SET_PRIZE_COLLECTIBLE (EntitySlot,
CollectibleType Type)
SlotVariant CollectibleType

MC_POST_SLOT_SET_PRIZE_COLLECTIBLE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1126 MC_POST_SLOT_SET_PRIZE_COLLECTIBLE (EntitySlot,
CollectibleType Type)
SlotVariant void

MC_PRE_SLOT_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1169 MC_PRE_SLOT_UPDATE (EntitySlot Slot) SlotVariant boolean

MC_POST_SLOT_UPDATE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1122 MC_POST_SLOT_UPDATE (EntitySlot) SlotVariant void

MC_POST_TEAR_COLLISION⚓︎

假设此实体的碰撞代码未被跳过,则在其执行后运行。

ID Name Function Args Optional Args Return Type
1233 MC_POST_TEAR_COLLISION (EntityTear Tear,
Entity Collider,
boolean Low)
TearVariant void

MC_PRE_TEAR_RENDER⚓︎

接受一个 Vector 来修改渲染偏移。

或者接受 false 以取消渲染。

阴影

取消此回调不会停止实体阴影的渲染。目前正在对此进行调查,在此期间,请在MC_POST_UPDATE中对实体调用SetShadowSize(0)。

ID Name Function Args Optional Args Return Type
1084 MC_PRE_TEAR_RENDER (EntityTear Tear,
Vector Offset)
TearVariant Vector or boolean

MC_POST_TRIGGER_COLLECTIBLE_REMOVED⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1095 MC_POST_TRIGGER_COLLECTIBLE_REMOVED (EntityPlayer Player,
CollectibleType Type)
CollectibleType void

MC_PRE_TRIGGER_PLAYER_DEATH⚓︎

在游戏结束屏幕出现之前触发,但在游戏检查像1UP这样的原版复活效果之前。

返回 false 或调用 player:Revive() 可取消死亡,使玩家在原地以半颗心复活。这也将阻止后续回调运行。

警告

返回false或调用 player:Revive() 可能会使当前游戏无法保存。这是因为如果没有待处理的复活,游戏会在死亡动画期间立即删除保存文件,而此回调触发的速度不够快,无法在死亡时注册复活,因为它是在游戏结束屏幕出现之前触发的。

为了防止这种情况,只有在玩家拥有带有REPENTOGON的“revive”自定义标签的物品或效果时,才尝试让玩家复活,该标签允许物品/效果在HUD上计为额外生命,并防止游戏在玩家死亡时删除游戏保存。有关更多信息和一些示例XML/代码,请参阅 items.xml 页面。

ID Name Function Args Optional Args Return Type
1050 MC_PRE_TRIGGER_PLAYER_DEATH (EntityPlayer Player) - boolean

MC_TRIGGER_PLAYER_DEATH_POST_CHECK_REVIVES⚓︎

在游戏结束屏幕出现之前触发,但在游戏检查像1UP这样的原版复活效果之后。

返回 false 或调用 player:Revive() 可取消死亡,使玩家在原地以半颗心复活。这也将阻止后续回调运行。

警告

返回false或调用 player:Revive() 可能会使当前游戏无法保存。这是因为如果没有待处理的复活,游戏会在死亡动画期间立即删除保存文件,而此回调触发的速度不够快,无法在死亡时注册复活,因为它是在游戏结束屏幕出现之前触发的。

为了防止这种情况,只有在玩家拥有带有REPENTOGON的“revive”自定义标签的物品或效果时,才尝试让玩家复活,该标签允许物品/效果在HUD上计为额外生命,并防止游戏在玩家死亡时删除游戏保存。有关更多信息和一些示例XML/代码,请参阅 items.xml 页面。

ID Name Function Args Optional Args Return Type
1051 MC_TRIGGER_PLAYER_DEATH_POST_CHECK_REVIVES (EntityPlayer Player) - boolean

MC_PRE_PLAYER_REVIVE⚓︎

在玩家复活之前调用。

返回 false 以取消复活。

ID Name Function Args Optional Args Return Type
1481 MC_PRE_PLAYER_REVIVE (EntityPlayer Player) PlayerType boolean

MC_POST_PLAYER_REVIVE⚓︎

假设复活未被取消,则在玩家复活后调用。

ID Name Function Args Optional Args Return Type
1482 MC_POST_PLAYER_REVIVE (EntityPlayer Player) PlayerType void

MC_POST_TRIGGER_TRINKET_ADDED⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1096 MC_POST_TRIGGER_TRINKET_ADDED (EntityPlayer Player,
TrinketType Type,
boolean FirstTimePickingUp)
TrinketType void

MC_POST_TRIGGER_TRINKET_REMOVED⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1097 MC_POST_TRIGGER_TRINKET_REMOVED (EntityPlayer Player,
TrinketType Type)
TrinketType void

MC_POST_TRIGGER_WEAPON_FIRED⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1098 MC_POST_TRIGGER_WEAPON_FIRED (Vector FireDirection,
int FireAmount,
Entity Owner,
Weapon Weapon)
WeaponType void

MC_PRE_USE_CARD⚓︎

接受 true 以取消卡片使用。

ID Name Function Args Optional Args Return Type
1064 MC_PRE_USE_CARD (Card ID,
EntityPlayer Player,
int UseFlag)
- boolean

MC_PRE_USE_PILL⚓︎

接受 true 以取消药丸使用。

ID Name Function Args Optional Args Return Type
1065 MC_PRE_USE_PILL (PillEffect ID,
PillColor PillColor,
EntityPlayer Player,
int UseFlag)
- boolean

MC_POST_WEAPON_FIRE⚓︎

不接受返回参数。

ID Name Function Args Optional Args Return Type
1105 MC_POST_WEAPON_FIRE (Weapon Weapon,
Vector FireDirection,
boolean IsShooting,
boolean IsInterpolated)
WeaponType void

MC_PRE_PICKUP_GET_LOOT_LIST⚓︎

在拾取物确定其战利品内容之前调用。接受一个 LootList 来更改战利品内容。

ID Name Function Args Optional Args Return Type
1333 MC_PRE_PICKUP_GET_LOOT_LIST (EntityPickup Pickup,
boolean ShouldAdvance)
- LootList

MC_PRE_PICKUP_UPDATE_GHOST_PICKUPS⚓︎

在将战利品内容的幽灵拾取物应用到拾取物之前调用。返回 true 以将拾取物幽灵应用到你的拾取物实体,返回 false 以取消它。

ID Name Function Args Optional Args Return Type
1334 MC_PRE_PICKUP_UPDATE_GHOST_PICKUPS (EntityPickup Pickup) PickupVariant boolean

MC_POST_PLAYER_TRIGGER_EFFECT_REMOVED⚓︎

在玩家的 ItemConfigItem 临时效果被移除后调用。

ID Name Function Args Optional Args Return Type
1268 MC_POST_PLAYER_TRIGGER_EFFECT_REMOVED (EntityPlayer Player,
ItemConfigItem)
- void

MC_POST_ROOM_TRIGGER_EFFECT_REMOVED⚓︎

在房间的 TemporaryEffects 被移除后调用。

Room 有自己的 TemporaryEffects,可通过 Room::GetEffects() 访问。

ID Name Function Args Optional Args Return Type
1269 MC_POST_ROOM_TRIGGER_EFFECT_REMOVED (ItemConfigItem) - void

MC_PRE_PLAYER_GRID_COLLISION⚓︎

在该实体与 GridEntity 或其他实心网格方块碰撞之前调用。

返回 true 以忽略碰撞。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1171 MC_PRE_PLAYER_GRID_COLLISION (EntityPlayer Player, int GridIndex, GridEntity GridEntity) PlayerVariant boolean

MC_PLAYER_GRID_COLLISION⚓︎

假设碰撞未被跳过,则在该实体与网格碰撞时调用。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1172 MC_PLAYER_GRID_COLLISION (EntityPlayer Player, int GridIndex, GridEntity GridEntity) PlayerVariant boolean

MC_PRE_TEAR_GRID_COLLISION⚓︎

在该实体与 GridEntity 或其他实心网格方块碰撞之前调用。

返回 true 以忽略碰撞。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1173 MC_PRE_TEAR_GRID_COLLISION (EntityTear Tear, int GridIndex, GridEntity GridEntity) TearVariant boolean

MC_TEAR_GRID_COLLISION⚓︎

假设碰撞未被跳过,则在该实体与网格碰撞时调用。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1174 MC_TEAR_GRID_COLLISION (EntityTear Tear, int GridIndex, GridEntity GridEntity) TearVariant boolean

MC_PRE_FAMILIAR_GRID_COLLISION⚓︎

在该实体与 GridEntity 或其他实心网格方块碰撞之前调用。

返回 true 以忽略碰撞。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1175 MC_PRE_FAMILIAR_GRID_COLLISION (EntityFamiliar Familiar, int GridIndex, GridEntity GridEntity) FamiliarVariant boolean

MC_FAMILIAR_GRID_COLLISION⚓︎

假设碰撞未被跳过,则在该实体与网格碰撞时调用。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1176 MC_FAMILIAR_GRID_COLLISION (EntityFamiliar Familiar, int GridIndex, GridEntity GridEntity) FamiliarVariant boolean

MC_PRE_BOMB_GRID_COLLISION⚓︎

在该实体与 GridEntity 或其他实心网格方块碰撞之前调用。

返回 true 以忽略碰撞。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1177 MC_PRE_BOMB_GRID_COLLISION (EntityBomb Bomb, int GridIndex, GridEntity GridEntity) BombVariant boolean

MC_BOMB_GRID_COLLISION⚓︎

假设碰撞未被跳过,则在该实体与网格碰撞时调用。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1178 MC_BOMB_GRID_COLLISION (EntityBomb Bomb, int GridIndex, GridEntity GridEntity) BombVariant boolean

MC_PRE_PICKUP_GRID_COLLISION⚓︎

在该实体与 GridEntity 或其他实心网格方块碰撞之前调用。

返回 true 以忽略碰撞。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1179 MC_PRE_PICKUP_GRID_COLLISION (EntityPickup Pickup, int GridIndex, GridEntity GridEntity) PickupVariant boolean

MC_PICKUP_GRID_COLLISION⚓︎

假设碰撞未被跳过,则在该实体与网格碰撞时调用。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1180 MC_PICKUP_GRID_COLLISION (EntityPickup Pickup, int GridIndex, GridEntity GridEntity) PickupVariant boolean

MC_PRE_PROJECTILE_GRID_COLLISION⚓︎

在该实体与 GridEntity 或其他实心网格方块碰撞之前调用。

返回 true 以忽略碰撞。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1181 MC_PRE_PROJECTILE_GRID_COLLISION (EntityProjectile Projectile, int GridIndex, GridEntity GridEntity) ProjectileVariant boolean

MC_PROJECTILE_GRID_COLLISION⚓︎

假设碰撞未被跳过,则在该实体与网格碰撞时调用。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1182 MC_PROJECTILE_GRID_COLLISION (EntityProjectile Projectile, int GridIndex, GridEntity GridEntity) ProjectileVariant boolean

MC_PRE_NPC_GRID_COLLISION⚓︎

在该实体与 GridEntity 或其他实心网格方块碰撞之前调用。

返回 true 以忽略碰撞。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1183 MC_PRE_NPC_GRID_COLLISION (EntityNPC NPC, int GridIndex, GridEntity GridEntity) EntityType boolean

MC_NPC_GRID_COLLISION⚓︎

假设碰撞未被跳过,则在该实体与网格碰撞时调用。

警告

GridEntity 可能为nil,因为如果 GridPath 值 >= 1000,实体可能会与“空”网格索引发生碰撞。

ID Name Function Args Optional Args Return Type
1184 MC_NPC_GRID_COLLISION (EntityNPC NPC, int GridIndex, GridEntity GridEntity) EntityType boolean

MC_POST_PROJECTILE_DEATH⚓︎

ID Name Function Args Optional Args Return Type
1032 MC_POST_PROJECTILE_DEATH (EntityProjectile Projectile) ProjectileVariant void

MC_POST_TEAR_DEATH⚓︎

ID Name Function Args Optional Args Return Type
1033 MC_POST_TEAR_DEATH (EntityTear Tear) TearVariant void

MC_POST_BOSS_INTRO_SHOW⚓︎

不接受返回参数。

在BOSS介绍初始化后立即调用。BossID2 用于双人组合BOSS。

ID Name Function Args Optional Args Return Type
1270 MC_POST_BOSS_INTRO_SHOW (BossType BossID1, BossType BossID2) - void

MC_POST_ROOM_TRANSITION_UPDATE⚓︎

ID Name Function Args Optional Args Return Type
1271 MC_POST_ROOM_TRANSITION_UPDATE void int TransitionMode void

MC_POST_ROOM_TRANSITION_RENDER⚓︎

ID Name Function Args Optional Args Return Type
1272 MC_POST_ROOM_TRANSITION_RENDER void int TransitionMode void

MC_PRE_PLAYER_ADD_COSTUME⚓︎

在将服装添加到玩家之前调用。返回 ItemConfigItem 以替换服装,或返回 true 以完全取消添加。

ID Name Function Args Optional Args Return Type
1281 MC_PRE_PLAYER_ADD_COSTUME (ItemConfigItem ItemConfig, EntityPlayer Player, boolean ItemStateOnly) - ItemConfigItem ItemConfig or boolean

MC_PRE_PLAYER_REMOVE_COSTUME⚓︎

在从玩家移除服装之前调用。返回 true 以取消移除。

ID Name Function Args Optional Args Return Type
1282 MC_PRE_PLAYER_ADD_COSTUME (ItemConfigItem ItemConfig, EntityPlayer Player, boolean ItemStateOnly) - boolean

MC_POST_PLAYER_ADD_COSTUME⚓︎

假设添加未被跳过,则在将服装添加到玩家之后调用。

ID Name Function Args Optional Args Return Type
1283 MC_POST_PLAYER_ADD_COSTUME (ItemConfigItem ItemConfig, EntityPlayer Player, boolean ItemStateOnly) - void

MC_POST_PLAYER_REMOVE_COSTUME⚓︎

假设移除未被跳过,则在从玩家移除服装之后调用。

ID Name Function Args Optional Args Return Type
1284 MC_POST_PLAYER_ADD_COSTUME (ItemConfigItem ItemConfig, EntityPlayer Player, boolean ItemStateOnly) - void

MC_PRE_PLAYER_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1160 MC_PRE_PLAYER_UPDATE (EntityPlayer Player) PlayerVariant boolean

MC_PRE_TEAR_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1161 MC_PRE_TEAR_UPDATE (EntityTear Tear) TearVariant boolean

MC_PRE_FAMILIAR_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1162 MC_PRE_FAMILIAR_UPDATE (EntityFamiliar Familiar) FamiliarVariant boolean

MC_PRE_BOMB_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1163 MC_PRE_BOMB_UPDATE (EntityBomb Bomb) BombVariant boolean

MC_PRE_PICKUP_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1164 MC_PRE_PICKUP_UPDATE (EntityPickup Pickup) PickupVariant boolean

MC_PRE_KNIFE_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1165 MC_PRE_KNIFE_UPDATE (EntityKnife Knife) KnifeSubType boolean

MC_PRE_PROJECTILE_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1166 MC_PRE_PROJECTILE_UPDATE (EntityProjectile Projectile) ProjectileVariant boolean

MC_PRE_LASER_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1167 MC_PRE_LASER_UPDATE (EntityLaser Laser) LaserVariant boolean

MC_PRE_EFFECT_UPDATE⚓︎

在更新此实体之前调用。

如果应忽略内部AI,则返回 true;否则返回 falsenil/不返回任何内容。

ID Name Function Args Optional Args Return Type
1168 MC_PRE_EFFECT_UPDATE (EntityEffect Effect) EffectVariant boolean

MC_PRE_FORTUNE_DISPLAY⚓︎

在显示运势之前调用。

返回 false 以取消显示运势。

ID Name Function Args Optional Args Return Type
1483 MC_PRE_FORTUNE_DISPLAY void - boolean

MC_PRE_ITEM_TEXT_DISPLAY⚓︎

在显示物品文本之前调用。

IsStickytrue 表示物品文本会在屏幕上无限期停留,即按住地图键时。IsCurseDisplaytrue 表示文本用于显示诅咒。

返回 false 以取消显示物品文本。

ID Name Function Args Optional Args Return Type
1484 MC_PRE_ITEM_TEXT_DISPLAY (string Title, string Subtitle, boolean IsSticky, boolean IsCurseDisplay) - boolean

MC_PRE_GET_RANDOM_ROOM_INDEX⚓︎

当游戏希望在楼层上获取一个随机可用房间索引时调用。

返回一个整数以覆盖目标房间索引。

ID Name Function Args Optional Args Return Type
1290 MC_PRE_GET_RANDOM_ROOM_INDEX (int RoomIndex, bool IAmErrorRoom, int Seed) - int

MC_PRE_GLOWING_HOURGLASS_SAVE⚓︎

在保存发光沙漏状态后调用。

ID Name Function Args Optional Args Return Type
1302 MC_PRE_GLOWING_HOURGLASS_SAVE (int Slot) - void

MC_POST_GLOWING_HOURGLASS_SAVE⚓︎

在保存发光沙漏状态后调用。

ID Name Function Args Optional Args Return Type
1300 MC_POST_GLOWING_HOURGLASS_SAVE (int Slot) - void

MC_PRE_GLOWING_HOURGLASS_LOAD⚓︎

在加载发光沙漏状态后调用。

ID Name Function Args Optional Args Return Type
1303 MC_PRE_GLOWING_HOURGLASS_LOAD (int Slot) - void

MC_POST_GLOWING_HOURGLASS_LOAD⚓︎

在加载发光沙漏状态后调用。

ID Name Function Args Optional Args Return Type
1301 MC_POST_GLOWING_HOURGLASS_LOAD (int Slot) - void

MC_PRE_PLAYER_ADD_CARD⚓︎

在将卡片添加到玩家库存之前调用。

返回 Card 以更改要添加的卡片,或返回 false 以完全取消添加。

ID Name Function Args Optional Args Return Type
1350 MC_PRE_PLAYER_ADD_CARD (EntityPlayer Player, Card CardID, PillCardSlot Slot) Card boolean or int

MC_POST_PLAYER_ADD_CARD⚓︎

在将卡片添加到玩家库存之后调用。

ID Name Function Args Optional Args Return Type
1351 MC_POST_PLAYER_ADD_CARD (EntityPlayer Player, Card CardID, PillCardSlot Slot) Card void

MC_PRE_PLAYER_ADD_PILL⚓︎

在将药丸添加到玩家库存之前调用。

返回 PillColor 以更改要添加的药丸,或返回 false 以完全取消添加。

ID Name Function Args Optional Args Return Type
1352 MC_PRE_PLAYER_ADD_PILL (EntityPlayer Player, PillColor PillColor, PillCardSlot Slot) PillColor boolean or int

MC_POST_PLAYER_ADD_PILL⚓︎

在将药丸添加到玩家库存之后调用。

ID Name Function Args Optional Args Return Type
1353 MC_POST_PLAYER_ADD_PILL (EntityPlayer Player, PillColor PillColor, PillCardSlot Slot) PillColor void

MC_POST_PLAYER_REMOVE_CARD⚓︎

在通过任何方式(丢弃、直接移除、使用等)从玩家库存中移除卡片后调用。

ID Name Function Args Optional Args Return Type
1354 MC_POST_PLAYER_REMOVE_CARD (EntityPlayer Player, Card CardID, PillCardSlot Slot) Card void

MC_POST_PLAYER_REMOVE_PILL⚓︎

在通过任何方式(丢弃、直接移除、使用等)从玩家库存中移除药丸后调用。

ID Name Function Args Optional Args Return Type
1355 MC_POST_PLAYER_REMOVE_PILL (EntityPlayer Player, PillColor CardID, PillCardSlot Slot) PillColor void

MC_PRE_PLAYER_COLLECT_CARD⚓︎

在玩家从地上捡起卡片之前调用。

返回 false 以阻止捡起卡片。

ID Name Function Args Optional Args Return Type
1356 MC_PRE_PLAYER_COLLECT_CARD (EntityPlayer Player, EntityPickup Pickup) Card boolean

MC_POST_PLAYER_COLLECT_CARD⚓︎

在玩家从地上捡起卡片之后调用。

ID Name Function Args Optional Args Return Type
1357 MC_POST_PLAYER_COLLECT_CARD (EntityPlayer Player, EntityPickup Pickup) Card void

MC_PRE_PLAYER_COLLECT_PILL⚓︎

在玩家从地上捡起药丸之前调用。

返回 false 以阻止捡起药丸。

ID Name Function Args Optional Args Return Type
1358 MC_PRE_PLAYER_COLLECT_PILL (EntityPlayer Player, EntityPickup Pickup) PillColor boolean

MC_POST_PLAYER_COLLECT_PILL⚓︎

在玩家从地上捡起药丸之后调用。

ID Name Function Args Optional Args Return Type
1359 MC_POST_PLAYER_COLLECT_PILL (EntityPlayer Player, EntityPickup Pickup) PillColor void

MC_POST_PLAYER_DROP_CARD⚓︎

在玩家从库存中丢弃卡片到地上之后调用。

ID Name Function Args Optional Args Return Type
1360 MC_POST_PLAYER_DROP_CARD (EntityPlayer Player, EntityPickup Pickup, PillCardSlot Slot) Card void

MC_POST_PLAYER_DROP_PILL⚓︎

在玩家从库存中丢弃药丸到地上之后调用。

ID Name Function Args Optional Args Return Type
1361 MC_POST_PLAYER_DROP_PILL (EntityPlayer Player, EntityPickup Pickup, PillCardSlot Slot) PillColor void

MC_PRE_PLAYER_GIVE_BIRTH_CAMBION⚓︎

在玩家受到伤害后,该回调在Cambion Conception(该物品效果为受伤后概率生成一个跟班)生成跟班之前调用。

返回 false 以阻止添加跟班。

请注意,如果取消此操作,游戏在达到下一次所需的伤害量之前不会尝试生成另一个跟班,并且在此处取消生成仍会计入Cambion Conception通常的4次跟班生成限制。

ID Name Function Args Optional Args Return Type
1474 MC_PRE_PLAYER_GIVE_BIRTH_CAMBION (EntityPlayer Player, ConceptionFamiliarFlag) ConceptionFamiliarFlag boolean

MC_PRE_PLAYER_GIVE_BIRTH_IMMACULATE⚓︎

在玩家受到伤害后,该回调在Immaculate Conception(该物品效果为收集一定数量的心后生成一个跟班)生成跟班之前调用。

返回 false 以阻止添加跟班。

请注意,如果取消此操作,游戏在再收集15颗心之前不会尝试生成另一个跟班。与Cambion Conception不同,Immaculate Conception在所有可用的原版跟班都已获得之前不会停止尝试生成跟班。

ID Name Function Args Optional Args Return Type
1475 MC_PRE_PLAYER_GIVE_BIRTH_IMMACULATE (EntityPlayer Player, ConceptionFamiliarFlag) ConceptionFamiliarFlag boolean