msw-git/msw-ai-coding-plugins-official1 file

Msw Defaultplayer

MSW DefaultPlayer (character) management. Use the msw-general ModelBuilder to inspect/patch DefaultPlayer.model and Player.model, add/remove components, configure movement speed / jump force / HP / camera, and per-map-mode movement components. Use for DefaultPlayer model, player components, movement speed, jump force, HP, camera, physics. Keywords: player, DefaultPlayer, speed, jump, HP, camera, gravity, revive, respawn, character.

Specification
Skill ID
msw-git/msw-ai-coding-plugins-official/msw-defaultplayer
Publisher
msw-git
Repository
msw-ai-coding-plugins-official
Installs
0
Files
1
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

msw-git/msw-ai-coding-plugins-official/msw-defaultplayerInstalls these files
  • SKILL.md

What this skill tells the agent

MSW DefaultPlayer

Use the msw-general ModelBuilder to inspect/patch the DefaultPlayer model file, manage components, and configure movement / physics / HP / camera.

For costume / avatar equipment, see the msw-avatar skill. Costumes apply not only to DefaultPlayer but to any entity, so they live in a separate skill.

DefaultPlayer overview

What is DefaultPlayer?

The player character model provided by default in the MapleStory Worlds Maker workspace.

  • When any user enters a world, a player entity is created based on this model.
  • The model ID to use is specified by the PlayerUri property of DefaultUserEnterLeaveLogic.

File location and structure

DefaultPlayer is made up of two .model files:

FilePathRole
Player.model./Global/Player.modelBase model. Defines the Components list and Properties links
DefaultPlayer.model./Global/DefaultPlayer.modelInherits Player (BaseModelId: "player"). Overrides Values
Important: both files are located in ./Global/. Custom script files are created under ./RootDesk/MyDesk/.

DefaultPlayer is patched through ModelBuilder

DefaultPlayer is managed through the sibling msw-general/scripts/model/msw_model_builder.cjs, not raw JSON edits.

  • Change a property value: ModelBuilder.read("./Global/DefaultPlayer.model").value(...)
  • Add/remove a component: component() / removeComponent()
  • Check the base component list: ModelBuilder.snapshot("./Global/Player.model")

File structure detail

Player.model (base)

Path: ./Global/Player.model
EntryKey: model://player
  • Components: the full list of default components on the player (MOD.Core.* native components)
  • Properties: model property → component property link definitions (properties editable from the inspector)
  • Values: empty (defaults are provided by the engine)

DefaultPlayer.model (override)

Path: ./Global/DefaultPlayer.model
EntryKey: model://defaultplayer
BaseModelId: "player"
  • Components: only the components added on DefaultPlayer (e.g. script.PlayerHit, script.PlayerAttack)
  • Values: the array of overridden setting values

DefaultPlayer default component list

Native components inherited from Player.model:

ComponentRole
TransformComponentPosition, rotation, scale
MovementComponentMovement speed and jump force control
RigidbodyComponentPhysics (gravity, footholds), MapleStory-style movement
KinematicbodyComponentUp/down/left/right movement on a RectTileMap
SideviewbodyComponentSide-scrolling movement on a SideViewRectTileMap
StateComponentState machine (Walk, Jump, Dead, etc.)
AvatarRendererComponentAvatar rendering, color, emotion
AvatarStateAnimationComponentState → avatar animation mapping
CostumeManagerComponentEquipment / costume management → see the `msw-avatar` skill for details
CameraComponentCamera tracking settings
PlayerControllerComponentInput-to-action mapping, condition handling
PlayerComponentHP, death/revive, PVP, map travel
ChatBalloonComponentChat balloon
NameTagComponentName tag
DamageSkinSettingComponentDamage skin
DamageSkinSpawnerComponentDamage skin spawn
HitEffectSpawnerComponentHit effect spawn
TriggerComponentCollision detection
InventoryComponentInventory

Script components added in DefaultPlayer.model:

ComponentRole
script.PlayerHitPlayer hit-handling logic
script.PlayerAttackPlayer attack logic

Quick reference — key components

