-
Notifications
You must be signed in to change notification settings - Fork 7
StorageStructure
Ella-AWS edited this page May 17, 2026
·
8 revisions
Write In Progress...
神器・モブ・オブジェクトの各トリガー処理中に参照される一時コンテキスト。トリガーが終わると自動でリセットされる。
神器側で実用する場合の使い方詳細は 神器の作り方 - asset:contextに入っている情報 を参照。
compound Context {
/// 神器処理時: 装備中の神器ID マップ (SlotIdMap)
/// ObjectAsset / EffectAsset 処理時: 現在処理中の Asset の ID (int)
id: SlotIdMap | int,
/// 装備中アイテム情報 (神器処理時のみ)
Items?: SlotItems,
/// インベントリ全部 (読み取り専用、神器処理時のみ)
Inventory?: [Item],
// 以下、該当トリガー発火中のみ存在
Attack?: AttackEvent,
Damage?: DamageEvent,
Heal?: HealEvent,
ReceiveHeal?: ReceiveHealEvent,
Killed?: KilledEvent,
Shot?: ShotEvent,
// ObjectAsset / EffectAsset 処理時のみ
this?: compound, // Field の中身 (this ポインタ相当)
originID?: int, // 召喚時の元 ID (継承中も最初の ID を保持)
method?: string // メソッド呼び出し中のメソッド名
}
compound SlotIdMap {
auto?: int,
mainhand?: int,
offhand?: int,
head?: int,
chest?: int,
legs?: int,
feet?: int,
/// equip/dis_equip トリガー時のみ。変化前後両方のIDを保持
all?: SlotIdMap
}
compound SlotItems {
AutoSlot?: string, // "mainhand"|"offhand"|"head"|"chest"|"legs"|"feet"|null
mainhand?: Item,
offhand?: Item,
head?: Item,
chest?: Item,
legs?: Item,
feet?: Item
}
compound AttackEvent {
/// 攻撃対象の MobUUID 配列
To: [int],
/// 各対象に与えるダメージ
Amounts: [double],
/// Amounts の最大値 (foreach で自動計算)
Amount: double,
/// "vanilla_melee" | "vanilla_projectile" | "vanilla_explosion"
Type: string,
/// バニラ起因の攻撃か (api:damage/ 経由なら false)
IsVanilla: boolean,
/// 継続ダメージ判定 (詳細は別途リンク参照)
IsDoT: boolean
}
compound DamageEvent {
/// 攻撃元の MobUUID (Mob から受けたダメージの時のみ)
From?: int,
/// "vanilla_melee" | "vanilla_drowning" | "vanilla_projectile" | "vanilla_explosion"
/// | "vanilla_fire" | "vanilla_freezing" | "vanilla_lightning" | "vanilla_other"
Type: string,
/// 受けたダメージ量
Amount: double,
/// 盾でブロックしたか
Blocked: boolean,
/// バニラ起因か (api:damage/ 経由なら false)
IsVanilla: boolean,
IsDoT: boolean
}
compound HealEvent {
/// 回復対象の UserID 配列
To: [int],
/// 各対象への回復量
Amounts: [double],
/// Amounts の最大値 (foreach で自動計算)
Amount: double,
/// 継続回復判定
IsHoT: boolean
}
compound ReceiveHealEvent {
/// 回復元プレイヤーの UserID (プレイヤーからの回復のみ)
From?: int,
Amount: double,
IsHoT: boolean
}IsDoT / IsHoT の詳細は 神器の作り方 - IsDoT / IsHoT のルール を参照。
Write In Progress...
Write In Progress...
Write In Progress...
Write In Progress...
Write In Progress...
Write In Progress...
Write In Progress...
Write In Progress...
Write In Progress...
compound GimmickStorage {
/// テレポーターのシステム
TeleporterGroups: [GroupData]
}
compound GroupData {
/// 識別ID
ID: string,
/// 所属するテレポーターのリスト
Teleporters: [TeleporterData]
}
compound TeleporterData {
/// 座標
Pos: [double] @ 3,
/// メタデータ
Data: TeleporterMetaData
}
compound TeleporterMetaData {
/// そのテレポーターが起動しているか 未指定の場合、起動しているものとして扱われる
Activate?: boolean,
/// テレポーターを星として見た時の色 default: "White"
Color?: StarColor
}
enum(string) StarColor {
White = "White",
Yellow = "Yellow"
}root
├ Name : String
├ LostItems : Item[]
├ Modifiers : Compound
│ ├ Heal : double
│ ├ MPRegen : double
│ ├ Attack : Compound
│ │ ├ Base : double
│ │ ├ Physical : double
│ │ ├ Magic : double
│ │ ├ None : double
│ │ ├ Fire : double
│ │ ├ Water : double
│ │ └ Thunder : double
│ │
│ ├ Defense : Compound
│ │ ├ Base : double
│ │ ├ Physical : double
│ │ ├ Magic : double
│ │ ├ None : double
│ │ ├ Fire : double
│ │ ├ Water : double
│ │ └ Thunder : double
│ │
│ └ Modifier : Compound
│ ├ Heal : Modifier[]
│ ├ MPRegen : Modifier[]
│ ├ Attack : Compound
│ │ ├ Base : Modifier[]
│ │ ├ Physical : Modifier[]
│ │ ├ Magic : Modifier[]
│ │ ├ None : Modifier[]
│ │ ├ Fire : Modifier[]
│ │ ├ Water : Modifier[]
│ │ └ Thunder : Modifier[]
│ │
│ └ Defense : Compound
│ ├ Base : Modifier[]
│ ├ Physical : Modifier[]
│ ├ Magic : Modifier[]
│ ├ None : Modifier[]
│ ├ Fire : Modifier[]
│ ├ Water : Modifier[]
│ └ Thunder : Modifier[]
│
├ ContextStash : Compound
│ ├ id : Compound
│ │ ├ auto : int
│ │ ├ mainhand : int
│ │ ├ offhand : int
│ │ ├ head : int
│ │ ├ chest : int
│ │ ├ legs : int
│ │ └ feet : int
│ │
│ ├ Items : Compound
│ │ ├ AutoSlot : string('auto' | 'mainhand' | 'offhand' | 'head' | 'chest' | 'legs' | 'feet')
│ │ ├ mainhand : Item
│ │ ├ offhand : Item
│ │ ├ head : Item
│ │ ├ chest : Item
│ │ ├ legs : Item
│ │ └ feet : Item
│ │
│ └ Inventory : Readonly Item[]
│
└ DataCache
├ abilities : CacheData<?>
├ AbsorptionAmount : CacheData<?>
├ ActiveEffects : CacheData<?>
├ Air : CacheData<?>
├ Attributes : CacheData<?>
├ Brain : CacheData<?>
├ CustomName : CacheData<?>
├ CustomNameVisible : CacheData<?>
├ DataVersion : CacheData<?>
├ DeathTime : CacheData<?>
├ Dimension : CacheData<?>
├ EnderItems : CacheData<?>
├ enteredNetherPosition : CacheData<?>
├ FallDistance : CacheData<?>
├ FallFlying : CacheData<?>
├ Fire : CacheData<?>
├ foodExhaustionLevel : CacheData<?>
├ foodLevel : CacheData<?>
├ foodSaturationLevel : CacheData<?>
├ foodTickTimer : CacheData<?>
├ Glowing : CacheData<?>
├ Health : CacheData<?>
├ HurtTime : CacheData<?>
├ id : CacheData<?>
├ Inventory : CacheData<?>
├ Invulnerable : CacheData<?>
├ Motion : CacheData<?>
├ NoAI : CacheData<?>
├ NoGravity : CacheData<?>
├ OnGround : CacheData<?>
├ Passengers : CacheData<?>
├ playerGameType : CacheData<?>
├ PortalCooldown : CacheData<?>
├ Pos : CacheData<?>
├ previousPlayerGameType : CacheData<?>
├ recipeBook : CacheData<?>
├ RootVehicle : CacheData<?>
├ Rotation : CacheData<?>
├ Score : CacheData<?>
├ seenCredits : CacheData<?>
├ SelectedItem : CacheData<?>
├ SelectedItemSlot : CacheData<?>
├ ShoulderEntityLeft : CacheData<?>
├ ShoulderEntityRight : CacheData<?>
├ Silent : CacheData<?>
├ SleepingX : CacheData<?>
├ SleepingY : CacheData<?>
├ SleepingZ : CacheData<?>
├ SleepTimer : CacheData<?>
├ SpawnForced : CacheData<?>
├ SpawnX : CacheData<?>
├ SpawnY : CacheData<?>
├ SpawnZ : CacheData<?>
├ Tags : CacheData<?>
├ Team : CacheData<?>
├ UUID : CacheData<?>
├ XpLevel : CacheData<?>
├ XpP : CacheData<?>
├ XpSeed : CacheData<?>
└ XpTotal : CacheData<?>
root : Modifier
├ UUID : int[]@4
├ Amount : double
└ Operation : string('add' | 'multiply_base' | 'multiply')
root : CacheData<T>
├ Time : int
└ Data : T
root
└ MobData : Compound
└ Modifiers : Compound
├ Attack : Compound
│ ├ Base : double
│ ├ Physical : double
│ ├ Magic : double
│ ├ None : double
│ ├ Fire : double
│ ├ Water : double
│ └ Thunder : double
│
├ Defense : Compound
│ ├ Base : double
│ ├ Physical : double
│ ├ Magic : double
│ ├ None : double
│ ├ Fire : double
│ ├ Water : double
│ └ Thunder : double
│
└ Modifier : Compound
├ Attack : Compound
│ ├ Base : Modifier[]
│ ├ Physical : Modifier[]
│ ├ Magic : Modifier[]
│ ├ None : Modifier[]
│ ├ Fire : Modifier[]
│ ├ Water : Modifier[]
│ └ Thunder : Modifier[]
│
└ Defense : Compound
├ Base : Modifier[]
├ Physical : Modifier[]
├ Magic : Modifier[]
├ None : Modifier[]
├ Fire : Modifier[]
├ Water : Modifier[]
└ Thunder : Modifier[]
Write In Progress...
Write In Progress...
Write In Progress...
root
└ TeleporterData : Compound
└ GroupID? : Boolean
note:
- ここでは通称として EntityStorage と呼んでいるが、正式名称は OhMyDat である。