-
Notifications
You must be signed in to change notification settings - Fork 6
StorageStructure
Ella-AWS edited this page May 16, 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 (プレイヤーの時は null)
From?: int,
/// 攻撃対象の MobUUID 配列
To: [int],
/// 各対象に与えるダメージ
Amounts: [double],
/// Amounts の最大値 (foreach で自動計算)
Amount: double,
/// "vanilla_melee" | "vanilla_projectile" | "vanilla_explosion"
Type: string,
/// 継続ダメージ判定 (詳細は神器の作り方の「IsDoT / IsHoT のルール」節参照)
IsDoT: boolean
}
compound DamageEvent {
/// 攻撃元の MobUUID (奈落・落下等は null)
From?: int,
/// "vanilla_melee" | "vanilla_drowning" | "vanilla_projectile" | "vanilla_explosion"
/// | "vanilla_fire" | "vanilla_freezing" | "vanilla_lightning" | "vanilla_other"
Type: string,
/// 受けたダメージ量
Amount: double,
/// シールド等でブロックしたか
Blocked: boolean,
IsDoT: boolean
}
compound HealEvent {
From: int,
To: [int],
Amounts: [double],
Amount: double,
IsHoT: boolean
}
compound ReceiveHealEvent {
From?: int,
Amount: double,
IsHoT: boolean
}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 である。