Show / Hide Table of Contents

# Struct MJIManager

Manager struct (?) for Island Sanctuary (internally MJI).

##### Inherited Members

System.ValueType.Equals(System.Object)
System.ValueType.GetHashCode()
System.ValueType.ToString()
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)

###### Namespace: FFXIVClientStructs.FFXIV.Client.Game.MJI

###### Assembly: FFXIVClientStructs.dll

##### Syntax

    public struct MJIManager

### Fields

| Improve this Doc View Source

#### AllowedVisitors

Represents the currently allowed visitors to the Island Sanctuary.

##### Declaration

    public MJIAllowedVisitors AllowedVisitors

##### Field Value

Type | Description
--- | ---
MJIAllowedVisitors |

| Improve this Doc View Source

#### BuildingPlacements

A struct representing building placements on the Island Sanctuary. Each index represents a specific building slot directly. Refer to MJIBuildingPlacement for more information.

##### Declaration

    public byte *BuildingPlacements

##### Field Value

Type | Description
--- | ---
System.Byte* |

##### Remarks

This field's exact purpose is currently unknown, but seems to be related to either mapping or rendering logic. To that end, this field doesn't actually seem authoritative for determining what's going on - see Granaries and Workshops for what seems to be used by system logic.

| Improve this Doc View Source

#### CabinPlacement

A struct representing information about the cabin.

##### Declaration

    public MJIBuildingPlacement CabinPlacement

##### Field Value

Type | Description
--- | ---
MJIBuildingPlacement |

##### Remarks

Like `MJIBuildingPlacements`, the purpose of this field is unknown but it at least appears to behave like any other building placement.

| Improve this Doc View Source

#### CraftworksRestDays

An array containing the currently-configured rest days for the Isleworks. Contains values 0 - 13, and is always in order.

##### Declaration

    public byte *CraftworksRestDays

##### Field Value

Type | Description
--- | ---
System.Byte* |

##### Remarks

Like CurrentCycleDay, 0 represents Reset Day. 7, likewise, represents the next reset. This field may not be populated until the Craftworks have been opened at least once.

| Improve this Doc View Source

#### CurrentCycleDay

The current day in the Craftworks cycle, from 0 to 6.

##### Declaration

    public byte CurrentCycleDay

##### Field Value

Type | Description
--- | ---
System.Byte |

##### Remarks

0 represents reset day (Tuesday).

| Improve this Doc View Source

#### CurrentGroove

The current groove level of the Isleworks.

##### Declaration

    public uint CurrentGroove

##### Field Value

Type | Description
--- | ---
System.UInt32 |

##### Remarks

May not be present until the Isleworks is loaded at least once by the player.

| Improve this Doc View Source

#### CurrentMode

The current mode (as listed in MJIHudMode) that the player is in.

##### Declaration

    public uint CurrentMode

##### Field Value

Type | Description
--- | ---
System.UInt32 |

| Improve this Doc View Source

#### CurrentModeItem

The currently-selected item for the player's gathering mode. Will only have a value if the gathering mode in question supports item usage.

##### Declaration

    public uint CurrentModeItem

##### Field Value

Type | Description
--- | ---
System.UInt32 |

| Improve this Doc View Source

#### CurrentPopularity

A reference to the current set of popularity scores given to craftworks on the player's island. The actual popularity scores can be pulled from the MJICraftworksPopularity sheet using this value as a Row ID.

##### Declaration

    public byte CurrentPopularity

##### Field Value

Type | Description
--- | ---
System.Byte |

| Improve this Doc View Source

#### FarmPlacements

A struct representing farm (garden/cropland) placements on the current Island Sanctuary.

##### Declaration

    public byte *FarmPlacements

##### Field Value

Type | Description
--- | ---
System.Byte* |

| Improve this Doc View Source

#### FarmState

##### Declaration

    public MJIFarmState*FarmState

##### Field Value

Type | Description
--- | ---
MJIFarmState* |

| Improve this Doc View Source

#### IslandState

##### Declaration

    public IslandState IslandState

##### Field Value

Type | Description
--- | ---
IslandState |

| Improve this Doc View Source

#### IsPlayerInSanctuary

Reports if the player is currently on the Island Sanctuary.

##### Declaration

    public byte IsPlayerInSanctuary

##### Field Value

Type | Description
--- | ---
System.Byte |

| Improve this Doc View Source

#### LandmarkPlacements

A struct representing landmark placements on the Island Sanctuary. Each index represents a specific landmark slot directly. Refer to MJILandmarkPlacement for more information.

