Btcsky Island Event
Island Event
Composable island event definition. Event behavior is intentionally kept out of this entry. The event only describes when it may run and references the mechanics that compose it.
Fields
| Field | Type | Default | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
description | List<String> | empty | Description shown in event menusColorsMulti-line | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chancePerCheck | Double | 0.1 | Chance applied on each selection pass, from 0 to 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
weight | Int | 10 | Relative weight used after the event passes its chance check | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cooldownMinutes | Int | 0 | Cooldown between starts of this event on the same island and dimension | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
durationMinutes | Int | 10 | Duration of the event in minutes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
minimumPlayers | Int | 1 | Minimum number of players present in the dimension | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
conditions | List<Criteria> | empty | Facts that must all match before this event can be selected | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
requiredUpgradeId | String | — | Upgrade id required to unlock this event; empty means no upgrade required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
requiredUpgradeLevel | Int | 1 | Minimum level of the required upgrade | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
allowedDimensions | List<String> | empty | Dimension identifiers where this event is allowed; empty means every dimension | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
blockedDimensions | List<String> | empty | Dimension identifiers where this event is blocked | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rewards | List<IslandEventRewardConfig> | empty | Rewards granted when the event completes
|
| Field | Type | Default | Description |
|---|---|---|---|
currencyId | String | — | Currency identifier; empty means no currency reward |
currencyAmount | Double | 0.0 | Currency amount |
itemMaterial | Material | AIR | Vanilla material reward; AIR means no item reward |
itemAmount | Int | 0 | Number of items to grant |
onStartList<Ref<TriggerableEntry>>emptyonEndList<Ref<TriggerableEntry>>emptymechanicsList<Ref<IslandEventMechanicEntry>>emptyBetterModelImpactMechanicEntryBossMechanicEntryCoopBuffMechanicEntryEclipseMechanicEntryEventAmbienceMechanicEntryEventTriggerMechanicEntryIslandEventFlagMechanicEntryMeteorShowerMechanicEntryMobWaveMechanicEntryStormMechanicEntryTemporaryClientBlockMechanicEntryTemporaryMultiplierMechanicEntryTreasureRainMechanicEntryBetterModelImpactMechanicEntry (6)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
definition | Ref<BetterModelDefinition> | — | BetterModel definition to display |
verticalOffset | Double | 0.0 | Vertical offset from the event anchor |
animation | String | — | Optional animation started when the model appears |
animationSpeed | Double | 1.0 | Animation speed |
BossMechanicEntry (5)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
entityType | String | WITHER | Entity type name for the boss |
maxHealth | Double | 200.0 | Maximum health, when the entity exposes that attribute |
displayName | String | <red><bold>Island Event Boss</bold></red> | MiniMessage name shown above the boss |
CoopBuffMechanicEntry (4)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
minimumPlayers | Int | 2 | Minimum online players required |
multiplierPerAdditionalPlayer | Double | 0.25 | Reward multiplier added for each player after the first |
EclipseMechanicEntry (3)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
darknessAmplifier | Int | 0 | Potion effect amplifier for darkness |
EventAmbienceMechanicEntry (9)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
particles | List<String> | — | Particle names emitted at each pulse |
sound | String | — | Sound name played to viewers; empty disables sound |
intervalTicks | Long | 40 | Ticks between ambience pulses |
radius | Double | 8.0 | Horizontal radius around the event anchor |
particleCount | Int | 8 | Number of particles per configured particle type |
soundVolume | Float | 1.0 | Sound volume |
soundPitch | Float | 1.0 | Sound pitch |
EventTriggerMechanicEntry (4)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
onStart | List<Ref<TriggerableEntry>> | empty | Triggers fired when the mechanic starts |
onStop | List<Ref<TriggerableEntry>> | empty | Triggers fired when the mechanic stops |
IslandEventFlagMechanicEntry (3)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
effectId | String | — | Persisted event effect identifier, for example event:blood_moon |
MeteorShowerMechanicEntry (9)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
fallingBlock | Material | GOLD_ORE | Falling block material |
particles | List<String> | — | Particles displayed at each impact |
intervalTicks | Long | 40 | Ticks between impacts |
radius | Double | 20.0 | Horizontal radius around the event anchor |
height | Double | 50.0 | Height above the anchor where the falling block starts |
fallingBlockChance | Double | 0.2 | Chance of spawning a falling block on an impact |
particleCount | Int | 10 | Particle count |
MobWaveMechanicEntry (7)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
mobs | List<String> | — | Mob entity types |
countPerWave | Int | 5 | Mobs spawned per wave |
intervalTicks | Long | 100 | Ticks between waves |
maxActiveMobs | Int | 32 | Maximum live mobs owned by this mechanic |
radius | Double | 12.0 | Horizontal radius around the event anchor |
StormMechanicEntry (5)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
intervalTicks | Long | 100 | Ticks between lightning strikes |
radius | Double | 15.0 | Horizontal radius around the event anchor |
chargedCreeperChance | Double | 0.15 | Chance of a charged creeper per strike |
TemporaryClientBlockMechanicEntry (6)
| Field | Type | Default | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
requiredUpgradeId | String | — | — | ||||||||||||||||
requiredUpgradeLevel | Int | 1 | — | ||||||||||||||||
material | Material | GLOWSTONE | Material shown to viewers | ||||||||||||||||
positions | List<IslandEventBlockOffset> | — | Relative positions from the event anchor
|
| Field | Type | Default | Description |
|---|---|---|---|
x | Int | 0 | Relative X coordinate |
y | Int | 0 | Relative Y coordinate |
z | Int | 0 | Relative Z coordinate |
breakableBooleanfalsedropLootBooleanfalseTemporaryMultiplierMechanicEntry (4)
| Field | Type | Default | Description |
|---|---|---|---|
requiredUpgradeId | String | — | — |
requiredUpgradeLevel | Int | 1 | — |
multiplierType | String | XP | Multiplier domain: XP or DROP |
multiplier | Double | 1.5 | Direct multiplier; 1.5 means +50 percent |
TreasureRainMechanicEntry (7)
| Field | Type | Default | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
requiredUpgradeId | String | — | — | ||||||||||||||||
requiredUpgradeLevel | Int | 1 | — | ||||||||||||||||
drops | List<EventTreasureDrop> | — | Weighted items dropped per rain tick
|
| Field | Type | Default | Description |
|---|---|---|---|
material | Material | GOLD_NUGGET | Material to drop |
amount | Int | 1 | Amount before event loot upgrades |
weight | Int | 1 | Selection weight |
intervalTicksLong60dropsPerWaveInt3radiusDouble15.0heightDouble20.0Common TypeWriter fields (displayName)
| Field | Type | Default | Description |
|---|---|---|---|
displayName | String | — | Display name shown to playersColors |
How to use it
The event shell only decides when it can run. Build the behaviour with mechanic entries (Meteor Shower, Storm, Mob Wave…) and list them in mechanics, in order. Then add the event to events.events of a dimension template. chancePerCheck is the chance applied at each selection pass and weight picks one event among those that passed. requiredUpgradeId ties the event to an upgrade of the dimension. You can start one by hand with /typewriter island admin event <eventId>.