ComponentRoleKey properties / methods
PlayerComponentHP, death/revive, PVP, map travelHp, MaxHp, PVPMode, RespawnDuration, RespawnPosition, UserId, IsDead(), ProcessDead(), ProcessRevive(), MoveToMapPosition()
PlayerControllerComponentInput → action mapping, conditional controlSetActionKey(key, actionName), ActionAttack(), ActionJump(), LookDirectionX
MovementComponentHigh-level movement speed / jump interfaceInputSpeed (default 1.0), JumpForce (default 1), Jump(), Stop()
RigidbodyComponentMaple side-view physics (gravity / footholds)Gravity, WalkAcceleration, WalkSpeed, AddForce(), IsOnGround()
KinematicbodyComponentTop-view up/down/left/right movement on RectTile(RectTile map-mode only)
SideviewbodyComponentSide-view on SideViewRectTile(SideViewRectTile map-mode only)
AvatarRendererComponentAvatar rendering / color / emotionSetColor(), SetAlpha(), PlayEmotion(), PlayRate
StateComponentState machine (Walk/Jump/Dead)CurrentStateName, ChangeState(), DeadEvent/ReviveEvent
NameTagComponentName tagName, FontSize, FontColor, NameTagRUID
ChatBalloonComponentChat balloonMessage, ChatModeEnabled, ShowDuration
CameraComponentCamera trackingDeadZone, SoftZone, Damping, ScreenOffset
TriggerComponentCollision detectionBoxSize, Offset, CollisionGroup

DefaultPlayer Values structure

Format of each entry in the Values array of DefaultPlayer.model:

{
  "TargetType": "<component name> or null",
  "Name": "<property name>",
  "ValueType": {
    "$type": "MODNativeType",
    "type": "<type info>"
  },
  "Value": <value>
}

TargetType rules

  • null: a model property defined in Player.model's Properties (linked through Properties to the actual component property)
  • "MOD.Core.<ComponentName>": directly override a property on a specific native component
  • "script.<ScriptName>": a property of a custom script component

Model properties (TargetType: null)

Mapped to actual component properties through the links defined in Player.model's Properties.

Model property nameSource component.propertyDescriptionDefault
speedMovementComponent.InputSpeedMovement speed1.0
jumpForceMovementComponent.JumpForceJump height1.0
walkAccelerationRigidbodyComponent.WalkAccelerationAcceleration / deceleration1.0
gravityRigidbodyComponent.GravityGravity1.0
cameraDeadZoneCameraComponent.DeadZoneCamera dead zone{x: 0.052, y: 0.08}
cameraSoftZoneCameraComponent.SoftZoneCamera soft zone{x: 0.268, y: 0.7}
cameraDampingCameraComponent.DampingCamera smooth-follow{x: 2.5, y: 3.9}
cameraScreenCameraComponent.ScreenOffsetDead-zone center point{x: 0.5, y: 0.655}
cameraDutchCameraComponent.DutchAngleCamera rotation0.0
cameraOffsetCameraComponent.CameraOffsetCamera position offset{x: 0.0, y: 0.0}
messageChatBalloonComponent.MessageChat balloon message""
chatModeEnabledChatBalloonComponent.ChatModeEnabledWhether chat is processed (e.g. balloon shown)true
nameTagNameTagComponent.NameName tag""
damageSkinIdDamageSkinSettingComponent.DamageSkinIdDamage skin typeDataRef
damageDelayPerAttackDamageSkinSettingComponent.DelayPerAttackDamage delay0.05
triggerBodyBoxSizeTriggerComponent.BoxSizeCollision detection area size{x: 0.66, y: 0.7}
triggerBodyBoxOffsetTriggerComponent.BoxOffsetCollision detection area offset{x: 0.0, y: 0.35}
triggerBodyColliderOffsetTriggerComponent.ColliderOffsetCollider offset{x: 0.0, y: 0.35}
maxHpPlayerComponent.MaxHpMax HP1000

Direct component override (TargetType: specific component)

More from msw-git

Use this skill in a project

Open any RiverX project, search the Skills panel for msw-git/msw-ai-coding-plugins-official/msw-defaultplayer, and install it in one click.

Use this skill