:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/PCKPacker.xml. .. _class_PCKPacker: PCKPacker ========= **Inherits:** :ref:`RefCounted` **<** :ref:`Object` Creates packages that can be loaded into a running project. .. rst-class:: classref-introduction-group Description ----------- The **PCKPacker** is used to create packages that can be loaded into a running project using :ref:`ProjectSettings.load_resource_pack()`. .. tabs:: .. code-tab:: gdscript var packer = PCKPacker.new() packer.pck_start("test.pck") packer.add_file("res://text.txt", "text.txt") packer.flush() .. code-tab:: csharp var packer = new PckPacker(); packer.PckStart("test.pck"); packer.AddFile("res://text.txt", "text.txt"); packer.Flush(); The above **PCKPacker** creates package ``test.pck``, then adds a file named ``text.txt`` at the root of the package. \ **Note:** PCK is Godot's own pack file format. To create ZIP archives that can be read by any program, use :ref:`ZIPPacker` instead. .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`add_file`\ (\ target_path\: :ref:`String`, source_path\: :ref:`String`, encrypt\: :ref:`bool` = false\ ) | +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`add_file_removal`\ (\ target_path\: :ref:`String`\ ) | +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`flush`\ (\ verbose\: :ref:`bool` = false\ ) | +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`pck_start`\ (\ pck_path\: :ref:`String`, alignment\: :ref:`int` = 32, key\: :ref:`String` = "0000000000000000000000000000000000000000000000000000000000000000", encrypt_directory\: :ref:`bool` = false\ ) | +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_PCKPacker_method_add_file: .. rst-class:: classref-method :ref:`Error` **add_file**\ (\ target_path\: :ref:`String`, source_path\: :ref:`String`, encrypt\: :ref:`bool` = false\ ) :ref:`🔗` Adds the ``source_path`` file to the current PCK package at the ``target_path`` internal path. The ``res://`` prefix for ``target_path`` is optional and stripped internally. File content is immediately written to the PCK. .. rst-class:: classref-item-separator ---- .. _class_PCKPacker_method_add_file_removal: .. rst-class:: classref-method :ref:`Error` **add_file_removal**\ (\ target_path\: :ref:`String`\ ) :ref:`🔗` Registers a file removal of the ``target_path`` internal path to the PCK. This is mainly used for patches. If the file at this path has been loaded from a previous PCK, it will be removed. The ``res://`` prefix for ``target_path`` is optional and stripped internally. .. rst-class:: classref-item-separator ---- .. _class_PCKPacker_method_flush: .. rst-class:: classref-method :ref:`Error` **flush**\ (\ verbose\: :ref:`bool` = false\ ) :ref:`🔗` Writes the file directory and closes the PCK. If ``verbose`` is ``true``, a list of files added will be printed to the console for easier debugging. \ **Note:** **PCKPacker** will automatically flush when it's freed, which happens when it goes out of scope or when it gets assigned with ``null``. In C# the reference must be disposed after use, either with the ``using`` statement or by calling the ``Dispose`` method directly. .. rst-class:: classref-item-separator ---- .. _class_PCKPacker_method_pck_start: .. rst-class:: classref-method :ref:`Error` **pck_start**\ (\ pck_path\: :ref:`String`, alignment\: :ref:`int` = 32, key\: :ref:`String` = "0000000000000000000000000000000000000000000000000000000000000000", encrypt_directory\: :ref:`bool` = false\ ) :ref:`🔗` Creates a new PCK file at the file path ``pck_path``. The ``.pck`` file extension isn't added automatically, so it should be part of ``pck_path`` (even though it's not required). .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`