##### Declaration

    public byte *LandmarkPlacements

##### Field Value

Type | Description
--- | ---
System.Byte* |

##### Remarks

This field's exact purpose is currently unknown, but seems to be related to either mapping or rendering logic. To that end, this field doesn't actually seem authoritative for determining what's going on - see LandmarkIds et al for what seems to be used by system logic.

| Improve this Doc View Source

#### NextPopularity

A reference to the next cycle's popularity scores (called "predicted demand" in-game). Follows the same rules as CurrentPopularity.

##### Declaration

    public byte NextPopularity

##### Field Value

Type | Description
--- | ---
System.Byte |

| Improve this Doc View Source

#### PastureHandler

##### Declaration

    public MJIPastureHandler*PastureHandler

##### Field Value

Type | Description
--- | ---
MJIPastureHandler* |

| Improve this Doc View Source

#### PasturePlacements

A struct representing pasture placements on the current Island Sanctuary. Identical in behavior (hopefully) to that of FarmPlacements

##### Declaration

    public byte *PasturePlacements

##### Field Value

Type | Description
--- | ---
System.Byte* |

| Improve this Doc View Source

#### SupplyAndDemandShifts

An array of bytes representing the current supply and demand shift for each craftwork that the player can create. Information for a specific item can be retrieved by querying the RowID for the item under inspection.
The current supply value is stored in the upper half of each byte, while the current demand shift is stored in the lower half.

##### Declaration

    public byte *SupplyAndDemandShifts

##### Field Value

Type | Description
--- | ---
System.Byte* |

### Methods

| Improve this Doc View Source

#### GetDemandShiftForCraftwork(UInt32)

Return the Demand Shift value for a specified craftwork.

##### Declaration

    public CraftworkDemandShift GetDemandShiftForCraftwork(uint itemId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.UInt32 | itemId | The Craftwork ID to look up

##### Returns

Type | Description
--- | ---
CraftworkDemandShift | Returns an enum value.

| Improve this Doc View Source

#### GetFarmSlotCount()

##### Declaration

    public byte GetFarmSlotCount()

##### Returns

Type | Description
--- | ---
System.Byte |

| Improve this Doc View Source

#### GetPastureSlotCount()

##### Declaration

    public byte GetPastureSlotCount()

##### Returns

Type | Description
--- | ---
System.Byte |

| Improve this Doc View Source

#### GetSupplyForCraftwork(UInt32)

Return the Supply value for a specified craftwork.

##### Declaration

    public CraftworkSupply GetSupplyForCraftwork(uint itemId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.UInt32 | itemId | The Craftwork ID to look up

##### Returns

Type | Description
--- | ---
CraftworkSupply | Returns an enum value.

| Improve this Doc View Source

#### GetVisibleMinimapIcons()

##### Declaration

    public MJIMinimapIcons GetVisibleMinimapIcons()

##### Returns

Type | Description
--- | ---
MJIMinimapIcons |

| Improve this Doc View Source

#### Instance()

##### Declaration

    public static MJIManager*Instance()

##### Returns

Type | Description
--- | ---
MJIManager* |

| Improve this Doc View Source

#### IsFunctionLocked(Byte)

##### Declaration

    public bool IsFunctionLocked(byte functionId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Byte | functionId |

##### Returns

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### IsItemLocked(UInt32)

##### Declaration

    public bool IsItemLocked(uint itemId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.UInt32 | itemId |

##### Returns

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### IsKeyItemUnlocked(UInt16)

Check if a specific MJIKeyItem is unlocked by the player.

##### Declaration

    public bool IsKeyItemUnlocked(ushort keyItemId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.UInt16 | keyItemId | The RowID of the MJIKeyItem to check.

##### Returns

Type | Description
--- | ---
System.Boolean | Returns true if the key item is unlocked.

##### Remarks

This is manually implemented as the only place this key item check actually seems to exist in the code is (frustratingly) not within MJIManager. See

    E8 ?? ?? ?? ?? 84 C0 74 61 48 85 DB

for the reference(-ish) implementation used here.
| Improve this Doc View Source

#### IsPouchItemLocked(UInt16)

##### Declaration

    public bool IsPouchItemLocked(ushort itemId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.UInt16 | itemId |

##### Returns

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### IsRecipeUnlocked(UInt16)

##### Declaration

    public bool IsRecipeUnlocked(ushort recipeId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.UInt16 | recipeId |

##### Returns

Type | Description
--- | ---
System.Boolean |