msw-defaultplayer

Inspect and patch DefaultPlayer model files to configure player components, movement, HP, and camera in MapleStory Worlds.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/yoongang02/MapleFist --skill msw-defaultplayer-yoongang02
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: msw-defaultplayer
Source: https://github.com/yoongang02/MapleFist/tree/main/.agents/skills/msw-defaultplayer
Command: npx skills add https://github.com/yoongang02/MapleFist --skill msw-defaultplayer-yoongang02

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Configuring the player character in MapleStory Worlds requires editing two interlinked .model files (Player.model and DefaultPlayer.model) with a non-obvious Values structure, where mistakes like editing only the alias entry for speed or jump force are silently overwritten. This Skill guides inspection and patching of DefaultPlayer through the ModelBuilder API so component and property changes apply correctly. ## Core Features & Use Cases - Model inspection and patching: Read and modify DefaultPlayer.model and Player.model through the msw-general ModelBuilder instead of error-prone raw JSON edits. - Component management: Add or remove native and script components (e.g. script.MyCustomComponent, SpriteRendererComponent) with correct Maker Refresh and .codeblock registration steps. - Movement, HP, and camera tuning: Set movement speed, jump force, gravity, max HP, and camera dead zone / soft zone / damping with the correct alias-plus-native value pairs. - Use Case: You want a faster player with 2000 HP and a custom attack script. The Skill walks you through writing the .mlua under RootDesk/MyDesk, refreshing Maker, adding the script component, and setting both the alias and native Values entries so the changes actually take effect. ## Quick Start Ask the AI to use the msw-defaultplayer skill to set the DefaultPlayer movement speed to 2.0 and max HP to 2000 in the MapleStory Worlds workspace.

Frequently Asked Questions about msw-defaultplayer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I change player movement speed in MapleStory Worlds?

Load ./Global/DefaultPlayer.model with ModelBuilder.read() and set both the alias entry speed (TargetType null) and the native entry InputSpeed (TargetType MOD.Core.MovementComponent) to the same value. Editing only the alias is silently overwritten by the later native entry at spawn.

How do I add a custom script component to DefaultPlayer?

Write the .mlua script under ./RootDesk/MyDesk/, run Maker Refresh so the .codeblock metadata is generated, then add "script.<ScriptName>" with ModelBuilder's component() on DefaultPlayer.model. Without the refresh, the script component is silently dropped at load time.

Why does my jump force change not apply to the player?

DefaultPlayer.model contains both a jumpForce alias entry and a native JumpForce entry on MovementComponent, and the native entry appears later in the Values array so it wins. Edit both entries consistently, or edit only the native JumpForce value.

How do I trigger an attack or hit pose on the player avatar?

Call StateComponent:ChangeState with an UPPERCASE key such as "ATTACK" or "HIT" instead of writing AvatarBodyActionSelectorComponent.ActionState directly. Direct selector writes are overwritten the next frame by the running state machine on DefaultPlayer-shaped entities.

Can I hide the DefaultPlayer avatar and use a sprite instead?

Yes. Set Enable=false on AvatarRendererComponent, AvatarStateAnimationComponent, and CostumeManagerComponent via ModelBuilder values, then add SpriteRendererComponent and set its SpriteRUID. Base components inherited from Player.model cannot be deleted, only disabled.

What is the difference between Player.model and DefaultPlayer.model?

Player.model in ./Global/ is the base model defining the full native component list and property links, while DefaultPlayer.model inherits from it and holds only added script components and overridden Values. Property changes go in DefaultPlayer.model; removing base components requires patching Player.model and is not recommended.