MMOCore
Overview
MMOCore connects the MMOCore RPG plugin to TypeWriter. It exposes a player's MMOCore profile (class, level, points, stats, professions, skills, skill tree, waypoints, party and guild) as TypeWriter facts and variables, so your dialogues, quests and audiences can react to it.
It also adds quest objectives that follow MMOCore events (profession experience, profession level, skill casts), actions that drive the waypoint system and profession experience, and two group entries so a party or a guild can share quest progress.
Most entries only read data. Nothing is stored by the extension itself: every value comes live from MMOCore when TypeWriter asks for it.
Features
- Profile facts — read level, experience, points, health, mana, stamina and stellium with a single selectable value.
- Class and profession facts — check the current class, the class level and the level or experience of any profession.
- Skill facts — read the level of a class skill, whether it is unlocked, and whether a skill slot is bound.
- Skill tree facts — read the level of a skill tree node, or check that it is unlocked or maxed.
- Waypoints — unlock, lock or warp a player to an MMOCore waypoint, and check if one is unlocked.
- Quest objectives — profession experience, profession level and skill cast objectives for TypeWriter quests.
- Party and guild — member counts as facts, guild name, tag, id, owner and members as variables.
- Groups — share TypeWriter facts across an MMOCore party or guild.
- List variables — unlocked skills, unlocked nodes, waypoints, bound skills, friends and the active casting chain.
Installation
- Install MMOCore and its library MythicLib on the server.
- Make sure the official TypeWriter Quest extension is installed. The three objectives require it.
- Obtain the extension from the stores (see the buttons in the summary panel above) and put the JAR in
plugins/Typewriter/extensions/. - Restart the server. On startup the console prints
[MMOCoreExtension] MMOCoreExtension enhancements initialized successfully.
Getting started
Make a quest step that completes when the player reaches level 10 in the mining profession, then unlocks a waypoint:
- In the TypeWriter web panel, open a sequence page and add an Unlock Waypoint action. Set
waypointIdto the MMOCore waypoint id, for examplespawn_town. - Open (or create) a static page with your quest, and add a Profession Level Objective.
- Fill
questwith your quest entry,displaywith the text shown in the quest tracker,professionwith the profession id (for examplemining) andlevelwith10. - Set
onCompleteto the Unlock Waypoint action from step 1. - Publish. When a player with the quest active reaches the level, the waypoint is unlocked.
To use the player's class in a dialogue condition, add a Class Fact with classId set to the MMOCore class id. It reads 1 when the player has that class, 0 otherwise, so you can use it in a criterion with value set to 1.
Leave profession empty on Profession Level Objective or on Add Profession Experience to target the main class level and experience instead of a profession.
How it works
Facts and variables are read on demand. Objectives listen to MMOCore events (experience gain, level up, skill cast) and only count for players who match the objective's criteria and have the quest active. The experience and skill cast objectives store their progress in the fact you link, which must be a persistent (cachable) fact such as a permanent or session fact.
Placeholders
The waypointId field of the waypoint actions accepts PlaceholderAPI placeholders. They are resolved for the player before the waypoint is looked up.
| Field | Accepts |
|---|---|
waypointId of Unlock Waypoint, Lock Waypoint and Warp Waypoint | A waypoint id, or a placeholder returning one. |
Entries
38 entries, generated from the extension source.
Actions5
- Add Profession ExperienceAdd experience to a MMOCore profession
- Mmocore Leave Skill CastingForce the player to exit MMOCore's casting mode
- Mmocore Lock WaypointRemove access to a MMOCore waypoint
- Mmocore Unlock WaypointUnlock a MMOCore waypoint for the player
- Mmocore Warp WaypointWarp the player to a MMOCore waypoint using stellium
Objectives3
- Mmocore Profession Exp ObjectiveGain MMOCore profession experience
- Mmocore Skill Cast ObjectiveCast specific MMOCore skills
- Profession Level ObjectiveReach a certain MMOCore profession level
Facts15
- Class Level FactPlayer's MMOCore class level
- Guild Members FactNumber of members in the player's guild
- Guild Online Members FactNumber of online members in the player's guild
- Mmocore Attribute Value FactNumber of points invested in a specific MMOCore attribute
- Mmocore Class FactCheck the player's current MMOCore class
- Mmocore Player Boolean FactExpose boolean values from a player's MMOCore profile
- Mmocore Player Number FactExpose various numeric values from a player's MMOCore profile
- Mmocore Profession FactRetrieve information about a MMOCore profession
- Mmocore Skill FactRead state about a specific MMOCore class skill
- Mmocore Skill Slot Bound FactCheck whether a MMOCore skill slot currently holds a skill
- Mmocore Skill Tree Node FactInspect a specific MMOCore skill tree node
- Mmocore Stat Value FactExpose MMOCore stat values, either total or base
- Mmocore Waypoint Unlocked FactCheck if the player unlocked a specific MMOCore waypoint
- Party Members FactNumber of members in the player's party
- Profession Level FactPlayer's level in a MMOCore profession
Variables13
- Mmocore Active Casting Skills VariableReturns the list of skill identifiers available in the current casting chain
- Mmocore Bound Skill VariableReturns the skill identifier bound to a specific MMOCore slot
- Mmocore Friends List VariableReturns the UUIDs of the player's MMOCore friends
- Mmocore Guild ID VariableReturns the identifier of the player's MMOCore guild if any
- Mmocore Guild Members VariableReturns the UUIDs of the members in the player's MMOCore guild
- Mmocore Guild Name VariableReturns the name of the player's MMOCore guild if any
- Mmocore Guild Owner VariableReturns the owner UUID of the player's MMOCore guild if any
- Mmocore Guild Tag VariableReturns the tag of the player's MMOCore guild if any
- Mmocore Player Class VariableReturns the identifier of the player's current MMOCore class
- Mmocore Unlocked Nodes VariableReturns every skill tree node identifier the player has unlocked
- Mmocore Unlocked Skills VariableLists the MMOCore skills unlocked for the player's current class
- Mmocore Waypoints VariableLists every waypoint identifier unlocked by the player
- Player Class VariablePlayer's MMOCore class name
Groups2
- Guild GroupGroup for the whole guild
- Party GroupGroup for the whole party
Troubleshooting
The extension does not load. MMOCore and MythicLib must be installed and enabled, and the TypeWriter Quest extension must be present. Check the console at startup for the first error.
A fact always reads 0. The player has no MMOCore profile (for example a Citizens NPC), or the id is wrong. classId, professionId, skillId, fullId and waypointId must match the MMOCore configuration. Class Fact ignores case for classId; the other ids are passed to MMOCore as written.
Nothing happens when an action runs. Waypoint actions log a warning such as Attempted to unlock unknown waypoint '...' for <player> when the id does not exist in MMOCore. Check the id in the MMOCore waypoint configuration. Add Profession Experience silently does nothing when the profession id is unknown.
The experience or skill cast objective never advances. Link a persistent fact in fact, make sure the quest in quest is active for the player and that the player matches criteria. For the skill cast objective, skillIds takes MMOCore skill handler ids, and requireSuccess ignores casts that failed.
A profession objective counts every profession. On Profession Exp Objective, an empty profession accepts experience from any profession. Fill it to track one profession.
Warp has no effect or costs too much. Warp Waypoint uses MMOCore's own warp with stelliumCost. The cost is handled by MMOCore, so the player needs enough stellium and the waypoint rules apply.
Related extensions
- MMOItems — the companion integration for MMOItems items and crafting.