Utilization of Packages

# Course Introduction

MapleStory Worlds provides a package function through which model, script components, and Workspace data sets can be distributed and shared externally as a file. You will learn how to export an entry from Workspace as a package file or import a package file into the World.

# About Package

Packages are files that bundled certain entries. You can share a portion of the created world with others or use packages shared by others in your world through package files. You can view the folder structure and heirarchy structure from the share and load package window.

  * Folder Structure: Shows entries sorted according to the Workspace structure.
  * Hierarchy Structure: Shows entries according to type.



[{"index":"Folder","0":"[png](17271629209637ae72caa69ec40dd93fe2106ba2fdfa7)"},{"index":"Hierarchy","0":"[png](172716296091145b02203ddb7478a876b6a32fc498978)"}]

# Export Package

  1. In Workspace - MyDesk, select the entries to export as a package.
  2. Click Export To Package in the context menu to open the Export window. [png](1710308131839b0ccc1f6757d4c8497b97b6558157c70)
  3. After selecting the entries, click the [Export] button at the bottom. Change the name if necessary, and click the [Save] button. [png](17271631294426b9c5d722e0a4858a4d87302041183ad)



# Rules for Exporting

#### Resource Exporting

To include resource entries like images and sound in the package, first you must save the World. Resources included in resource entries are uploaded to the server when the world is saved, and only resource entries uploaded to the server work properly as a package. This is because RUIDs are saved to resource entries, and when the package is imported from other worlds, RUIDs are used to import the resources saved to the server.

#### Entry Inheritance Relationship

If you export entries in a parent-child relationship as a package, the parent-child relationship is maintained. If you select only the expanded entries and export them as a package, the parent entries are automatically included in the package. For example, imagine that you created a Model_EmptyEntity_child that extends its parent Model_EmptyEntity. If you select only the Model_EmptyEntity_child and export it as a package, its parent is included too.

[png](1711441490696cf0346c49cc348d7abd73a5fff97de99)

#### Limitations with Native Entries

The native scripts and native models provided by MapleStory Worlds cannot be exported as a package. Also, if you add a new component to the native model itself and extend that native model, it cannot be exported as a package. This is because not all information can be imported when the package is imported. For example, imagine that you added ComponentA in the native model and created its extended model. This extended model will inherit ComponentA. When ModelB is imported from another World, it cannot be exported as a package, since the new World does not have a native model that contains ComponentA and ModelB may be added differently from the creator's intention.

[png](1711520919542cc7ecbdb36ed4388a710eccb0248ac79)

Expanded native entries can be exported as packages. Expanded entries have native entry information, so they automatically look for native models to inherit in new Worlds.

[png](17115264454698f2775b2d21349e2adf74871b0d2cda5)

If you want to add new functions to a model that inherits from a native model and turn it into a package, we recommend adding a component to the extended model or placing them in the native model scene, editing them, and then creating them as Create Model From Entity and using them that way.

[png](171152096321699e779d3b6e14078be21089b366ed7f3)

# Import Packages

  1. Select Import Package, then select the package to import. There are two ways to import a package.

     * Click Create - Import Package and select the package you want to import.
     * Click Workspace - Import From - Import Package and select the package you want to import.
  2. Select the entry you want to import and click the [Import] button. [png](176164724148389e267f1087f479291a389c266bfb9a0)

> Tip When you import a package, the World automatically saves its previous state. You can see the automatically saved Worlds in File - Rivisions. [png](17290697579923fd444be363345a8afa0da8586ead6b1)




# Rules Related to Importing

When importing a package into your World, icons will appear based on changes to entries. Entry contents of the existing World may change, so check the package's entry status before importing the package.

[{"Icon":"[png](17049520316499abe1ca8a9944aafa17e610f838fd71c)","Description":"The entry does not contain changes from the existing World content."},{"Icon":"[png](170495172860025bc9882ab1844618b4839224af7afb5)","Description":"Content is different in this entry. Content will be overwritten upon import."},{"Icon":"[png](1704952016010a8122bcebacc4831a18be2b30c2f6e21)","Description":"The entry contains different paths from the current World. The current World's paths will be kept."},{"Icon":"[png](1704951745392fd9a4eef1a2a44beb5a7e7f811782655)","Description":"The name of the entry has been changed. The existing entry name will be changed upon import."},{"Icon":"[png](17049517636351f8489cf0bdc424a8066cf85f6207987)","Description":"The names of the entry are the same, but it may be a different type or created by a different creator, resulting in different content. The entry can't be imported."},{"Icon":"[png](170495199953619842ee2757d465faee85fa3e285b1c3)","Description":"The IDs of the entry are the same, but it may be a different type or created by a different creator, resulting in different content. The entry can't be imported."}]